:root{--bg: oklch(.28 .01 282);--bg-deep: oklch(.24 .01 282);--card: oklch(.32 .01 282);--card-hover: oklch(.35 .01 282);--popover: oklch(.34 .01 282);--secondary: oklch(.38 .01 282);--muted: oklch(.36 .01 282);--border: oklch(.42 .01 282);--border-soft: oklch(.36 .01 282);--fg: oklch(.97 0 0);--fg-muted: oklch(.85 0 0);--fg-dim: oklch(.7 .005 282);--accent: oklch(.72 .19 350);--accent-fg: oklch(.2 .03 350);--accent-soft: color-mix(in oklch, var(--accent) 14%, transparent);--danger: oklch(.65 .22 25);--danger-soft: oklch(.65 .22 25 / .16);--success: oklch(.72 .19 160);--warn: oklch(.75 .18 80);--radius: 8px;--shadow: 0 8px 28px oklch(.1 .01 282 / .45);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--fg-dim);background-clip:content-box;border:2px solid transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{display:inline-flex;align-items:center;gap:6px;justify-content:center;height:32px;background:transparent;border:1px solid var(--border);border-radius:4px;padding:0 14px;font-weight:600;font-size:13.5px;transition:background .1s,border-color .1s}.btn:hover:not(:disabled){background:var(--muted);border-color:var(--fg-dim)}.btn:active:not(:disabled){background:var(--secondary)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent);border-color:var(--accent)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger:hover:not(:disabled){filter:brightness(1.1);background:var(--danger);border-color:var(--danger)}.btn.ghost{background:transparent;border-color:transparent;font-weight:500}.btn.ghost:hover:not(:disabled){background:var(--muted);border-color:transparent}.btn.sm{height:26px;padding:0 10px;font-size:12.5px}.btn.block{width:100%}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:6px;background:transparent;border:none;color:var(--fg-muted)}.icon-btn:hover{background:var(--muted);color:var(--fg)}.icon-btn.active{background:var(--accent-soft);color:var(--accent)}.input{width:100%;background:var(--bg-deep);border:1px solid var(--border);border-bottom-color:var(--fg-dim);border-radius:4px;padding:6px 10px;min-height:32px;outline:none;transition:border-color .1s}.input:focus{border-color:var(--border);border-bottom:2px solid var(--accent);padding-bottom:5px}.input::placeholder{color:var(--fg-dim)}.input:disabled{opacity:.6}select.input{padding-right:6px}label.field{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--fg-muted)}.shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.search{position:relative}.search input{padding-left:30px;height:24px;font-size:12.5px;background:var(--bg-deep);border-radius:4px}.search .search-icon{position:absolute;left:9px;top:5px;color:var(--fg-dim);pointer-events:none}.search-results{position:absolute;top:30px;left:0;right:0;background:var(--popover);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);max-height:70vh;overflow:auto;z-index:40;padding:6px}.search-hit{display:grid;gap:2px;padding:8px 10px;border-radius:6px;cursor:pointer}.search-hit:hover{background:var(--muted)}.search-hit .where{font-size:12px;color:var(--fg-dim)}.search-hit mark{background:var(--accent-soft);color:var(--accent);border-radius:3px}.body{display:grid;grid-template-columns:68px 320px minmax(0,1fr) auto;min-height:0}.rail{background:var(--bg-deep);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;border-right:1px solid var(--border-soft)}.rail-btn{position:relative;width:56px;padding:7px 0 6px;border-radius:8px;background:none;border:none;display:grid;justify-items:center;gap:2px;color:var(--fg-dim);font-size:11px}.rail-btn:hover{background:var(--muted);color:var(--fg)}.rail-btn.active{color:var(--accent);background:var(--accent-soft)}.rail-btn.active:before{content:"";position:absolute;left:-6px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent)}.badge{background:var(--danger);color:#fff;font-size:11px;font-weight:700;min-width:17px;height:17px;border-radius:9px;padding:0 5px;display:inline-grid;place-items:center;line-height:1}.rail-btn .badge{position:absolute;top:3px;right:6px}.sidebar{background:var(--bg);border-right:1px solid var(--border-soft);display:flex;flex-direction:column;min-height:0}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 8px}.sidebar-head h2{margin:0;font-size:18px;letter-spacing:-.01em}.sidebar-scroll{overflow:auto;padding:4px 8px 12px;flex:1}.section-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim);padding:12px 8px 4px}.row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;cursor:pointer;border:none;background:none;width:100%;text-align:left;position:relative}.row:hover{background:var(--muted)}.row.active{background:var(--secondary)}.row.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent)}.row .grow{flex:1;min-width:0}.row .title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.unread .title{font-weight:700;color:var(--fg)}.row .preview{font-size:12px;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .time{font-size:11px;color:var(--fg-dim)}.row .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}.team-head{font-weight:600}.team-avatar{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--accent-soft);color:var(--accent);flex:none}.channel-row{padding-left:24px;font-size:13.5px}.muted{color:var(--fg-dim)}.empty{text-align:center;color:var(--fg-dim);padding:36px 20px;display:grid;gap:8px;justify-items:center}.empty h3{margin:0;color:var(--fg-muted)}.avatar{position:relative;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#15161b;-webkit-user-select:none;user-select:none}.presence{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;border:2px solid var(--bg);background:var(--fg-dim)}.presence.available{background:var(--success)}.presence.busy,.presence.dnd{background:var(--danger)}.presence.away{background:var(--warn)}.presence.offline{background:transparent;border-color:var(--fg-dim)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.convo-head{display:flex;align-items:center;gap:12px;padding:10px 16px 0;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.convo-head h2{margin:0;font-size:17px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;min-width:0}.convo-head h2 span.t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-head .grow{flex:1}.tabs{display:flex;gap:2px;width:100%}.tab{background:none;border:none;padding:8px 12px;color:var(--fg-dim);border-bottom:2px solid transparent;font-weight:500}.tab:hover{color:var(--fg)}.tab.active{color:var(--fg);border-bottom-color:var(--accent)}.head-row{display:flex;width:100%;align-items:center;gap:8px;min-height:36px}.messages{overflow-anchor:none;flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 8px 8px;min-height:0}.day-divider{display:flex;align-items:center;gap:12px;margin:14px 12px;color:var(--fg-dim);font-size:12px}.day-divider:before,.day-divider:after{content:"";flex:1;height:1px;background:var(--border-soft)}.md-code{background:var(--bg-deep);border-radius:4px;padding:1px 5px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}.md-pre{background:var(--bg-deep);border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px;margin:6px 0;overflow:auto;font-size:12.5px}.mention{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:0 3px;font-weight:600}.mention-me{background:color-mix(in oklch,var(--accent) 28%,transparent)}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction{display:inline-flex;gap:5px;align-items:center;padding:1px 8px;border-radius:999px;background:var(--card);border:1px solid var(--border);font-size:13px}.reaction.mine{background:var(--accent-soft);border-color:var(--accent)}.reaction:hover{border-color:var(--fg-dim)}.thread-link{margin-top:4px;background:none;border:none;color:var(--accent);padding:2px 0;font-size:12.5px;font-weight:600;display:inline-flex;gap:6px;align-items:center}.thread-link:hover{text-decoration:underline}.attachments{display:grid;gap:6px;margin-top:6px;justify-items:start}.attach-img{max-width:min(360px,100%);max-height:280px;border-radius:8px;border:1px solid var(--border-soft);display:block;cursor:zoom-in}.attach-file{display:inline-flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 12px;text-decoration:none;color:var(--fg);max-width:100%}.attach-file:hover{border-color:var(--accent)}.attach-file .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-top:4px;max-width:420px}.call-card .ico{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.call-card.live{border-color:var(--success)}.typing{height:20px;padding:0 20px;font-size:12.5px;color:var(--fg-dim)}.composer-wrap{padding:0 16px 14px;position:relative}.composer{background:var(--card);border:1px solid var(--border);border-radius:10px;transition:border-color .12s}.composer:focus-within{border-color:var(--accent)}.composer textarea{width:100%;background:transparent;border:none;resize:none;outline:none;padding:10px 12px 6px;max-height:220px;display:block}.composer .subject{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-soft);outline:none;padding:10px 12px;font-weight:700}.composer .bar{display:flex;align-items:center;gap:2px;padding:2px 6px 6px}.composer .bar .grow{flex:1}.pending-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 0}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--secondary);border-radius:999px;padding:2px 4px;font-size:12.5px;max-width:220px}.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup{position:absolute;background:var(--popover);border:1px solid var(--border-soft);border-radius:8px;box-shadow:0 8px 24px #01020380;z-index:30;padding:6px}.mention-pop{left:16px;bottom:100%;margin-bottom:4px;min-width:240px;max-height:240px;overflow:auto}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.emoji-grid button{background:none;border:none;border-radius:6px;font-size:20px;padding:5px}.emoji-grid button:hover{background:var(--muted)}.drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in oklch,var(--bg) 85%,transparent);border:2px dashed var(--accent);border-radius:12px;display:grid;place-items:center;color:var(--accent);font-weight:600;z-index:20;pointer-events:none}.menu{position:absolute;z-index:50;background:var(--popover);border:1px solid var(--border-soft);border-radius:6px;box-shadow:0 8px 24px #01020380;padding:4px;min-width:210px;animation:pop .1s ease-out}.menu button{display:flex;width:100%;gap:10px;align-items:center;background:none;border:none;text-align:left;padding:0 10px;height:32px;border-radius:4px;font-size:13.5px}.menu button:hover{background:var(--muted)}.menu button.danger{color:#ffa098;color:oklch(.8 .14 25)}.menu hr{border:none;height:1px;background:var(--border-soft);margin:4px 0}.thread-panel{width:380px;border-left:1px solid var(--border-soft);background:var(--bg);display:flex;flex-direction:column;min-height:0}.thread-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-weight:700}.thread-root{padding-bottom:8px;border-bottom:1px solid var(--border-soft);margin-bottom:8px}.file-list{padding:8px 16px;overflow:auto;flex:1}.file-row{display:flex;gap:12px;align-items:center;padding:10px 8px;border-bottom:1px solid var(--border-soft);text-decoration:none;color:var(--fg)}.file-row:hover{background:var(--card)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0303068c;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:grid;place-items:center;z-index:100;padding:16px;animation:fade .12s ease-out}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.985)}}.dialog{width:100%;max-width:480px;max-height:90vh;overflow:auto;background:var(--card);border:1px solid var(--border-soft);border-radius:8px;box-shadow:0 32px 64px #0102038c,0 2px 8px #01020366;animation:pop .14s ease-out}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 6px 24px}.dialog-head h3{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em}.dialog-body{display:grid;gap:14px;padding:8px 24px 20px}.dialog-body .actions{margin:8px -24px -20px;padding:14px 24px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border-soft);background:var(--bg-deep)}.dialog-body .actions.split{justify-content:space-between}.confirm-msg{color:var(--fg-muted);line-height:1.5;white-space:pre-wrap}.pick-list{max-height:220px;overflow:auto;border:1px solid var(--border-soft);border-radius:6px;background:var(--bg-deep);padding:4px}.pick-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:4px;width:100%;background:none;border:none;text-align:left}.pick-row:hover{background:var(--muted)}.pick-row.picked{background:var(--accent-soft)}.tags{display:flex;flex-wrap:wrap;gap:6px}.check{display:flex;gap:8px;align-items:center}.seg{display:inline-flex;background:var(--bg-deep);border-radius:8px;padding:3px;gap:2px}.seg button{background:none;border:none;padding:5px 12px;border-radius:6px;color:var(--fg-dim)}.seg button.on{background:var(--secondary);color:var(--fg)}.cal{display:flex;flex-direction:column;min-height:0;flex:1}.cal-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.cal-head h2{margin:0;font-size:17px;flex:1}.cal-grid{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));flex:1;overflow:auto;min-height:0;position:relative}.cal-dayhead{position:sticky;top:0;z-index:3;background:var(--bg);padding:8px 6px;text-align:center;border-bottom:1px solid var(--border-soft);border-left:1px solid var(--border-soft)}.cal-dayhead.today b{background:var(--accent);color:var(--accent-fg);border-radius:999px;padding:1px 8px}.cal-hours{grid-column:1}.cal-hour{height:56px;font-size:11px;color:var(--fg-dim);text-align:right;padding-right:8px;transform:translateY(-7px)}.cal-col{position:relative;border-left:1px solid var(--border-soft);height:1344px;background-image:linear-gradient(var(--border-soft) 1px,transparent 1px);background-size:100% 56px}.cal-event{position:absolute;left:3px;right:3px;background:var(--accent-soft);border:1px solid color-mix(in oklch,var(--accent) 50%,transparent);border-left:4px solid var(--accent);border-radius:6px;padding:3px 6px;font-size:12px;overflow:hidden;cursor:pointer;text-align:left;color:var(--fg)}.cal-event:hover{background:color-mix(in oklch,var(--accent) 26%,transparent)}.cal-event.declined{opacity:.45;text-decoration:line-through}.now-line{position:absolute;left:0;right:0;height:2px;background:var(--danger);z-index:2}.now-line:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--danger)}.call{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--bg-deep);display:grid;grid-template-rows:48px 1fr auto}.call-top{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-soft)}.call-grid{display:grid;gap:10px;padding:12px;min-height:0;grid-auto-rows:1fr}.tile{position:relative;background:var(--card);border-radius:12px;overflow:hidden;display:grid;place-items:center;min-height:0;border:2px solid transparent}.tile.speaking{border-color:var(--accent)}.tile video{width:100%;height:100%;object-fit:cover;background:#000}.tile.screen video{object-fit:contain}.tile .label{position:absolute;left:10px;bottom:8px;background:#030306b3;padding:2px 8px;border-radius:6px;font-size:12.5px;display:flex;gap:6px;align-items:center}.call-controls{display:flex;justify-content:center;gap:10px;padding:14px;border-top:1px solid var(--border-soft)}.round{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--secondary);border:1px solid var(--border)}.round:hover{background:var(--card-hover)}.round.off{background:var(--danger-soft);color:#ffbab3;color:oklch(.85 .12 25);border-color:transparent}.round.on{background:var(--accent);color:var(--accent-fg);border-color:transparent}.round.end{background:var(--danger);color:#fff;border-color:transparent;width:60px;border-radius:23px}.incoming{position:fixed;right:20px;bottom:20px;z-index:95;width:330px;background:var(--popover);border:1px solid var(--border-soft);border-top:3px solid var(--accent);border-radius:8px;padding:14px 16px;box-shadow:0 16px 40px #01020399;display:flex;align-items:center;gap:12px}.incoming .who{flex:1;min-width:0}.incoming .who b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incoming .round{width:40px;height:40px}.incoming .accept{background:var(--success);color:#031b10;border-color:transparent;animation:ring 1.4s ease-in-out infinite}.incoming .decline{background:var(--danger);color:#fff;border-color:transparent}@keyframes ring{0%,to{box-shadow:var(--shadow),0 0 color-mix(in oklch,var(--accent) 50%,transparent)}50%{box-shadow:var(--shadow),0 0 0 10px color-mix(in oklch,var(--accent) 0%,transparent)}}.toasts{position:fixed;left:20px;bottom:20px;z-index:120;display:grid;gap:8px}.toast{background:var(--popover);border:1px solid var(--border-soft);border-left:4px solid var(--accent);border-radius:6px;padding:10px 12px 10px 14px;box-shadow:0 8px 24px #01020380;max-width:min(420px,92vw);animation:pop .14s ease-out}.toast.error{border-left-color:var(--danger)}.offline-banner{position:fixed;top:32px;left:0;right:0;z-index:50;background:var(--warn);color:#2e1e01;text-align:center;padding:3px;font-size:12.5px;font-weight:600}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#030306d9;z-index:130;display:grid;place-items:center;cursor:zoom-out}.lightbox img{max-width:92vw;max-height:92vh;border-radius:8px}.back-btn{display:none}@media (max-width: 980px){.body{grid-template-columns:60px 260px minmax(0,1fr) auto}.thread-panel{width:320px}}@media (max-width: 760px){.titlebar-brand .muted-name,.titlebar-brand .strong-name{display:none}.body{grid-template-columns:56px minmax(0,1fr)}.body.convo-open .sidebar,.body:not(.convo-open) .main{display:none}.body.convo-open .rail{display:none}.body.convo-open{grid-template-columns:minmax(0,1fr)}.back-btn{display:inline-grid}.thread-panel{position:fixed;top:32px;right:0;bottom:0;left:0;width:auto;z-index:60}.cal-grid{grid-template-columns:40px repeat(7,minmax(80px,1fr))}}.titlebar{display:flex;align-items:stretch;height:32px;background:var(--card);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;overflow:hidden}.titlebar-brand{display:flex;align-items:center;gap:6px;padding:0 12px;flex:none;font-size:12px}.titlebar-brand img{border-radius:3px}.titlebar-brand .muted-name{font-weight:500;color:var(--fg-dim)}.titlebar-brand .strong-name{font-weight:600;color:var(--fg)}.titlebar-sep{width:1px;height:14px;background:var(--border);align-self:center;flex:none}.titlebar-mid{flex:1;min-width:8px;display:flex;align-items:center;justify-content:center;padding:0 12px}.titlebar-mid .search{width:100%;max-width:520px;-webkit-app-region:no-drag}.titlebar-right{display:flex;align-items:center;gap:4px;padding:0 6px;flex:none}.profile-btn{display:flex;align-items:center;gap:6px;height:24px;padding:0 6px 0 3px;border-radius:4px;background:none;border:none;color:var(--fg-dim);font-size:12px}.profile-btn:hover{background:var(--secondary);color:var(--fg)}.profile-btn span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.win-controls{display:flex;align-items:stretch;flex:none}.win-controls button{width:36px;display:grid;place-items:center;background:none;border:none;color:var(--fg-dim);transition:background .1s,color .1s}.win-controls button:hover{background:var(--secondary);color:var(--fg)}.win-controls button.close:hover{background:#f94144;color:#fff}.login-screen{height:100%;display:flex;flex-direction:column;background:var(--bg)}.login-center{flex:1;display:grid;place-items:center;padding:24px;overflow:auto}.login-form{width:100%;max-width:384px;display:grid;gap:16px}.login-head{display:grid;justify-items:center;gap:4px;text-align:center;margin-bottom:8px}.login-head img{margin-bottom:10px;border-radius:14px}.login-head h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em}.login-head p{margin:0;color:var(--fg-dim);font-size:14px}.form-row{display:grid;gap:6px}.form-row label{font-size:14px;font-weight:500}.login-form .input{min-height:36px;border-radius:6px;border-bottom-color:var(--border);background:var(--input);padding:6px 12px}.login-form .input:focus{border-color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:6px;box-shadow:0 0 0 1px var(--accent)}.login-form .btn{height:36px;border-radius:6px}.login-error{margin:0;color:#ff847d;color:oklch(.75 .17 25);font-size:14px}.login-switch{margin:0;text-align:center;color:var(--fg-dim);font-size:14px}.link-btn.muted-link{color:var(--fg-dim);text-decoration:underline;font-size:12.5px}.link-btn{background:none;border:none;color:var(--accent);padding:0;font-weight:500;text-decoration:none}.link-btn:hover{text-decoration:underline;text-underline-offset:3px}.msg{display:flex;gap:10px;padding:4px 14px;border-radius:8px;position:relative;align-items:flex-start}.msg.mine{justify-content:flex-end}.msg-col{position:relative;min-width:0;max-width:min(720px,84%);display:flex;flex-direction:column;align-items:flex-start}.msg.mine .msg-col{align-items:flex-end}.msg .avatar-slot{flex:none;width:36px}.msg.compact .avatar-slot{visibility:hidden;height:0}.msg .meta{display:flex;align-items:baseline;gap:8px;margin-bottom:2px;padding:0 2px}.msg .author{font-weight:700}.msg .stamp{font-size:11.5px;color:var(--fg-dim)}.msg .edited{font-size:11px;color:var(--fg-dim)}.bubble{position:relative;background:var(--card);border:1px solid var(--border-soft);border-radius:4px 12px 12px;padding:8px 12px;overflow-wrap:anywhere;max-width:100%}.msg.mine .bubble{background:var(--accent-soft);border-color:color-mix(in oklch,var(--accent) 35%,transparent);border-radius:12px 4px 12px 12px}.msg.compact .bubble{border-top-left-radius:12px}.msg.mine.compact .bubble{border-top-right-radius:12px}.bubble.pinned:after{content:"📌";position:absolute;top:-9px;right:-7px;font-size:12px}.bubble .subject{font-weight:700;font-size:15px;margin-bottom:2px}.bubble .text{overflow-wrap:anywhere}.bubble .attachments{margin-top:6px}.bubble .text+.attachments{margin-top:8px}.msg.deleted .bubble{background:transparent;border-style:dashed;color:var(--fg-dim);font-style:italic}.msg.highlight,.highlight .msg{animation:flash 1.6s ease-out}.msg .toolbar{position:absolute;top:-16px;left:6px;display:none;background:var(--popover);border:1px solid var(--border-soft);border-radius:6px;padding:2px;box-shadow:0 6px 18px #01020380;z-index:5}.msg.mine .toolbar{left:auto;right:6px}.msg:hover .toolbar,.msg.menu-open .toolbar{display:flex}.msg.mine .reactions{justify-content:flex-end}.msg.mine .thread-link{align-self:flex-end}.msg:hover,.msg.menu-open{background:transparent}.msg .quick{display:flex;gap:1px;align-items:center}.msg .quick button{background:none;border:none;font-size:17px;width:30px;height:30px;border-radius:4px}.msg .quick button:hover{background:var(--muted)}@keyframes flash{0%{background:var(--accent-soft)}to{background:transparent}}.quote{display:block;width:100%;text-align:left;background:#15161b59;border:none;border-left:3px solid var(--accent);border-radius:4px;padding:5px 10px;margin:0 0 6px;cursor:pointer;color:inherit}.quote:hover{background:#15161b80}.quote-author{display:block;font-size:12px;font-weight:700;color:var(--accent)}.quote-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;color:var(--fg-muted);overflow-wrap:anywhere}.reply-bar{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:6px 6px 6px 10px;background:var(--card);border:1px solid var(--border-soft);border-left:3px solid var(--accent);border-radius:6px}.reply-bar .who{flex:1;min-width:0}.reply-bar .quote-author{font-size:12px}.reply-bar .quote-text{-webkit-line-clamp:1}.call-detail{padding:28px 32px;display:grid;gap:18px;max-width:640px;overflow:auto}.call-detail-head{display:flex;gap:16px;align-items:center}.call-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:var(--card);border:1px solid var(--border-soft);border-radius:8px;padding:14px 16px}.call-stats .muted{font-size:12px;margin-bottom:2px}.titlebar-mid .search input{min-height:24px;height:24px;padding-top:0;padding-bottom:0}.titlebar-mid .search input:focus{padding-bottom:0;border-bottom-width:2px}.call-detail .section-label{margin-bottom:-8px}.nav-section{display:flex;align-items:center;justify-content:space-between;padding:12px 4px 2px 2px}.nav-section-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--fg-dim);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px}.nav-section-btn:hover{color:var(--fg);background:var(--muted)}.nav-section-actions{display:flex;gap:2px}.quick-ico{width:24px;display:grid;place-items:center;color:var(--fg-muted);flex:none}.quick-ico.big{width:36px;height:36px;border-radius:50%;background:var(--secondary)}.count{font-size:12px;color:var(--fg-dim)}.row .star{opacity:0;color:var(--fg-dim)}.row:hover .star,.row:focus-within .star,.row .star.on{opacity:1}.row .star.on,.row .star:hover{color:var(--accent)}.quick-list{flex:1;overflow:auto;padding:8px 16px;min-height:0}.quick-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:8px;cursor:pointer;border-bottom:1px solid var(--border-soft)}.quick-item:hover{background:var(--card)}.quick-item .grow{flex:1;min-width:0}.quick-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.quick-top .muted{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-text{color:var(--fg-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.msg.pending{opacity:.6}.top{display:block}.update-bar{display:flex;align-items:center;gap:8px;height:28px;padding:0 16px;background:color-mix(in oklch,var(--accent) 10%,transparent);border-bottom:1px solid color-mix(in oklch,var(--accent) 20%,transparent)}.update-track{position:relative;flex:1;height:4px;border-radius:999px;background:color-mix(in oklch,var(--accent) 20%,transparent);overflow:hidden}.update-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:999px;overflow:hidden;transition:width .3s}.update-shimmer{position:absolute;top:0;bottom:0;width:33.333%;background:linear-gradient(to right,transparent,rgba(255,255,255,.9) 50%,transparent);animation:update-shimmer 1.2s ease-in-out infinite}@keyframes update-shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}.update-text,.update-primary,.update-later{font-size:12px;white-space:nowrap;color:var(--accent)}.update-actions{display:flex;align-items:center;gap:8px}.update-primary,.update-later{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:12px;transition:color .15s}.update-primary{font-weight:500}.update-primary:hover{filter:brightness(1.15)}.update-later{opacity:.6}.update-later:hover{opacity:1}.update-dot{color:color-mix(in oklch,var(--accent) 30%,transparent)}.shell{grid-template-rows:auto minmax(0,1fr) auto}.bottombar{position:relative;display:flex;align-items:center;gap:10px;height:28px;padding:0 10px;background:var(--card);border-top:1px solid var(--border);font-size:12px;color:var(--fg-dim);-webkit-user-select:none;user-select:none;flex:none}.bb-btn{display:flex;align-items:center;gap:6px;height:20px;padding:0 8px;border:0;border-radius:4px;background:none;color:var(--fg-dim);font-size:12px}.bb-btn:hover,.bb-btn.active{color:var(--fg);background:var(--accent-soft)}.bb-version{opacity:.55}.bb-status{display:flex;align-items:center;gap:6px}.bb-status i{width:7px;height:7px;border-radius:50%;background:var(--warn)}.bb-status i.ok{background:var(--success)}.bb-server{opacity:.55}.settings-panel{position:absolute;left:8px;bottom:calc(100% + 6px);z-index:90;width:340px;max-width:calc(100vw - 16px);max-height:min(72vh,600px);display:flex;flex-direction:column;background:var(--popover);border:1px solid var(--border-soft);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.sp-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-soft)}.sp-dim{color:var(--fg-dim)}.sp-body{overflow-y:auto;padding:12px 14px 14px;display:grid;gap:18px}.sp-body h4{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.sp-body section{display:grid;gap:4px}.sp-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.sp-presets button{display:grid;justify-items:center;gap:4px;background:none;border:0;padding:0;color:var(--fg-dim);font-size:10.5px}.sp-presets i{width:30px;height:30px;border-radius:50%;transition:transform .12s}.sp-presets button:hover i{transform:scale(1.1)}.sp-presets i.on{outline:2px solid var(--fg);outline-offset:2px;transform:scale(1.1)}.sp-slider{display:grid;gap:4px;font-size:12.5px;margin-top:4px}.sp-slider>span{display:flex;justify-content:space-between}.sp-slider input[type=range]{width:100%;accent-color:var(--accent)}.msg.touch-open .toolbar{display:flex}
