:root{color-scheme:light dark;font-family:SF Pro Display,SF Pro Text,Segoe UI,system-ui,sans-serif;line-height:1.4;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg, #f5f2ee);color:var(--text, #252628)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgb(255 255 255 / .55),transparent 28rem),linear-gradient(180deg,rgb(255 255 255 / .22),transparent 20rem),var(--bg, #f5f2ee);color:var(--text, #252628)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent, #667f8a)}.login-screen,.app-shell,.chat-empty{min-height:100vh;min-height:100dvh;color:var(--text)}.login-screen{display:grid;place-items:center;padding:2rem;overflow-y:auto}.login-card,.chat-empty__card,.sidebar,.chat-pane,.modal-card{background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--outline);box-shadow:0 1.5rem 4rem var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-card{width:min(100%,29rem);padding:1.9rem;border-radius:1.75rem;display:grid;gap:1.1rem}.login-card h1,.chat-empty__card h2,.modal-card h2,.chat-pane__header h2{margin:0;font-size:clamp(1.6rem,1.3rem + 1vw,2.3rem)}.login-card p,.chat-empty__card p,.message-text,.link-preview p{margin:0;color:var(--text-secondary)}.login-card__eyebrow,.sidebar-section__title,.conversation-card__meta,.profile-hero__meta,.peer-profile__meta,.link-preview__host{color:var(--text-muted);font-size:.82rem}.login-brand{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}.login-brand__icon-wrap{width:4.9rem;height:4.9rem;padding:.28rem;border-radius:1.45rem;background:linear-gradient(160deg,#ffffffd6,#ffffff2e);box-shadow:0 1.2rem 2.2rem #00000014,inset 0 1px #ffffff80}.login-brand__icon{width:100%;height:100%;display:block;border-radius:1.2rem;object-fit:cover}.login-brand__copy{display:grid;gap:.3rem}.login-brand__copy h1{line-height:.95}.login-card__chips{display:flex;flex-wrap:wrap;gap:.55rem}.login-card__chip{display:inline-flex;align-items:center;min-height:2rem;padding:.45rem .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--outline));background:color-mix(in srgb,var(--card) 82%,white 10%);color:var(--text-secondary);font-size:.84rem}.login-card__hint{color:var(--text-muted);font-size:.83rem;line-height:1.45}.login-card__passkey{justify-content:center}.field{display:grid;gap:.45rem}.field input,.composer__field,.field__select{width:100%;border:1px solid var(--outline);border-radius:1rem;background:color-mix(in srgb,var(--card) 84%,white 10%);color:var(--text);padding:.86rem 1rem;outline:none}.field input:focus,.composer__field:focus{border-color:color-mix(in srgb,var(--accent) 65%,white 15%);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent) 16%,transparent)}.primary-button,.ghost-button,.icon-button,.profile-chip,.conversation-card,.person-row,.member-chip,.theme-tile,.message-author,.avatar-button{border:none;background:none;color:inherit}.primary-button{background:var(--accent);color:#fff;border-radius:999px;padding:.95rem 1.2rem;font-weight:600}.primary-button:disabled{opacity:.55;cursor:default}.ghost-button{border-radius:999px;padding:.72rem 1rem;background:color-mix(in srgb,var(--card) 82%,white 10%);border:1px solid var(--outline)}.ghost-button--active{border-color:color-mix(in srgb,var(--accent) 40%,white 8%);background:color-mix(in srgb,var(--bubble-out) 60%,var(--card) 40%)}.ghost-button--danger{color:#c55f5f}.icon-button{width:2.9rem;height:2.9rem;border-radius:999px;background:color-mix(in srgb,var(--card) 75%,white 12%);border:1px solid var(--outline)}.notice{padding:.75rem .9rem;border-radius:1rem;background:color-mix(in srgb,var(--card) 90%,white 8%);color:var(--text-secondary)}.notice--error{background:#c55f5f1f;color:#c55f5f}.app-shell{display:grid;grid-template-columns:minmax(19rem,25rem) minmax(0,1fr);gap:1rem;padding:1rem;min-height:100dvh}.app-shell__main{min-width:0}.sidebar{border-radius:1.75rem;padding:1rem;display:grid;gap:1rem;align-content:start;min-height:calc(100vh - 2rem);min-height:calc(100dvh - 2rem)}.sidebar__header,.sidebar__actions,.sidebar-section,.person-list,.conversation-list{display:grid;gap:.75rem}.sidebar__header{border-bottom:1px solid var(--outline);padding-bottom:1rem}.profile-chip{display:flex;align-items:center;gap:.8rem;text-align:left}.profile-chip small,.person-row__text small{display:block;color:var(--text-muted)}.avatar-circle{display:inline-grid;place-items:center;flex-shrink:0;border-radius:999px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 22%,white 6%),color-mix(in srgb,var(--bubble-out) 72%,white 4%));color:var(--text);font-weight:700}.avatar-circle--small{width:2.55rem;height:2.55rem}.avatar-circle--large{width:4.7rem;height:4.7rem;font-size:1.8rem}.conversation-card,.person-row,.member-chip,.theme-tile{border-radius:1.25rem;border:1px solid var(--outline);background:color-mix(in srgb,var(--card) 86%,white 7%)}.conversation-card{text-align:left;padding:.95rem 1rem;display:grid;gap:.4rem}.conversation-card--active{border-color:color-mix(in srgb,var(--accent) 35%,white 8%);background:color-mix(in srgb,var(--bubble-out) 62%,var(--card) 38%)}.conversation-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.conversation-card__preview{color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.conversation-card__meta{display:flex;justify-content:space-between;gap:1rem}.pill{display:inline-grid;place-items:center;min-width:1.5rem;padding:.2rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 24%,transparent)}.person-row{display:flex;align-items:center;gap:.8rem;padding:.8rem .95rem;text-align:left}.person-row__text{flex:1}.person-row__icon{color:var(--accent);font-size:1.35rem}.empty-state{color:var(--text-muted);padding:1rem 0}.chat-empty{display:grid;place-items:center;padding:1rem}.chat-empty__card{width:min(100%,28rem);border-radius:2rem;padding:2rem}.chat-pane{min-height:calc(100vh - 2rem);min-height:calc(100dvh - 2rem);border-radius:1.75rem;display:grid;grid-template-rows:auto 1fr auto}.chat-pane__header,.composer{padding:1rem 1.15rem;border-bottom:1px solid var(--outline)}.composer{border-bottom:none;border-top:1px solid var(--outline);display:grid;gap:.8rem}.chat-pane__header,.chat-pane__header-title,.composer__row,.pending-attachment,.message-row,.attachment-card__actions{display:flex;align-items:center;gap:.8rem}.chat-pane__header{justify-content:space-between}.chat-pane__header-title{min-width:0}.chat-pane__header-title p{margin:.1rem 0 0;color:var(--text-muted)}.chat-scroll{padding:1rem;overflow:auto;display:grid;gap:.9rem}.message-row{align-items:flex-end;justify-content:flex-start}.message-row--own{justify-content:flex-end}.message-column{display:grid;gap:.35rem;max-width:min(34rem,calc(100% - 3.6rem))}.message-author{width:fit-content;color:var(--text-secondary);font-size:.82rem;font-weight:600;padding:0}.message-bubble{background:var(--bubble-bg);border:1px solid var(--bubble-outline);border-radius:1.4rem 1.4rem 1.4rem .75rem;padding:.85rem .95rem;display:grid;gap:.75rem}.message-bubble--own{border-radius:1.4rem 1.4rem .75rem}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.message-meta{display:flex;justify-content:flex-end;gap:.65rem;color:var(--text-muted);font-size:.75rem}.link-preview,.attachment-card,.pending-attachment{border-radius:1.05rem;border:1px solid var(--outline);background:color-mix(in srgb,var(--card) 68%,white 7%)}.link-preview{overflow:hidden;display:grid;text-decoration:none}.link-preview img,.attachment-card__image,.pending-attachment__preview img{width:100%;max-height:14rem;object-fit:cover}.link-preview div,.attachment-card__body{padding:.8rem .9rem;display:grid;gap:.35rem}.attachment-card{overflow:hidden}.attachment-card--deleted{padding:.8rem .9rem;color:var(--text-muted)}.pending-attachment{padding:.7rem;display:flex;align-items:center;gap:.8rem}.pending-attachment__preview{width:4rem;height:4rem;border-radius:.9rem;overflow:hidden;background:color-mix(in srgb,var(--bubble-out) 72%,white 4%);display:grid;place-items:center}.composer__field{min-height:2.9rem;max-height:9rem;resize:vertical}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#07090b57;display:grid;place-items:center;padding:1rem;z-index:30}.modal-card{width:min(100%,34rem);border-radius:1.75rem;padding:1.2rem;display:grid;gap:1rem}.modal-card--profile{width:min(100%,42rem)}.modal-card--admin-stats{width:min(100%,64rem)}.modal-card--admin-console{width:min(100%,72rem);height:min(92dvh,52rem);max-height:min(92dvh,52rem);overflow:hidden;grid-template-rows:auto auto minmax(0,1fr)}.modal-card__header,.profile-hero,.theme-picker__list,.member-picker,.form-grid,.peer-profile{display:grid;gap:.85rem}.modal-card__header{grid-template-columns:1fr auto;align-items:center}.profile-hero{grid-template-columns:auto 1fr;align-items:center}.theme-picker__list,.member-picker{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.theme-tile,.member-chip{text-align:left;padding:.9rem;display:grid;gap:.35rem}.theme-tile--active,.member-chip--active{border-color:color-mix(in srgb,var(--accent) 40%,white 8%);background:color-mix(in srgb,var(--bubble-out) 60%,var(--card) 40%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field--full{grid-column:1 / -1}.peer-profile{justify-items:center;text-align:center}.admin-console__tabs,.admin-console__body,.admin-console__section,.admin-users__form,.admin-users__list,.admin-security__actions,.admin-users__identity,.admin-users__actions{display:grid;gap:.85rem}.admin-console__tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-console__body{min-height:0;overflow:auto;padding-right:.35rem;align-content:start}.admin-console__section{padding:.25rem 0 .1rem;min-width:0}.admin-users__form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-users__submit{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.75rem}.admin-users__row{border:1px solid var(--outline);border-radius:1.2rem;background:color-mix(in srgb,var(--card) 86%,white 7%);padding:.9rem 1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.admin-users__identity{grid-template-columns:auto 1fr;align-items:center;min-width:0}.admin-users__identity small{display:block;color:var(--text-muted);overflow-wrap:anywhere}.admin-users__actions{grid-auto-flow:column;align-items:center;justify-content:end;grid-auto-columns:max-content}.admin-security__copy{margin:0;color:var(--text-secondary)}.admin-security__actions{grid-template-columns:minmax(0,1fr) auto;align-items:end}.admin-security__label{min-width:0}.admin-stats__toolbar,.admin-stats__summary,.admin-stats__grid,.admin-stats__list,.admin-stats__series,.admin-stats__recent,.admin-stats__section{display:grid;gap:.85rem}.admin-stats__toolbar{grid-template-columns:1fr auto;align-items:center}.admin-stats__periods{display:flex;flex-wrap:wrap;gap:.55rem}.admin-stats__range{color:var(--text-muted);font-size:.82rem}.admin-stats__summary{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.admin-stats__card,.admin-stats__series-row,.admin-stats__list-row,.admin-stats__recent-row{border:1px solid var(--outline);border-radius:1.2rem;background:color-mix(in srgb,var(--card) 86%,white 7%)}.admin-stats__card{padding:.9rem 1rem;display:grid;gap:.35rem}.admin-stats__card small,.admin-stats__series-row small,.admin-stats__recent-row small{color:var(--text-muted)}.admin-stats__card strong{font-size:1.35rem}.admin-stats__series-row{padding:.9rem 1rem;display:grid;gap:.45rem}.admin-stats__series-head,.admin-stats__list-row,.admin-stats__recent-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.admin-stats__series-bar{width:100%;height:.52rem;border-radius:999px;background:color-mix(in srgb,var(--card) 70%,black 6%);overflow:hidden}.admin-stats__series-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,white 18%))}.admin-stats__grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.admin-stats__list{gap:.55rem}.admin-stats__list-row,.admin-stats__recent-row{padding:.8rem .95rem;overflow-wrap:anywhere}.admin-stats__recent{max-height:18rem;overflow:auto}.admin-stats__recent-row{align-items:flex-start}.admin-stats__recent-row div{display:grid;gap:.25rem}@media (max-width: 959px){.app-shell{grid-template-columns:1fr;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.app-shell--chat-open .sidebar{display:none}.app-shell:not(.app-shell--chat-open) .app-shell__main{display:none}.chat-pane,.sidebar{min-height:calc(100dvh - 1.5rem)}.form-grid,.admin-stats__toolbar,.admin-console__tabs,.admin-users__form,.admin-security__actions{grid-template-columns:1fr}.admin-users__actions{grid-auto-flow:row;justify-content:stretch;grid-auto-columns:1fr}}@media (max-width: 640px){.login-screen,.app-shell,.chat-empty{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.login-screen{place-items:start center;align-content:start}.login-card{padding:1.35rem;margin-inline:auto}.sidebar,.chat-pane,.login-card,.chat-empty__card,.modal-card{border-radius:1.4rem}.chat-scroll{padding-inline:.75rem}.login-brand{grid-template-columns:1fr;justify-items:center;text-align:center}.login-brand__copy{justify-items:center}.login-card__chips{justify-content:center}.message-column{max-width:calc(100% - 3rem)}.composer__row{align-items:stretch}.admin-stats__summary,.admin-stats__grid{grid-template-columns:1fr}.admin-stats__series-head,.admin-stats__list-row,.admin-stats__recent-row,.admin-users__row{flex-direction:column;align-items:flex-start}}
