body{background:radial-gradient(ellipse at 15% 0,var(--glow),transparent 65%),var(--bg);color:var(--ink)}button{background:linear-gradient(115deg,var(--accent),var(--accent2));color:#fff;border-color:transparent}input,textarea,select{background:var(--card);color:var(--ink);border-color:var(--line)}input:focus,textarea:focus{box-shadow:0 0 0 3px var(--glow);border-color:var(--accent)}.icon{background:var(--soft);color:var(--accent);border-color:var(--line)}.quiet{background:none;color:var(--accent)}#sidebar{background:var(--surface)}.room{background:transparent;color:var(--ink)}.room.active{background:var(--soft);border-color:var(--accent)}.room:hover{background:var(--soft);filter:none}.room>span:nth-child(2){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room .room-flags{flex:none;font-size:12px;color:var(--accent);min-width:16px}.avatar{background:linear-gradient(145deg,var(--accent),var(--accent2));color:#fff}.bubble{background:var(--surface);border-color:var(--line);box-shadow:0 3px 14px var(--shadow)}.bubble.mine{background:var(--mine);border-color:var(--line)}.bubble .author,.ticks.read{color:var(--accent)}.bubble time{color:var(--muted)}#conversation{background:radial-gradient(ellipse at top right,var(--glow),transparent 65%)}#conversation header,#composer{background:var(--surface)}.empty h2{color:var(--ink)}#recording,#voicepreview{background:var(--soft)}#composer button{background:linear-gradient(115deg,var(--accent),var(--accent2));color:white}dialog{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:0 25px 100px #071a3466}dialog .result{background:var(--soft);color:var(--ink)}dialog label{color:var(--muted)}#modalbody .danger{background:#b6425e;color:white}.password-wrap{position:relative}.password-wrap input{padding-right:58px}.auth form .password-eye{position:absolute;right:8px;top:16px;display:grid;place-items:center;width:38px;height:38px;padding:8px;margin:0;background:transparent;color:var(--muted);border:0;border-radius:11px}.password-eye svg{width:22px;height:22px}.password-eye[aria-pressed=true]{color:var(--accent)}.password-eye[aria-pressed=false] .eye-slash{display:none}.auth-theme{position:absolute;top:16px;right:16px}.room-tools{display:flex;gap:8px;margin:0 0 12px}.room-tools button{font-size:12px;flex:1;padding:10px;background:var(--soft);color:var(--accent);border:1px solid var(--line)}.notice{display:flex;align-items:center;gap:10px;font-size:12px;background:var(--soft);border:1px solid var(--line);color:var(--ink);padding:10px 12px;border-radius:16px;margin:10px 0}.notice>span{flex:1}.notice button{padding:8px 10px;font-size:11px;flex:none}.notice .quiet{padding:6px;min-width:24px;background:none;color:var(--muted)}.album{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-width:440px}.album:has(>.media:only-child){grid-template-columns:1fr}.album .media{margin:3px 0;min-width:0}.album .media img,.album .media video{width:100%;aspect-ratio:1.15;object-fit:cover;max-height:280px}.album .media.audio,.album .media.file{grid-column:1/-1}.album .media audio{width:100%}.attachment-chips{display:flex;gap:6px;overflow-x:auto;padding:9px 0}.attachment-chip{display:flex;align-items:center;gap:7px;flex:none;border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:6px 9px;max-width:220px}.attachment-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip button{padding:0 3px;background:none;color:var(--muted);border:0;font-size:18px}.attachment-size{font-size:11px;color:var(--muted);padding-bottom:7px}.reactions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;white-space:normal}.bubble .reaction,.bubble .add-reaction{border:1px solid var(--line);border-radius:13px;margin:0;padding:4px 8px;color:var(--ink);font-size:12px;background:var(--soft)}.bubble .reaction[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--glow)}.bubble .add-reaction{font-size:14px;background:none;color:var(--muted);opacity:.6}.bubble:hover .add-reaction,.add-reaction:focus-visible{opacity:1}.emoji-picker{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.emoji-picker button{padding:12px;font-size:25px;background:var(--soft);color:var(--ink);border:1px solid var(--line)}#uploadprogress{margin:0 24px 10px;height:5px;width:calc(100% - 48px);accent-color:var(--accent)}.readonly-channel{text-align:center;padding:18px;color:var(--muted);border-top:1px solid var(--line);background:var(--surface);font-size:13px}.channel-result{padding:14px 0;border-bottom:1px solid var(--line)}.channel-result h3{margin:0;font-size:16px}.channel-result p{color:var(--muted);font-size:12px;line-height:1.5}.channel-result button{padding:9px 15px;font-size:12px}.inline-actions{display:flex;flex-wrap:wrap;gap:8px}.inline-actions button{padding:10px 14px;font-size:12px}.member-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:10px 0}.member-row>span{flex:1;overflow-wrap:anywhere}.member-row button{padding:7px 9px;font-size:11px;margin:0;background:var(--soft);color:var(--accent)}#toast{position:fixed;z-index:10;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(460px,92vw);padding:14px 20px;border-radius:18px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 50px #0003;animation:arrive .6s cubic-bezier(.16,1,.3,1);font-size:13px}.modal-error{color:#c84b64;font-size:13px;line-height:1.5}.room,.bubble{contain:layout style}.room{animation:none}.bubble{animation-duration:.62s}#modal{animation-duration:.68s}#messages{overscroll-behavior:contain;scrollbar-gutter:stable}#calldialog{--call-accent:var(--accent2)}.media img{background:var(--soft)}#modalbody{max-height:78dvh;overflow:auto;overscroll-behavior:contain}#modalbody .field-hint{font-size:12px;color:var(--muted)}
@media(min-width:701px){#sidebar{width:350px}.auth-theme{right:28px}#conversation header .icon{flex:none}}@media(max-width:700px){#messages{padding:16px 11px}.bubble{max-width:91%;padding:11px 13px}.album{max-width:76vw}.room-tools{margin-bottom:6px}dialog{padding:24px 20px}#modal{width:calc(100% - 24px);max-width:none;max-height:90dvh}.notice{font-size:11px}.auth{padding-top:72px}.brand{font-size:23px}.bubble time button{font-size:10px}.reactions{gap:4px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.album .media.audio{min-width:min(260px,60vw)}.album .media.audio audio{width:100%;height:44px}.bubble:has(.media.audio){min-width:min(300px,75vw)}
