:root{--app-height: 100dvh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17201d;background:#edf4f1;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;height:100%;margin:0}body{overflow:hidden}button,input,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:default;opacity:.58}.boot-screen,.auth-screen,.mobile-shell{min-height:100vh;min-height:100dvh;min-height:var(--app-height);width:100%;background:linear-gradient(180deg,#ffffffad,#edf4f1f5),#edf4f1}.boot-screen{display:grid;place-items:center;color:#0f766e}.auth-screen{display:flex;align-items:center;justify-content:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))}.auth-panel{width:min(100%,430px);display:grid;gap:17px;padding:22px;border:1px solid #d8e4df;border-radius:8px;background:#ffffffe6;box-shadow:0 24px 60px #17201d1f}.brand-row,.identity,.chat-peer{display:flex;align-items:center;min-width:0;gap:12px}.brand-mark,.avatar{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:8px;background:#0f766e;color:#fff;font-weight:800}.brand-mark{width:48px;height:48px;background:#17201d}.eyebrow{margin:0 0 2px;color:#67746f;font-size:.72rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:1.7rem;line-height:1.15}h2{font-size:1.08rem;line-height:1.2}h3{font-size:1rem}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:8px;background:#e5eeea}.segmented button{min-height:38px;border-radius:6px;background:transparent;color:#53605b;font-weight:750}.segmented button.active{background:#fff;color:#17201d;box-shadow:0 1px 4px #17201d1a}label{display:grid;gap:7px;color:#53605b;font-size:.86rem;font-weight:700}input,textarea{width:100%;border:1px solid #cbdad4;border-radius:8px;background:#fff;color:#17201d;outline:none}input{min-height:45px;padding:0 12px}textarea{min-height:42px;max-height:104px;resize:none;padding:10px 12px}input:focus,textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e21}.primary-action,.empty-state button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:#0f766e;color:#fff;font-weight:800}.form-error,.inline-error{color:#b42318;font-size:.88rem;line-height:1.35}.mobile-shell{position:relative;height:100vh;height:100dvh;height:var(--app-height);min-height:0;display:flex;justify-content:center;overflow:hidden}.screen{position:relative;width:min(100%,540px);height:100vh;height:100dvh;height:var(--app-height);min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#f7faf9;box-shadow:0 0 0 1px #17201d0d}.top-bar{flex:0 0 auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 14px 12px;border-bottom:1px solid #dfe9e5;background:#f7faf9f5}.toolbar{display:flex;align-items:center;gap:7px}.toolbar button,.back-button,.search-box button,.person-row button,.composer-row button,.image-draft button,.upload-strip button,.toast button{width:40px;height:40px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#fff;color:#17201d;border:1px solid #d8e4df}.connection{width:31px;height:31px;display:inline-grid;place-items:center;border-radius:999px;color:#7a4a18;background:#fff2df}.connection.online{color:#0f766e;background:#dff4ee}.screen-title{margin-right:auto}.list-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:10px}.conversation-row,.person-row{width:100%;min-height:72px;display:flex;align-items:center;gap:12px;padding:10px;border-radius:8px;color:#17201d;background:#fff;border:1px solid #e1ebe7;text-align:left}.conversation-row+.conversation-row,.person-row+.person-row{margin-top:8px}.conversation-main,.person-main{min-width:0;flex:1;display:grid;gap:4px}.conversation-title,.person-main strong{overflow:hidden;color:#17201d;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.conversation-preview,.person-main span{overflow:hidden;color:#67746f;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.conversation-meta{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;color:#7a8782;font-size:.78rem}.unread{min-width:23px;height:23px;display:inline-grid;place-items:center;padding:0 7px;border-radius:999px;background:#e4572e;color:#fff;font-size:.76rem;font-weight:800}.empty-state{min-height:240px;display:grid;align-content:center;justify-items:center;gap:13px;color:#67746f;text-align:center}.empty-state.compact{min-height:150px}.empty-state button{padding:0 16px}.search-box{display:flex;align-items:center;gap:9px;margin:12px 10px 2px;padding:0 8px 0 12px;border:1px solid #d8e4df;border-radius:8px;background:#fff;color:#67746f}.search-box input{min-height:48px;padding:0;border:0;box-shadow:none}.search-box button{width:32px;height:32px;border:0;background:#f0f5f3}.loading-row{min-height:80px;display:grid;place-items:center;color:#0f766e}.chat-screen{background:#f3f8f6}.chat-top{justify-content:flex-start}.chat-peer h2{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{color:#8a6a34;font-size:.78rem;font-weight:700}.online-text{color:#0f766e}.message-list{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:8px;padding:12px 10px}.older-button{align-self:center;min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:999px;background:#fff;color:#53605b;border:1px solid #d8e4df;font-size:.84rem;font-weight:700}.message{display:flex}.message.mine{justify-content:flex-end}.message.theirs{justify-content:flex-start}.bubble{max-width:min(78%,370px);display:grid;gap:6px;padding:9px 10px;border-radius:8px;background:#fff;color:#17201d;border:1px solid #dfe9e5;overflow-wrap:anywhere}.mine .bubble{background:#0f766e;border-color:#0f766e;color:#fff}.bubble p{white-space:pre-wrap;line-height:1.35}.bubble a{display:block;color:inherit}.bubble img{display:block;max-width:100%;max-height:280px;border-radius:6px;object-fit:contain;background:#0000000f}.message-meta{justify-self:end;color:#53605bcc;font-size:.72rem}.mine .message-meta{color:#ffffffc2}.composer{flex:0 0 auto;display:grid;gap:8px;padding:10px 10px max(10px,env(safe-area-inset-bottom));border-top:1px solid #dfe9e5;background:#f7faf9fa}.composer-row{display:flex;align-items:flex-end;gap:8px}.ephemeral-settings{min-width:0;display:flex;align-items:center;gap:9px}.ephemeral-settings>span{flex:0 0 auto;color:#53605b;font-size:.78rem;font-weight:700}.ephemeral-options{min-width:0;display:flex;flex:1 1 auto;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.ephemeral-options::-webkit-scrollbar{display:none}.timer-option{min-width:45px;min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid #cbdad4;border-radius:999px;background:#fff;color:#53605b;font-size:.75rem;font-weight:800}.timer-option.active{border-color:#0f766e;background:#dff4ee;color:#0f766e}.composer-row textarea{flex:1 1 auto;min-width:0}.composer-row button:last-child{background:#0f766e;color:#fff;border-color:#0f766e}.image-draft,.upload-strip{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #d8e4df;border-radius:8px;background:#fff}.image-draft img,.upload-strip img{width:56px;height:56px;flex:0 0 auto;border-radius:6px;object-fit:cover;background:#eef5f2}.image-draft button{margin-left:auto}.upload-strip>div{min-width:0;flex:1;display:grid;gap:4px}.upload-strip strong,.upload-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-strip strong{color:#17201d;font-size:.88rem}.upload-strip span{color:#67746f;font-size:.78rem}.upload-strip.failed span{color:#b42318}progress{width:100%;height:6px;overflow:hidden;border:0;border-radius:999px;background:#e5eeea}progress::-webkit-progress-bar{background:#e5eeea}progress::-webkit-progress-value{background:#0f766e}progress::-moz-progress-bar{background:#0f766e}.toast{position:absolute;z-index:20;left:12px;right:12px;top:max(10px,env(safe-area-inset-top));min-height:44px;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border:1px solid #f2b8ad;border-radius:8px;background:#fff7f5;color:#9b2c1d;box-shadow:0 12px 30px #17201d1f}.toast span{min-width:0;flex:1;overflow-wrap:anywhere}.toast button{width:32px;height:32px;color:#9b2c1d;border-color:#f2b8ad}.inline-error{margin:8px 12px 0}.composer .inline-error{margin:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
