:root{--bg: #ffffff;--fg: #111111;--muted: #6b6b6b;--border: #e5e5e5;--border-strong: #111111;--hover: #f5f5f5;--active: #eeeeee;--accent: #111111;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:var(--bg);border:1px solid var(--border-strong);padding:.5rem .9rem;font-size:.85rem;border-radius:6px}button:hover:not(:disabled){background:var(--hover)}button:active:not(:disabled){background:var(--active)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--fg);color:var(--bg)}button.primary:hover:not(:disabled){background:#000}button.seal{background:var(--fg);color:var(--bg)}button.seal:hover:not(:disabled){background:#000}button.ghost{background:transparent;border:none;padding:.25rem .5rem}button.ghost:hover{background:var(--hover)}input[type=text],input[type=password],textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:6px;padding:.6rem .75rem;font-size:.95rem;outline:none;width:100%}input:focus,textarea:focus{border-color:var(--fg)}textarea{resize:none}a{color:var(--fg);text-decoration:underline}a:hover{opacity:.7}.display,.italic{font-style:normal}.mono{font-family:ui-monospace,Menlo,monospace}.meta{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.rule,.rule-thin{border:none;border-top:1px solid var(--border);margin:0}.page-centered{min-height:100%;display:grid;place-items:center;padding:2rem;background:var(--bg)}.envelope{position:relative;background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;padding:2.25rem 2.25rem 2rem;width:min(420px,100%)}.envelope:before{content:none}.envelope-inner{position:relative}.stamp,.postmark{display:none}.title-block{margin-bottom:1.75rem}.title-block .kicker{display:block;margin-bottom:.5rem}.title-block h1{font-weight:600;font-size:1.75rem;margin:0;line-height:1.2}.title-block p{margin:.5rem 0 0;font-size:.9rem;color:var(--muted)}.field{margin-bottom:1rem}.field label{display:block;margin-bottom:.35rem}.error{font-size:.8rem;color:#b00020;margin:.5rem 0}.shell{display:grid;grid-template-columns:56px 280px 1fr;height:100vh;height:100dvh}.rail{border-right:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;align-items:center;padding:.75rem 0;gap:.5rem}.rail:after{content:none}.rail-brand{display:none}.rail-btn{width:40px;height:40px;border:1px solid var(--border);background:var(--bg);display:grid;place-items:center;padding:0;font-size:1rem;border-radius:6px;color:var(--fg)}.rail-btn:hover{background:var(--hover)}.rail-btn.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.chatlist{border-right:1px solid var(--border);background:var(--bg);overflow-y:auto;display:flex;flex-direction:column}.chatlist header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:2}.chatlist header .kicker{color:var(--muted)}.chatlist header h2{font-weight:600;font-size:1.1rem;margin:.15rem 0 .5rem;line-height:1.2}.chatlist header .tools{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}.chat-entry{display:block;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);cursor:pointer;background:transparent;position:relative}.chat-entry:hover{background:var(--hover)}.chat-entry.active{background:var(--active)}.chat-entry.active:before{content:none}.chat-entry .row1{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.chat-entry .title{font-weight:600;font-size:.95rem;line-height:1.2}.chat-entry .group-tag{font-size:.65rem;padding:2px 6px;border:1px solid var(--border);color:var(--muted);background:var(--bg);border-radius:4px}.chat-entry .preview{font-size:.82rem;color:var(--muted);margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-entry .time{font-size:.7rem;color:var(--muted)}.main{display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden}.main:before{content:none}.main-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg);display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.main-header .kicker{color:var(--muted)}.main-header h1{font-weight:600;font-size:1.15rem;margin:.1rem 0 0;line-height:1.2}.main-header .members{font-size:.72rem;color:var(--muted);margin-top:.3rem}.messages{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.6rem}.msg{max-width:68ch;display:block;padding:.55rem .85rem;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.msg .gutter{display:none}.msg .body{font-size:.95rem;line-height:1.45}.msg .body .from{font-weight:600;font-size:.75rem;display:block;line-height:1.2;margin-bottom:.2rem;color:var(--muted)}.msg .body .text{white-space:pre-wrap}.msg.own{margin-left:auto;background:var(--fg);color:var(--bg);border-color:var(--fg)}.msg.own .body .from{color:#ffffffb3}.empty-state{margin:auto;text-align:center;color:var(--muted);max-width:360px}.empty-state .big{font-weight:600;font-size:1.1rem;color:var(--fg);line-height:1.3;margin-bottom:.4rem}.composer{border-top:1px solid var(--border);padding:.85rem 1.5rem 1rem;background:var(--bg);display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end}.composer textarea{min-height:44px;max-height:140px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;z-index:50;padding:2rem}.sheet{background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;width:min(720px,100%);max-height:90vh;overflow-y:auto;padding:1.5rem 1.75rem}.sheet h2{font-weight:600;font-size:1.35rem;margin:0 0 .25rem;line-height:1.2}.sheet section{margin-top:1.5rem}.sheet section h3{font-weight:600;font-size:1rem;margin:0 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}.user-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.user-row .name{font-weight:500;font-size:.95rem}.user-row .badge{font-size:.65rem;text-transform:uppercase;padding:2px 6px;border:1px solid var(--border);border-radius:4px;margin-left:.5rem;color:var(--muted)}.user-row .badge.admin{background:var(--fg);color:var(--bg);border-color:var(--fg)}.user-row .badge.pending{background:var(--hover)}.user-row .actions{display:flex;gap:.4rem}.invite-card{background:var(--hover);border:1px solid var(--border);border-radius:6px;padding:.85rem;margin-top:.85rem;font-family:ui-monospace,Menlo,monospace;font-size:.78rem;word-break:break-all}.invite-card .label{text-transform:uppercase;font-size:.65rem;color:var(--muted);margin-bottom:.25rem}.inline-form{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end;margin-top:.85rem}.checkbox-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.4rem;margin-top:.5rem}.checkbox-list label{display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;font-size:.85rem;cursor:pointer}.checkbox-list label:has(input:checked){background:var(--fg);color:var(--bg);border-color:var(--fg)}@media (max-width: 900px){.shell{grid-template-columns:1fr;grid-template-rows:1fr}.rail{display:none}.chatlist{border-right:none}.shell.show-main .chatlist{display:none}.shell:not(.show-main) .main{display:none}.envelope{padding:1.75rem 1.25rem}.main-header{padding:.85rem 1rem}.messages{padding:1rem}.composer{padding:.75rem 1rem 1rem}.sheet{padding:1.25rem 1rem}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#ccc}.rise,.rise-2,.rise-3,.rise-4{animation:none}
