@import "https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@300;400;500;600&family=IBM+Plex+Mono:wght@300;400;500&display=swap";:root{color:#ece9e2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0b;font-family:Instrument Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{background:#0a0a0b;min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}:root{--bg:#0a0a0b;--surface:#121214;--surface-raised:#17181b;--ink:#ece9e2;--muted:#7c7972;--muted-dim:#55534e;--line:#232324;--line-strong:#34332f;--accent:#e0b573;--accent-ink:#16140d;--accent-dim:#e0b57324;--danger:#d9776a;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Instrument Sans,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.chat-shell{background:var(--bg);justify-content:center;width:100%;height:100dvh;padding:0;display:flex;overflow:hidden}.chat-card{background:var(--surface);border:none;border-top:1px solid var(--line-strong);width:min(640px,100%);min-width:0;height:100%;min-height:0;box-shadow:none;flex-direction:column;padding:0;display:flex;overflow:hidden}.chat-header{padding:max(20px, env(safe-area-inset-top)) 24px 16px;border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.85;margin:0 0 6px;font-family:IBM Plex Mono,monospace;font-size:.66rem;font-weight:400}.chat-header h1{letter-spacing:-.015em;color:var(--ink);margin:0;font-size:1.42rem;font-weight:500}.chat-header__meta{align-items:center;gap:16px;display:flex}.secure-badge,.room-badge,.chat-status{color:var(--muted);white-space:nowrap;background:0 0;border-radius:0;align-items:center;gap:6px;padding:0;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:400;display:inline-flex}.secure-badge:before,.room-badge:before,.chat-status:before{content:"";background:var(--muted-dim);border-radius:50%;flex-shrink:0;width:5px;height:5px}.secure-badge:before{background:var(--accent);box-shadow:0 0 6px 0 var(--accent-dim)}.setup-screen{min-height:0;padding:20px 24px max(20px, env(safe-area-inset-bottom));flex:1;align-content:start;gap:24px;display:grid;overflow-y:auto}.chat-screen{min-height:0;padding:10px 24px max(14px, env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:12px;display:flex}.setup-card{padding:0}.setup-copy{color:var(--muted);max-width:46ch;margin:0 0 28px;font-size:.94rem;line-height:1.65}.chat-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;display:grid}.chat-form-grid label{gap:9px;display:grid}.chat-form-grid .full-width{grid-column:1/-1}.chat-form-grid span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.7rem}input,textarea,button{font:inherit}input,textarea{border:none;border-bottom:1px solid var(--line-strong);width:100%;color:var(--ink);background:0 0;border-radius:0;outline:none;padding:9px 2px;transition:border-color .15s}input::placeholder,textarea::placeholder{color:var(--muted-dim)}input:focus,textarea:focus{border-bottom:1px solid var(--accent);box-shadow:none}input:focus-visible,textarea:focus-visible{outline:none}textarea{resize:vertical;border:1px solid var(--line);background:var(--surface-raised);border-radius:3px;min-height:76px;padding:12px 14px;line-height:1.55}textarea:focus{border-color:var(--accent);background:var(--surface-raised)}.chat-toolbar{flex-shrink:0;justify-content:flex-start;align-items:center;display:flex}.back-button{border:1px solid var(--line-strong);width:32px;height:32px;color:var(--muted);background:0 0;border-radius:50%;place-items:center;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:inline-grid}.back-button:hover{border-color:var(--accent);color:var(--ink);background:var(--accent-dim)}.back-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.back-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;width:16px;height:16px}.chat-actions{gap:12px;margin-top:4px;display:flex}button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:3px;padding:9px 20px;font-size:.88rem;font-weight:500;transition:opacity .12s,transform .12s}button:hover{opacity:.86}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.ghost{color:var(--ink);border:1px solid var(--line-strong);background:0 0}button.ghost:hover{background:var(--surface-raised);border-color:var(--muted);opacity:1}button:disabled{opacity:.28;cursor:not-allowed;transform:none}.status-text{color:var(--muted);flex-shrink:0;max-height:2.8em;margin:0;font-family:IBM Plex Mono,monospace;font-size:.74rem;line-height:1.4;overflow:hidden}.chat-list{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;min-height:0;padding:4px 0;display:flex;overflow:hidden auto}.chat-list::-webkit-scrollbar{width:0;height:0;display:none}.chat-message,.empty-state{border-bottom:1px solid var(--line);background:0 0;border-radius:0;min-width:0;padding:12px 4px;animation:.22s both message-in}.empty-state{color:var(--muted);text-align:center;border-bottom:none;padding:40px 4px;font-family:IBM Plex Mono,monospace;font-size:.82rem}.chat-message.self{border-left:2px solid var(--accent);background:0 0;align-self:stretch;padding-left:12px}.chat-message.other{border-left:2px solid #0000;align-self:stretch;padding-left:12px}.chat-message__top{color:var(--muted);justify-content:space-between;gap:14px;margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:.71rem;display:flex}.chat-message__meta{align-items:center;gap:8px;display:inline-flex}.message-delivery{letter-spacing:-.16em;min-width:14px;color:var(--muted-dim);font-size:.82rem}.message-delivery.read{color:var(--accent)}.copy-message-button{width:22px;height:22px;color:var(--muted);opacity:0;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:inline-grid}.chat-message:hover .copy-message-button,.copy-message-button:focus-visible{opacity:1}.copy-message-button:hover{background:var(--surface-raised);color:var(--accent);opacity:1}.copy-message-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.copy-message-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:13px;height:13px}.chat-message__top strong{color:var(--ink);font-family:Instrument Sans,sans-serif;font-weight:500}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:var(--ink);margin:0;font-size:.94rem;line-height:1.58}.chat-compose{flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.chat-compose textarea{resize:none;flex:1;min-height:44px;max-height:120px}.send-button{border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.send-button svg{fill:currentColor;width:18px;height:18px;transform:translate(-1px)}@keyframes message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.chat-message,button,.back-button,input,textarea{transition:none!important;animation:none!important}}@media (width<=640px){.chat-header{padding:max(16px, env(safe-area-inset-top)) 18px 14px;flex-direction:column;align-items:flex-start;gap:10px}.chat-header h1{font-size:1.2rem}.chat-header__meta{flex-wrap:wrap;gap:10px}.setup-screen{padding:16px 18px max(16px, env(safe-area-inset-bottom))}.chat-screen{padding:8px 18px max(12px, env(safe-area-inset-bottom))}.setup-copy{max-width:none;margin-bottom:20px;font-size:.9rem}.chat-form-grid{grid-template-columns:1fr;gap:18px}input,textarea{font-size:16px}.chat-message{padding:10px 2px}.chat-message__top{font-size:.68rem}.copy-message-button{opacity:1}.chat-actions{flex-direction:column}.chat-actions button{width:100%}button{padding:11px 18px;font-size:.92rem}.send-button{padding:0}}@media (width<=380px){.chat-header h1{font-size:1.05rem}.eyebrow{font-size:.62rem}}
