:root{--bg: #FAFBFF;--surface: #FFFFFF;--elevated: #FFFFFF;--sunken: #EFF0F4;--text: #191C20;--text2: #5D5F63;--text3: #909296;--primary: #0060B0;--on-primary: #FFFFFF;--primary-c: #D5E5FF;--on-primary-c: #001C39;--success: #0F7A46;--danger: #B3261E;--warning: #A66C00;--border: #DBDCE0;--border2: #C7C8CC;--divider: #E9EAEE;--mine: #0060B0;--on-mine: #FFFFFF;--theirs: #EFF0F4;--on-theirs: #191C20;--scrim: rgba(0, 0, 0, .32);--amber: #F2A93B;--amber-deep: #D98A1C;--green: #30A46C;--coral: #EB6B5B;--violet: #7B61FF;--deep: #0B5CB0;--top: 52px;--bottom: 56px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--map-pin: url(/map/map_pin.png);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0A0D12;--surface: #191C20;--elevated: #282C31;--sunken: #000000;--text: #E9EAEE;--text2: #ABADB1;--text3: #76787C;--primary: #7DB2FF;--on-primary: #003060;--primary-c: #004788;--on-primary-c: #D5E5FF;--success: #22C55E;--danger: #EF4444;--warning: #F59E0B;--border: #37393E;--border2: #45474B;--divider: #2E3135;--mine: #1B5BA8;--on-mine: #F2F6FF;--theirs: #282C31;--on-theirs: #E9EAEE;--scrim: rgba(0, 0, 0, .55);--deep: #2D7BD8;--map-pin: url(/map/map_pin_dark.png);color-scheme:dark}}:root[data-theme=dark]{--bg: #0A0D12;--surface: #191C20;--elevated: #282C31;--sunken: #000000;--text: #E9EAEE;--text2: #ABADB1;--text3: #76787C;--primary: #7DB2FF;--on-primary: #003060;--primary-c: #004788;--on-primary-c: #D5E5FF;--success: #22C55E;--danger: #EF4444;--warning: #F59E0B;--border: #37393E;--border2: #45474B;--divider: #2E3135;--mine: #1B5BA8;--on-mine: #F2F6FF;--theirs: #282C31;--on-theirs: #E9EAEE;--scrim: rgba(0, 0, 0, .55);--deep: #2D7BD8;--map-pin: url(/map/map_pin_dark.png);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea{font:inherit;color:inherit}a{color:var(--primary)}.title{font-size:19px;line-height:24px;font-weight:700}.display{font-size:24px;line-height:30px;font-weight:700;letter-spacing:-.2px}.headline{font-size:16px;line-height:21px;font-weight:600}.strong{font-weight:600}.callout{font-size:14px;line-height:19px}.subhead{font-size:13px;line-height:18px;font-weight:500}.caption{font-size:12px;line-height:16px}.overline{font-size:11px;line-height:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text3)}.t2{color:var(--text2)}.t3{color:var(--text3)}.tp{color:var(--primary)}.td{color:var(--danger)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row{display:flex;align-items:center;min-width:0}.col{display:flex;flex-direction:column;min-width:0}.grow{flex:1;min-width:0}.gap4{gap:4px}.gap8{gap:8px}.gap12{gap:12px}.press{transition:transform .12s ease,background .12s ease;cursor:pointer;user-select:none}.press:active{transform:scale(.97)}.press-row:hover{background:var(--sunken)}.btn{height:48px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:600;background:var(--primary);color:var(--on-primary)}.btn.small{height:36px;padding:0 14px;font-size:13px}.btn.tonal{background:var(--primary-c);color:var(--on-primary-c)}.btn.ghost{background:transparent;color:var(--primary)}.btn.danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.5;cursor:default}.icon-btn{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none}.icon-btn:hover{background:var(--sunken)}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;line-height:18px;font-weight:700;text-align:center;flex:none}.dot{width:8px;height:8px;border-radius:50%;background:var(--danger)}.field{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border-radius:var(--r-md);background:var(--sunken);border:1.5px solid transparent}.field:focus-within{border-color:var(--primary);background:var(--surface)}.field input{flex:1;min-width:0;border:0;outline:0;background:transparent}.field:has(textarea){height:auto;min-height:48px;padding:10px 14px;align-items:flex-start}.field textarea{flex:1;min-width:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;resize:vertical;min-height:44px}.search{height:38px;border-radius:999px;padding:0 12px}.label{font-size:13px;font-weight:500;color:var(--text2);margin:0 0 6px 2px}.error{color:var(--danger);font-size:12px;margin-top:4px}.avatar{position:relative;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;overflow:visible}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar .online{position:absolute;right:0;bottom:0;width:28%;height:28%;min-width:10px;min-height:10px;border-radius:50%;background:var(--success);border:2px solid var(--bg)}.spinner{width:22px;height:22px;border-radius:50%;border:2.4px solid var(--primary);border-right-color:transparent;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.empty .sub{max-width:320px}.divider{height:.6px;background:var(--divider)}.toast{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:60;max-width:420px;padding:10px 14px;border-radius:16px;background:var(--text);color:var(--bg);font-size:14px;display:flex;gap:8px;align-items:center;box-shadow:0 6px 24px #0003;animation:drop .2s ease}.toast.err{background:var(--danger);color:#fff}.update-bar{position:fixed;left:50%;bottom:calc(16px + var(--kb, 0px));transform:translate(-50%);z-index:59;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:999px;background:var(--text);color:var(--bg);box-shadow:0 6px 24px #00000040;font-size:14px}.update-bar button{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:6px 14px;font-weight:600}.update-bar button.close{background:transparent;color:inherit;opacity:.7;padding:6px 8px}@keyframes drop{0%{transform:translate(-50%,-20px);opacity:0}}.toggle{width:46px;height:28px;border-radius:14px;background:var(--border2);position:relative;flex:none;transition:background .15s ease}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.toggle.on{background:var(--primary)}.toggle.on:after{transform:translate(18px)}.shell{height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.rail{position:fixed;left:0;right:0;bottom:0;height:calc(var(--bottom) + env(safe-area-inset-bottom));z-index:20;display:flex;background:var(--surface);border-top:.6px solid var(--divider);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text3);font-size:10.5px;line-height:13px;font-weight:500;position:relative}.tab .pill{width:52px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center}.tab.on{color:var(--primary);font-weight:700}.tab.on .pill{background:var(--primary-c)}.tab .dot{position:absolute;top:6px;right:calc(50% - 22px)}.rail .me,.rail .logo{display:none}.pane{height:100%;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg);position:relative}.pane.list{padding-bottom:calc(var(--bottom) + env(safe-area-inset-bottom))}.pane.main{position:fixed;inset:0;bottom:var(--kb, 0px);z-index:30}@media(max-width:899px){.kb-open .rail{display:none}.kb-open .pane.list{padding-bottom:0}}.pane.main.idle{display:none}@media(min-width:900px){.shell{grid-template-columns:72px 380px 1fr}.rail{position:static;height:100%;flex-direction:column;border-top:0;border-right:.6px solid var(--divider);padding:10px 0;gap:6px}.rail .logo,.rail .me{display:flex;justify-content:center}.rail .logo{margin-bottom:10px}.rail .me{margin-top:auto}.tab{flex:none;height:60px}.pane.list{padding-bottom:0;border-right:.6px solid var(--divider)}.pane.main,.pane.main.idle{position:static;display:flex}}.topbar{height:var(--top);flex:none;display:flex;align-items:center;gap:2px;padding:0 6px;background:var(--bg)}.topbar .center{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:0 4px}.scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.chips{display:flex;gap:8px;padding:6px 12px;overflow-x:auto;scrollbar-width:none}.chip{height:32px;padding:0 14px;border-radius:999px;background:var(--sunken);display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;white-space:nowrap;flex:none}.chip.on{background:var(--primary);color:var(--on-primary)}.conv{height:72px;display:flex;align-items:center;gap:12px;padding:0 14px}.conv.active{background:color-mix(in srgb,var(--primary) 16%,transparent)}.conv .line{display:flex;align-items:center;gap:6px}.list-row{min-height:52px;display:flex;align-items:center;gap:12px;padding:8px 16px}.section-title{padding:14px 16px 4px}.tile{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}.timeline{flex:1;overflow-y:auto;display:flex;flex-direction:column-reverse;padding:8px 0 6px}.day{align-self:center;margin:10px 0;padding:4px 12px;border-radius:999px;background:var(--sunken);color:var(--text2);font-size:12px}.unread-sep{display:flex;align-items:center;gap:10px;margin:8px 16px;color:var(--primary)}.unread-sep:before,.unread-sep:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--primary) 35%,transparent)}.msg{display:flex;align-items:flex-end;gap:6px;padding:1.5px 8px}.msg.mine{justify-content:flex-end}.msg.first{padding-top:6px}.msg .stack{display:flex;flex-direction:column;max-width:min(78%,560px)}.msg.mine .stack{align-items:flex-end}.bubble{border-radius:18px;padding:7px 12px;background:var(--theirs);color:var(--on-theirs);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;position:relative}.mine .bubble{background:var(--mine);color:var(--on-mine)}.msg:not(.mine).mid .bubble,.msg:not(.mine).last-no .bubble{border-bottom-left-radius:5px}.msg:not(.mine).cont .bubble{border-top-left-radius:5px}.msg.mine.cont .bubble{border-top-right-radius:5px}.msg.mine.last-no .bubble{border-bottom-right-radius:5px}.bubble a{color:inherit}.bubble .meta{display:flex;justify-content:flex-end;align-items:center;gap:3px;font-size:11px;opacity:.75;margin-top:1px}.bubble.recalled{background:transparent;border:1px solid var(--border);color:var(--text3);font-style:italic}.emoji-only{font-size:42px;line-height:50px}.quote{display:flex;gap:8px;border-radius:10px;padding:4px 10px 4px 0;margin:1px 0 4px;background:color-mix(in srgb,currentColor 8%,transparent);cursor:pointer}.quote:before{content:"";width:3px;border-radius:2px;background:currentColor;opacity:.5;flex:none}.sender{font-size:12px;margin:0 0 2px 12px;font-weight:600}.reactions{display:flex;gap:4px;margin:2px 4px 0}.reaction{padding:2px 7px;border-radius:999px;background:var(--elevated);box-shadow:0 0 0 1px var(--divider);font-size:14px;display:flex;gap:3px;align-items:center}.reaction.mine-r{background:var(--primary-c)}.typing{display:inline-flex;gap:5px;padding:12px 14px;border-radius:18px;background:var(--theirs);margin:4px 12px;align-self:flex-start}.typing i{width:7px;height:7px;border-radius:50%;background:var(--text2);animation:bounce 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}.composer{display:flex;align-items:flex-end;gap:4px;padding:6px;border-top:.6px solid var(--divider);background:var(--bg)}.composer textarea{flex:1;resize:none;border:0;outline:0;background:var(--sunken);border-radius:20px;padding:10px 14px;min-height:40px;max-height:140px;line-height:20px}.strip{display:flex;align-items:center;gap:10px;padding:4px 4px 0 14px}.start{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;text-align:center}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40;animation:fade .15s ease}.sheet{position:fixed;left:50%;bottom:var(--kb, 0px);transform:translate(-50%);width:min(640px,100%);overflow-y:auto;z-index:41;max-height:80vh;max-height:calc((100dvh - var(--kb, 0px)) * .85);background:var(--elevated);border-radius:24px 24px 0 0;padding:8px 0 calc(12px + env(safe-area-inset-bottom));animation:up .22s ease}.sheet .grip{width:38px;height:5px;border-radius:3px;background:var(--border2);margin:0 auto 8px}.dialog{position:fixed;left:50%;top:calc((100% - var(--kb, 0px)) / 2);transform:translate(-50%,-50%);width:min(420px,calc(100% - 48px));z-index:41;background:var(--elevated);border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:12px}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translate(-50%,100%)}}.call{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;color:#fff;background:linear-gradient(#0b1f3a,#06101f);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.call.incoming{background:linear-gradient(#123b6e,#06101f);align-items:center}.call .grid{flex:1;min-height:0;display:grid;gap:8px;padding:8px;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr)}.call .grid[data-n="2"],.call .grid[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.call .grid[data-n="3"],.call .grid[data-n=many]{grid-template-columns:repeat(3,minmax(0,1fr))}@media(orientation:portrait){.call .grid[data-n="2"]{grid-template-columns:minmax(0,1fr)}.call .grid[data-n="3"],.call .grid[data-n=many]{grid-template-columns:repeat(2,minmax(0,1fr))}}.call .tilev{position:relative;border-radius:18px;overflow:hidden;background:#ffffff26;min-height:0;display:flex;align-items:center;justify-content:center}.call .tilev.speaking{box-shadow:0 0 0 3px #4795f0}.call video{width:100%;height:100%;object-fit:cover}.call .name{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:10px;background:#0006;font-size:12px}.call .ctrls{flex:none;display:flex;justify-content:center;gap:18px;padding:18px}.cbtn{width:54px;height:54px;border-radius:50%;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center}.cbtn.off{background:#fff;color:#0b1f3a}.cbtn.end{background:#e5484d;width:60px;height:60px}.cbtn.ok{background:#30a46c;width:68px;height:68px}.callbar{height:28px;background:#30a46c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;cursor:pointer}.auth{min-height:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:20px;background:linear-gradient(color-mix(in srgb,var(--primary-c) 55%,transparent),var(--bg) 60%)}.card{width:min(440px,100%);background:var(--surface);border-radius:26px;padding:18px;display:flex;flex-direction:column;gap:14px}.msg .msg-more{width:30px;height:30px;color:var(--text3);opacity:0;align-self:center}.msg.mine .msg-more{order:-1}.msg:hover .msg-more{opacity:1}@media(hover:none){.msg .msg-more{display:none}}.msg .stack{-webkit-touch-callout:none}
