@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f2f4f7;--panel:#fff;--panel-2:#e9ecf1;--line:#e1e5ec;--text:#111418;--muted:#5f6b7a;--accent:#0d9488;--accent-ink:#fff;--theirs:#fff;--mine-ink:#fff;--danger:#c62828;--warn:#b45309;--shadow:0 12px 40px #10182829;--font-scale:1;--radius:18px;--tight:5px;--row-pad:10px;--sidebar-w:360px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark],:root[data-theme=black]{--bg:#0b0e13;--panel:#12161d;--panel-2:#1c222c;--line:#232a35;--text:#e8ecf2;--muted:#8b95a5;--theirs:#161b23;--danger:#ff7b7b;--warn:#f5b85a;--shadow:0 12px 40px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=black]{--bg:#000;--panel:#0a0a0a;--panel-2:#161616;--line:#1d1d1d;--theirs:#121212}:root[data-bubble=soft]{--radius:26px;--tight:8px}:root[data-bubble=square]{--radius:6px;--tight:3px}:root[data-density=compact]{--row-pad:6px}:root[data-motion=reduced] *{scroll-behavior:auto!important;transition:none!important;animation:none!important}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{font-size:calc(15px * var(--font-scale))}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";font:1rem/1.45 Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}ul.plain,.chat-list,.net-list{margin:0;padding:0;list-style:none}a{color:var(--accent)}small{color:var(--muted);font-size:.8rem}kbd{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:2px 7px;font:600 .75rem ui-monospace,monospace}kbd.capturing{border-color:var(--accent);color:var(--accent)}.muted{color:var(--muted)}.error{color:var(--danger);font-size:.93rem}.warn{color:var(--warn)}.accent{color:var(--accent)}.pad{padding:8px 20px}.pad-x{padding-left:16px;padding-right:16px}.grow{flex:1;min-width:0}.danger{color:var(--danger)}.mono{word-break:break-all;font-family:ui-monospace,monospace;font-size:.8rem}.stack{gap:10px;display:grid}.stack.center{text-align:center;justify-items:center}.col{text-align:left;gap:1px;min-width:0;display:grid}.row-end{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.clip{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.clip2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}input,textarea,select{background:var(--panel-2);border:1px solid #0000;border-radius:12px;outline:none;width:100%;padding:10px 12px;transition:border-color .15s}select{width:auto;max-width:260px;padding-right:8px}input[type=range]{width:150px;accent-color:var(--accent);padding:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}input[type=time],input[type=datetime-local]{width:auto}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.primary{background:var(--accent);color:var(--accent-ink);border-radius:14px;padding:12px 18px;font-weight:600}.primary.danger{background:var(--danger);color:#fff}.primary:disabled{opacity:.5;cursor:default}.link{color:var(--accent);border-radius:8px;padding:6px 8px;font-size:.93rem}.link:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.link.inline{padding:0 0 0 8px;font-size:.8rem}.link.danger{color:var(--danger)}.pill{background:var(--panel-2);border-radius:999px;padding:7px 15px;font-size:.93rem;font-weight:600}.pill:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.icon{width:38px;height:38px;color:var(--muted);border-radius:50%;flex:none;place-items:center;transition:background .12s,color .12s;display:grid}.icon:hover{background:var(--panel-2);color:var(--text)}.icon.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.icon.sm{width:32px;height:32px;position:relative}.dot-badge{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:5px;right:5px}.spinner{border:2px solid var(--line);border-top-color:var(--accent);vertical-align:-1px;border-radius:50%;width:12px;height:12px;margin-right:4px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.25rem;display:flex}.logo-mark{background:var(--accent);border-radius:8px;flex:none;width:28px;height:28px;display:inline-block;position:relative}.logo-mark:before,.logo-mark:after{content:"";background:var(--accent-ink);border-radius:2px;height:2.5px;position:absolute;left:7px}.logo-mark:before{box-shadow:0 5px 0 var(--accent-ink);top:9px;right:7px}.logo-mark:after{top:19px;right:13px}.logo-mark.big{border-radius:17px;width:60px;height:60px}.logo-mark.big:before,.logo-mark.big:after{height:4px;left:14px}.logo-mark.big:before{box-shadow:0 10px 0 var(--accent-ink);top:18px;right:14px}.logo-mark.big:after{top:38px;right:26px}.splash,.blank{height:100%;color:var(--muted);place-content:center;justify-items:center;gap:14px;display:grid}.empty{text-align:center;color:var(--muted);justify-items:center;gap:6px;padding:44px 28px;display:grid}.empty>span{background:color-mix(in srgb, var(--accent) 12%, transparent);width:78px;height:78px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.empty h3{color:var(--text);margin:0;font-size:1.05rem}.empty p{max-width:320px;margin:0 0 8px}.auth{place-items:center;min-height:100%;padding:20px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:24px;gap:14px;padding:34px;display:grid}.auth-card h1{letter-spacing:-.03em;margin:16px 0 0;font-size:1.7rem}.auth-card p{margin:-6px 0 6px}label{color:var(--muted);gap:6px;font-size:.87rem;font-weight:600;display:grid}label small{font-weight:400}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100%;display:grid}.main{background:var(--bg);min-width:0;min-height:0}.sidebar{background:var(--panel);border-right:1px solid var(--line);min-height:0;width:var(--sidebar-w);flex-direction:column;display:flex}.side-head{justify-content:space-between;align-items:center;min-height:64px;padding:14px 12px 6px 18px;display:flex}.side-head h1{letter-spacing:-.03em;margin:0;font-size:1.7rem;font-weight:700;line-height:1.1}.side-head small{margin-top:1px;display:block}.side-head.sel h1{flex:1;margin-left:6px;font-size:1.1rem}.head-actions{align-items:center;gap:2px;display:flex}.menu-wrap{position:relative}.menu{z-index:30;background:var(--panel);border:1px solid var(--line);min-width:230px;box-shadow:var(--shadow);border-radius:16px;padding:6px;position:absolute;top:42px;right:0}.menu.up{inset:auto auto 50px 0}.menu.ctx{width:max-content;min-width:200px;max-width:min(280px,100vw - 16px);position:fixed;bottom:auto;right:auto}.ctx-backdrop{z-index:29;position:fixed;inset:0}.menu button{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:9px 12px;display:flex}.menu button:hover{background:var(--panel-2)}.menu button svg{color:var(--muted);flex:none}.menu button.danger,.menu button.danger svg{color:var(--danger)}.menu-id{color:var(--muted);word-break:break-all;padding:8px 12px;font-size:.8rem}.pill-search{background:var(--panel-2);color:var(--muted);border-radius:999px;align-items:center;gap:10px;height:44px;margin:4px 14px 8px;padding:0 8px 0 16px;display:flex}.pill-search input{background:0 0;border:0;flex:1;height:100%;padding:0}.pill-search.wide{margin:8px 20px}.pill-search svg{flex:none}.tabs{scrollbar-width:none;flex:none;gap:6px;padding:0 14px 8px;display:flex;overflow-x:auto}.tab{background:var(--panel-2);white-space:nowrap;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:.87rem;font-weight:500;transition:background .12s;display:inline-flex}.tab:hover{background:color-mix(in srgb, var(--accent) 12%, var(--panel-2))}.tab.on{background:var(--accent);color:var(--accent-ink)}.tab b{margin-left:2px;font-weight:700}.tabs.flat{padding:8px 16px}.banner{background:color-mix(in srgb, var(--danger) 14%, transparent);text-align:left;border-radius:14px;align-items:center;gap:10px;width:calc(100% - 28px);margin:0 14px 8px;padding:10px 12px;font-size:.87rem;display:flex}.banner span{flex:1}.banner b{color:var(--accent)}.banner svg{color:var(--danger);flex:none}.chat-scroll{flex:1;padding:0 8px 12px;overflow-y:auto}.pins{scrollbar-width:none;gap:4px;padding:6px 4px 10px;display:flex;overflow-x:auto}.pin-chip{border-radius:14px;flex:none;justify-items:center;gap:5px;width:74px;padding:6px 2px;display:grid}.pin-chip:hover,.pin-chip.sel{background:var(--panel-2)}.pin-chip.dragging{opacity:.4}.pin-av{position:relative}.pin-dot{background:var(--accent);border:2.5px solid var(--panel);border-radius:50%;width:14px;height:14px;position:absolute;top:0;right:0}.pin-dot.muted{background:var(--muted)}.pin-name{text-overflow:ellipsis;white-space:nowrap;max-width:70px;font-size:.75rem;font-weight:500;overflow:hidden}.chat-row{text-align:left;width:100%;padding:var(--row-pad) 10px;border-radius:14px;align-items:center;gap:13px;transition:background .1s;display:flex}.chat-row:hover{background:var(--panel-2)}.chat-row.sel{background:color-mix(in srgb, var(--accent) 15%, transparent)}.chat-row.picked{background:color-mix(in srgb, var(--accent) 12%, transparent)}.check{color:var(--muted);flex:none}.check.on{color:var(--accent)}.chat-main{flex:1;min-width:0}.chat-top,.chat-bottom{align-items:center;gap:8px;display:flex}.chat-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-weight:600;overflow:hidden}.unread-name{font-weight:800}.muted-icon{color:var(--muted);flex:none}.chat-top .chat-time{margin-left:auto}.chat-time{color:var(--muted);flex:none;font-size:.75rem;font-weight:500}.chat-time.hot{color:var(--accent)}.chat-net{font-size:.72rem;font-weight:500}.chat-bottom{justify-content:space-between;margin-top:1px}.chat-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.chat-preview.accent{color:var(--accent)}.unread{background:var(--accent);min-width:20px;height:20px;color:var(--accent-ink);border-radius:10px;flex:none;place-items:center;padding:0 6px;font-size:.75rem;font-weight:700;display:grid}.unread:empty{width:11px;min-width:11px;height:11px;padding:0}.unread.muted-badge{background:var(--muted)}.avatar{flex:none;position:relative}.avatar>img,.avatar>span{object-fit:cover;color:#fff;border-radius:50%;place-items:center;width:100%;height:100%;font-weight:600;display:grid}.avatar.squircle>img,.avatar.squircle>span{border-radius:30%}.avatar .badge{border:2px solid var(--panel);color:#fff;border-radius:50%;place-items:center;font-style:normal;font-weight:700;line-height:1;display:grid;position:absolute;bottom:-3px;right:-3px}.page{flex-direction:column;height:100%;display:flex}.page>header{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:64px;padding:10px 16px;display:flex}.page>header h2{letter-spacing:-.02em;margin:0;font-size:1.25rem}.page-body{flex:1;width:100%;max-width:760px;padding-bottom:40px;overflow-y:auto}.back{display:none}.back.always{display:grid}.group{padding:4px 16px}.group-card{background:var(--panel);border-radius:16px;overflow:hidden}.group-footer{color:var(--muted);margin:6px 16px 0;font-size:.8rem}.sec{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:18px 16px 6px;font-size:.72rem;font-weight:700}.srow{align-items:center;gap:14px;min-height:50px;padding:12px 16px;display:flex}.srow+.srow{border-top:1px solid var(--line)}.srow.click{cursor:pointer}.srow.click:hover{background:var(--panel-2)}.srow-text{flex:1;min-width:0}.srow-text small{display:block}.srow-ctl{flex:none;align-items:center;gap:8px;display:flex}.chev{color:var(--muted);opacity:.6;flex:none}.tile,.tile-icon{background:var(--accent);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.switch{background:var(--panel-2);border:1px solid var(--line);border-radius:13px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.switch i{background:var(--muted);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent);border-color:var(--accent)}.switch.on i{background:var(--accent-ink);transform:translate(18px)}.switch:disabled{opacity:.45;cursor:default}.list-btn{text-align:left;width:100%;color:inherit;align-items:center;gap:13px;padding:10px 20px;text-decoration:none;display:flex}.list-btn:hover{background:var(--panel)}.list-btn.col{flex-direction:column;align-items:flex-start;gap:2px}.swatches{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:280px;display:flex}.swatches button{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.swatches button.on{outline:2px solid var(--text);outline-offset:2px}.quick-edit{gap:6px;display:flex}.quick-edit button{background:var(--panel-2);border-radius:50%;width:38px;height:38px;font-size:1.3rem}.toggle{color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;font-size:1rem;font-weight:400;display:flex}.toggle small{display:block}.inline-form{align-items:center;gap:8px;display:flex}.row-btn{text-align:left;background:var(--panel-2);border-radius:14px;align-items:center;gap:12px;width:100%;padding:13px 15px;display:flex}.row-btn:hover{background:color-mix(in srgb, var(--accent) 18%, var(--panel-2))}.row-btn b{flex:1;font-weight:500}.row-btn.pick.on{background:color-mix(in srgb, var(--accent) 16%, var(--panel-2))}.row-btn.pick svg:last-child{color:var(--accent)}.net-swatch{border-radius:4px;width:14px;height:14px}.chat{height:100%;display:flex;position:relative}.chat-col{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.chat-head{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:6px;min-height:64px;padding:8px 14px;display:flex}.head-id{text-align:left;border-radius:12px;flex:1;align-items:center;gap:12px;min-width:0;padding:4px 8px;display:flex}.head-id:hover{background:var(--panel-2)}.chat-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chat-sub{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.chat-sub i{border-radius:50%;width:7px;height:7px}.chat-sub.typing{color:var(--accent)}.timeline{flex-direction:column;flex:1;padding:14px 20px;display:flex;overflow-y:auto}.timeline>*{flex:none}.wp-dusk{background:linear-gradient(#e9e1fa, var(--bg))}.wp-forest{background:linear-gradient(#dceee3, var(--bg))}.wp-ocean{background:linear-gradient(#d9ecfa, var(--bg))}.wp-sand{background:linear-gradient(#f5ebda, var(--bg))}.wp-graphite{background:linear-gradient(#e3e6ea, var(--bg))}:root[data-theme=dark] .wp-dusk,:root[data-theme=black] .wp-dusk{background:linear-gradient(#1b1530, var(--bg))}:root[data-theme=dark] .wp-forest,:root[data-theme=black] .wp-forest{background:linear-gradient(#0e2219, var(--bg))}:root[data-theme=dark] .wp-ocean,:root[data-theme=black] .wp-ocean{background:linear-gradient(#0a1f33, var(--bg))}:root[data-theme=dark] .wp-sand,:root[data-theme=black] .wp-sand{background:linear-gradient(#2a2116, var(--bg))}:root[data-theme=dark] .wp-graphite,:root[data-theme=black] .wp-graphite{background:linear-gradient(#1c1f24, var(--bg))}.day{text-align:center;margin:12px 0}.day span{color:var(--muted);background:var(--panel);border-radius:999px;padding:4px 13px;font-size:.75rem;font-weight:500}.unread-divider{color:var(--accent);align-items:center;gap:10px;margin:10px 0;font-size:.75rem;font-weight:600;display:flex}.unread-divider:before,.unread-divider:after{content:"";background:color-mix(in srgb, var(--accent) 45%, transparent);flex:1;height:1px}.msg{flex-direction:column;align-items:flex-start;max-width:74%;margin-top:2px;display:flex}.msg.first{margin-top:10px}.msg.mine{align-self:flex-end;align-items:flex-end}.msg-sender{color:var(--muted);margin:0 14px 3px;font-size:.75rem;font-weight:600}.msg-line{align-items:center;gap:6px;max-width:100%;display:flex}.msg.mine .msg-line{flex-direction:row-reverse}.bubble{background:var(--theirs);border-radius:var(--radius);overflow-wrap:anywhere;max-width:100%;padding:8px 13px;position:relative;box-shadow:0 1px 1px #1018280a}.msg:not(.mine):not(.first) .bubble{border-top-left-radius:var(--tight)}.msg:not(.mine):not(.last) .bubble{border-bottom-left-radius:var(--tight)}.msg.mine:not(.first) .bubble{border-top-right-radius:var(--tight)}.msg.mine:not(.last) .bubble{border-bottom-right-radius:var(--tight)}.msg.mine .bubble{background:var(--accent);color:var(--accent-ink)}.msg.mine .bubble a{color:inherit}.bubble.bare{box-shadow:none;padding:0;background:0 0!important}.bubble.failed{outline:1px solid var(--danger);cursor:pointer}.bubble.media-bubble{padding:4px}.bubble .text{white-space:pre-wrap}.bubble .text code,.bubble code{background:color-mix(in srgb, currentColor 14%, transparent);border-radius:5px;padding:1px 5px;font:.88em ui-monospace,monospace}.bubble pre{margin:4px 0;overflow-x:auto}.bubble blockquote{border-left:3px solid color-mix(in srgb, currentColor 40%, transparent);margin:4px 0;padding-left:10px}.big-emoji{font-size:2.9rem;line-height:1.15}.bubble .meta{opacity:.7;white-space:normal;justify-content:flex-end;align-items:center;gap:5px;margin-top:2px;font-size:.68rem;display:flex}.media-bubble .meta{padding:0 8px 2px}.ticks{display:inline-flex}.ticks.read{opacity:1}.quote{border-left:3px solid color-mix(in srgb, currentColor 50%, transparent);opacity:.85;white-space:normal;margin:0 0 6px;padding-left:9px;font-size:.87rem;display:grid}.media-bubble .quote{margin:6px 8px}.quote span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hover-tools{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;gap:2px;padding:2px;display:none}.msg-line:hover .hover-tools{display:flex}.hover-tools button{width:30px;height:28px;color:var(--muted);border-radius:9px;place-items:center;display:grid}.hover-tools button:hover{background:var(--panel-2);color:var(--text)}.img-wrap{line-height:0;position:relative}.gif-tag{color:#fff;background:#0009;border-radius:5px;padding:2px 6px;font:700 .65rem system-ui;position:absolute;bottom:8px;left:8px}.media{cursor:zoom-in;border-radius:14px;max-width:min(320px,100%);max-height:380px;display:block}.media.sticker{background:0 0;border-radius:0;max-width:160px}.media.placeholder{background:color-mix(in srgb, currentColor 12%, transparent);cursor:pointer;white-space:normal;text-align:center;place-items:center;width:270px;max-width:100%;font-size:.87rem;display:grid}.file{cursor:pointer;white-space:normal;align-items:center;gap:12px;display:flex}.file small{opacity:.75;color:inherit;display:block}.file-ico{background:color-mix(in srgb, currentColor 13%, transparent);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.file-ico.red{color:#fff;background:#ef4444}.file.contact b{font-weight:600}audio{max-width:100%}.notice{opacity:.8;font-size:.93rem}.failed-note{color:var(--danger);margin:2px 6px;font-size:.75rem}.link-card{background:color-mix(in srgb, currentColor 9%, transparent);white-space:normal;border-radius:12px;gap:2px;margin-top:6px;padding:9px 11px;font-size:.87rem;text-decoration:none;display:grid;color:inherit!important}.link-card img{object-fit:cover;border-radius:8px;width:100%;max-height:150px;margin-top:6px}.link-card small{color:inherit;opacity:.65}.reactions{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.reactions button{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:.9rem}.reactions button.mine{background:color-mix(in srgb, var(--accent) 20%, var(--panel));border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.reactions small{margin-left:4px}.poll{white-space:normal;gap:4px;min-width:240px;display:grid}.poll small{color:inherit;opacity:.7}.poll-opt{text-align:left;background:color-mix(in srgb, currentColor 9%, transparent);border-radius:11px;align-items:center;gap:10px;padding:9px 11px;display:flex;position:relative;overflow:hidden}.poll-opt i{background:color-mix(in srgb, currentColor 14%, transparent);position:absolute;top:0;bottom:0;left:0}.poll-opt>*{position:relative}.poll-opt .radio{border:2px solid color-mix(in srgb, currentColor 55%, transparent);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;display:grid}.poll-opt .radio.box{border-radius:5px}.poll-opt.on .radio{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.msg.mine .poll-opt.on .radio{background:var(--accent-ink);color:var(--accent)}.poll-opt .opt-text{flex:1}.poll-opt .count{opacity:.8;font-weight:600}.poll-foot{justify-content:space-between;align-items:center;display:flex}.composer-wrap{background:var(--panel);border-top:1px solid var(--line);position:relative}.composer{align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.composer.rec{align-items:center}.composer .field{background:var(--panel-2);border-radius:24px;flex:1;align-items:flex-end;padding:2px 4px 2px 16px;display:flex}.composer textarea{resize:none;scrollbar-width:thin;background:0 0;border:0;max-height:168px;padding:11px 0;overflow-y:auto}.composer .plus{color:var(--accent);width:42px;height:42px;margin-bottom:3px}.rec-dot{background:#ef4444;border-radius:50%;width:11px;height:11px;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.35}}.send-group{display:flex}.send{background:var(--accent);width:46px;height:46px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.send-group .send{border-radius:23px 0 0 23px;width:44px}.send-more{background:var(--accent);width:26px;height:46px;color:var(--accent-ink);border-left:1px solid color-mix(in srgb, var(--accent-ink) 25%, transparent);border-radius:0 23px 23px 0;place-items:center;display:grid}.banner-bar{border-left:3px solid var(--accent);background:var(--panel-2);border-radius:10px;justify-content:space-between;align-items:center;margin:8px 12px 0;padding:6px 8px 6px 14px;display:flex}.banner-bar div{min-width:0;display:grid}.banner-bar b{color:var(--accent);font-size:.8rem}.banner-bar span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;overflow:hidden}.mentions{gap:6px;padding:8px 12px 0;display:flex;overflow-x:auto}.mentions button{background:var(--panel-2);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:4px 12px 4px 5px;display:flex}.attach-pop{z-index:30;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;grid-template-columns:repeat(3,92px);gap:6px;padding:14px;display:grid;position:absolute;bottom:52px;left:0}.attach-pop button{border-radius:14px;justify-items:center;gap:6px;padding:8px 0;font-size:.8rem;font-weight:500;display:grid}.attach-pop button:hover{background:var(--panel-2)}.attach-pop span{color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;font-size:.82rem;display:grid}.jump{background:var(--panel);border:1px solid var(--line);width:42px;height:42px;box-shadow:var(--shadow);z-index:5;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:82px;right:18px}.drop-hint{background:color-mix(in srgb, var(--accent) 20%, transparent);pointer-events:none;border:3px dashed var(--accent);z-index:40;place-items:center;font-size:1.4rem;font-weight:700;display:grid;position:absolute;inset:0}.msg-menu{width:270px}.quick{justify-content:space-between;padding:6px;display:flex}.quick button{border-radius:50%;justify-content:center;width:36px;height:36px;padding:0;font-size:1.3rem}.quick .more{background:var(--panel-2)}.viewer{z-index:60;background:#000000f0;display:grid;position:fixed;inset:0}.viewer-stage{place-items:center;display:grid;overflow:auto}.viewer-stage img{cursor:zoom-in;max-width:94vw;max-height:86vh}.viewer-stage img.zoom{cursor:zoom-out;max-width:none;max-height:none}.viewer-top{color:#fff;z-index:2;background:linear-gradient(#0009,#0000);align-items:center;gap:10px;padding:10px 14px;display:flex;position:fixed;top:0;left:0;right:0}.viewer-top small{color:#ffffffbf;display:block}.viewer-top .icon{color:#fff}.viewer-top .icon:hover{background:#ffffff26}.nav-arrow{color:#fff;z-index:2;background:#ffffff24;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.nav-arrow.left{left:16px}.nav-arrow.right{right:16px}.nav-arrow:hover{background:#ffffff40}.info{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;flex:none;width:330px;display:flex}.info>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;padding:8px 10px 8px 18px;display:flex}.info-body{padding-bottom:20px;overflow-y:auto}.info-id{justify-items:center;gap:4px;padding:20px 16px 8px;display:grid}.info-id h3{margin:8px 0 0;font-size:1.2rem}.info h4{color:var(--muted);margin:16px 20px 6px;font-size:.8rem;font-weight:600}.quick-actions{justify-content:space-around;padding:6px 8px 12px;display:flex}.quick-actions button{border-radius:12px;justify-items:center;gap:6px;min-width:64px;padding:6px 8px;font-size:.75rem;display:grid}.quick-actions span{background:var(--panel-2);width:46px;height:46px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.quick-actions .on span{background:var(--accent);color:var(--accent-ink)}.group-card.flat{background:var(--panel-2);border-radius:14px;margin:0 12px;overflow:hidden}.group-card.flat .toggle+.toggle{border-top:1px solid var(--line)}.sheet-item{text-align:left;align-items:center;gap:16px;width:100%;padding:12px 20px;display:flex}.sheet-item:hover{background:var(--panel-2)}.sheet-item svg{color:var(--muted);flex:none}.sheet-item div{display:grid}.sheet-item.danger,.sheet-item.danger svg{color:var(--danger)}.photo-grid{grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 16px;display:grid}.thumb{aspect-ratio:1;background:var(--panel-2);border-radius:10px;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.member{align-items:center;gap:12px;padding:6px 20px;display:flex}.member small{font-size:.7rem;display:block}.who{align-items:center;gap:12px;display:flex}.details{grid-template-columns:90px 1fr;gap:8px 12px;margin:0;display:grid}.details dt{color:var(--muted)}.details dd{margin:0}.overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05080c80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.overlay.top{place-items:start center;padding-top:12vh}.modal{background:var(--panel);border:1px solid var(--line);width:100%;max-width:440px;max-height:88vh;box-shadow:var(--shadow);border-radius:24px;padding:24px;animation:.14s ease-out pop;position:relative;overflow-y:auto}.modal.wide{max-width:560px}.modal h2{letter-spacing:-.02em;margin:0 0 10px;font-size:1.25rem}.modal .close{position:absolute;top:12px;right:12px}.modal .grab{display:none}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.palette{background:var(--panel);border:1px solid var(--line);width:100%;max-width:620px;box-shadow:var(--shadow);border-radius:20px;animation:.12s ease-out pop;overflow:hidden}.palette-input{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:14px 18px;display:flex}.palette-input input{color:var(--text);background:0 0;border:0;padding:0;font-size:1.05rem}.palette-list{max-height:52vh;padding:6px;overflow-y:auto}.palette-list h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:10px 12px 4px;font-size:.7rem}.palette-item{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:9px 12px;display:flex}.palette-item.on{background:color-mix(in srgb, var(--accent) 16%, transparent)}.pi{background:var(--panel-2);width:28px;height:28px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.emoji-tabs{gap:2px;margin:0 0 8px;padding-right:30px;display:flex;overflow-x:auto}.emoji-tabs button{border-radius:8px;padding:6px;font-size:1.2rem}.emoji-tabs button:hover{background:var(--panel-2)}.emoji-grid-wrap{max-height:340px;overflow-y:auto}.emoji-grid-wrap h4{color:var(--muted);margin:10px 4px 4px;font-size:.8rem}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));display:grid}.emoji-grid button{border-radius:10px;height:40px;font-size:1.6rem}.emoji-grid button:hover{background:var(--panel-2)}.gif-grid{columns:2;column-gap:6px;max-height:52vh;overflow-y:auto}.gif-grid button{background:var(--panel-2);break-inside:avoid;border-radius:12px;width:100%;margin-bottom:6px;display:block;overflow:hidden}.gif-grid img{object-fit:cover;width:100%;height:100%;display:block}.sticker-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-height:50vh;padding:8px;display:grid;overflow-y:auto}.sticker-cell{aspect-ratio:1;border-radius:12px;place-items:center;display:grid}.sticker-cell:hover{background:var(--panel-2)}.sticker-cell img{max-width:92%;max-height:92%}.net-list{margin:14px 0}.net-list li{align-items:center;gap:14px;padding:10px 0;display:flex}.net-dot{color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font:700 1rem system-ui;display:grid}.net-info{flex:1;min-width:0;display:grid}.fine{color:var(--muted);margin:0;font-size:.8rem}.flow{gap:16px;display:grid}.flow-head{align-items:center;gap:12px;display:flex}.flow-head h3{margin:0;font-size:1.3rem}.instructions{margin:0}.qr{background:#fff;border-radius:14px;padding:10px}.code{letter-spacing:.12em;background:var(--panel-2);border-radius:14px;padding:14px 20px;font:600 1.8rem/1.2 ui-monospace,monospace}.check-big,.check{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:1.8rem;display:grid}@media (width<=760px){.shell{grid-template-columns:1fr}.shell .main,.shell.pane-open .sidebar{display:none}.shell.pane-open .main{display:block}.sidebar{width:100%!important}.back{display:grid}.msg{max-width:88%}.info{z-index:20;width:auto;position:absolute;inset:0}.hover-tools{display:none!important}.overlay{place-items:end center;padding:0}.modal{border-radius:24px 24px 0 0;max-width:none;animation:.18s ease-out rise}.modal .grab{background:var(--line);border-radius:2px;width:38px;height:4px;margin:-8px auto 12px;display:block}@keyframes rise{0%{opacity:0;transform:translateY(30px)}}}@media (width<=1100px){.info{z-index:20;box-shadow:var(--shadow);position:absolute;top:0;bottom:0;right:0}}.chat-li{position:relative}.row-actions{background:var(--panel);border-radius:12px;gap:4px;padding:3px;display:none;position:absolute;top:50%;right:10px;transform:translateY(-50%);box-shadow:0 2px 10px #00000040}.chat-li:hover .row-actions{display:flex}.chat-li:has(:focus-visible) .row-actions{display:flex}.chat-li:hover .chat-time{opacity:0}.chat-preview.no-msgs{color:var(--muted);font-style:italic}.sidebar{position:relative}.undo-toast{background:var(--text);color:var(--bg);z-index:5;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:.9rem;display:flex;position:absolute;bottom:16px;left:12px;right:12px;box-shadow:0 6px 24px #00000059}.undo-toast button{color:var(--accent);border-radius:10px;padding:6px 12px;font-weight:700}.bubble{background:var(--bubble-bg,var(--theirs))}.msg.mine .bubble{--bubble-bg:var(--accent);background:var(--bubble-bg)}:root[data-fill=gradient] .msg.mine .bubble{background:linear-gradient(140deg, var(--accent), color-mix(in srgb, var(--accent) 62%, #7c3aed));color:#fff}:root[data-fill=gradient] .msg.mine .bubble a,:root[data-fill=gradient] .msg.mine .bubble .meta{color:inherit}:root[data-fill=tinted] .msg.mine .bubble{--bubble-bg:color-mix(in srgb, var(--accent) 24%, var(--panel));color:var(--text)}:root[data-fill=tinted] .msg.mine .bubble a{color:var(--accent)}:root[data-depth=flat] .bubble{box-shadow:none}:root[data-depth=raised] .bubble{box-shadow:0 3px 10px #00000038,0 1px 2px #0000002e}.bubble.bare,.bubble.media-bubble{box-shadow:none}:root[data-bubble=tail]{--radius:18px;--tight:18px}:root[data-bubble=tail] .msg.last .bubble:not(.bare):not(.media-bubble):after{content:"";background:var(--bubble-bg,var(--theirs));width:11px;height:14px;position:absolute;bottom:0}:root[data-bubble=tail][data-fill=gradient] .msg.mine.last .bubble:after{background:color-mix(in srgb, var(--accent) 62%, #7c3aed)}:root[data-bubble=tail] .msg:not(.mine).last .bubble{border-bottom-left-radius:4px}:root[data-bubble=tail] .msg:not(.mine).last .bubble:after{clip-path:path("M11 0 L11 14 L0 14 C 6 13 10 8 11 0 Z");left:-7px}:root[data-bubble=tail] .msg.mine.last .bubble{border-bottom-right-radius:4px}:root[data-bubble=tail] .msg.mine.last .bubble:after{clip-path:path("M0 0 L0 14 L11 14 C 5 13 1 8 0 0 Z");right:-7px}:root[data-bubble=outline] .bubble:not(.bare):not(.media-bubble){box-shadow:none;border:1.5px solid var(--line);background:0 0}:root[data-bubble=outline] .msg.mine .bubble:not(.bare):not(.media-bubble){border-color:var(--accent);color:var(--text);background:0 0}:root[data-bubble=outline] .msg.mine .bubble a{color:var(--accent)}:root[data-bubble=plain] .bubble:not(.bare):not(.media-bubble){box-shadow:none;border-left:3px solid var(--line);background:0 0;border-radius:0;padding:3px 0 3px 10px}:root[data-bubble=plain] .msg.mine .bubble:not(.bare):not(.media-bubble){border-left-color:var(--accent);color:var(--text);background:0 0}:root[data-bubble=plain] .msg.mine .bubble a{color:var(--accent)}@keyframes msg-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@keyframes msg-slide{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes msg-fade{0%{opacity:0}to{opacity:1}}:root[data-anim=pop] .msg.fresh .bubble{transform-origin:0 100%;animation:.28s cubic-bezier(.2,1.2,.4,1) msg-pop}:root[data-anim=pop] .msg.mine.fresh .bubble{transform-origin:100% 100%}:root[data-anim=slide] .msg.fresh .bubble{animation:.26s ease-out msg-slide}:root[data-anim=fade] .msg.fresh .bubble{animation:.35s ease-out msg-fade}.chat-col{position:relative}.effects-canvas{pointer-events:none;z-index:20;width:100%;height:100%;position:absolute;inset:0}.typing-dots{align-items:center;gap:4px;height:14px;display:inline-flex}.typing-dots i{opacity:.45;background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.typing-bubble{color:var(--muted);padding:12px 16px!important}.typing-row{margin-top:6px}.chat-row .typing-dots{color:var(--accent)}.pins{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 4px;padding:8px 8px 12px;display:grid;overflow:visible}.pin-chip{width:auto;min-width:0;padding:8px 2px 6px}.pin-chip .pin-name{max-width:100%;font-size:.8rem;font-weight:600}.pin-chip .pin-dot{width:18px;height:18px;top:2px;right:2px}.pin-chip .typing-badge{background:var(--panel);color:var(--accent);border-radius:12px;place-items:center;padding:4px 8px;display:grid;position:absolute;bottom:-4px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #00000040}.pin-chip .typing-badge .typing-dots{height:8px}.pin-chip .typing-badge .typing-dots i{width:5px;height:5px}.pin-chip.drop-target{outline:2px dashed var(--accent);outline-offset:-2px}.admin-user{background:var(--panel-2);border-radius:14px;margin:0 12px 10px;padding:8px 12px 12px}.admin-user h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:6px 0;font-size:.8rem}.admin-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pill.danger{color:var(--danger)}.gif-cell{position:relative}.gif-cell>button:first-child{width:100%;height:100%}.gif-cell img{object-fit:cover;border-radius:10px;width:100%;height:100%}.gif-star{color:#ffd54a;background:#0000008c;border-radius:50%;place-items:center;width:30px;height:30px;font-size:1.05rem;display:grid;position:absolute;top:6px;right:6px}.mascot{color:var(--accent);flex:none;overflow:visible}.mascot *{transform-box:fill-box}.m-body{transform-origin:50% 100%;animation:2.2s ease-in-out infinite alternate m-bob}.m-antenna{transform-origin:50% 100%;animation:1.6s ease-in-out infinite alternate m-wiggle}.m-arm.left{transform-origin:100% 100%;animation:1.1s ease-in-out infinite alternate m-cheer-l}.m-arm.right{transform-origin:0 100%;animation:1.1s ease-in-out infinite alternate m-cheer-r}.m-shadow{transform-origin:50%;animation:2.2s ease-in-out infinite alternate m-shadow}.m-wave{transform-origin:50%;animation:1.5s ease-out infinite m-pulse}.m-wave.w2{animation-delay:.25s}.m-ring{animation:1.5s ease-in-out infinite m-flash}.mascot.ring .m-body{transform-origin:50% 90%;animation:.5s ease-in-out infinite m-ring}.mascot.ring .m-wave{animation-duration:.8s}.mascot.ring .m-ring{animation-duration:.5s}.mascot.sleep .m-body{animation-duration:3.6s}.mascot.sleep .m-arm,.mascot.sleep .m-antenna{animation:none}.m-z text{animation:2.4s ease-in-out infinite m-zzz}.m-z text:nth-child(2){animation-delay:.4s}.m-z text:nth-child(3){animation-delay:.8s}@keyframes m-bob{0%{transform:translateY(0)}to{transform:translateY(-9px)}}@keyframes m-shadow{0%{opacity:.2;transform:scaleX(1)}to{opacity:.12;transform:scaleX(.88)}}@keyframes m-wiggle{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes m-cheer-l{0%{transform:rotate(0)}to{transform:rotate(-14deg)}}@keyframes m-cheer-r{0%{transform:rotate(0)}to{transform:rotate(14deg)}}@keyframes m-ring{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes m-pulse{0%{opacity:0;transform:scale(.82)}35%{opacity:1}to{opacity:0;transform:scale(1.18)}}@keyframes m-flash{0%,to{opacity:.15}50%{opacity:1}}@keyframes m-zzz{0%,to{opacity:.2;transform:translateY(4px)}50%{opacity:1;transform:translateY(-4px)}}:root[data-motion=reduced] .mascot *{animation:none!important}.blank{align-content:center;place-items:center;gap:10px;display:grid}.splash{place-items:center;min-height:100vh;display:grid}.logo{align-items:center;gap:12px;display:flex}.logo b{letter-spacing:-.02em;font-size:1.5rem}.swipe-line{touch-action:pan-y;position:relative}.swipe-cue{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);pointer-events:none;opacity:0;border-radius:50%;place-items:center;margin-top:-14px;font-size:1rem;display:grid;position:absolute;top:50%;left:-34px}.msg.mine .swipe-cue{left:auto}button{transition:transform .14s cubic-bezier(.3,1.4,.5,1),background-color .15s,opacity .15s}button:active:not(:disabled){transform:scale(.94)}.icon:hover{transform:scale(1.08)}.icon:active{transform:scale(.9)}.chat{animation:.22s cubic-bezier(.2,.8,.2,1) view-in}.chat-li{animation:.28s cubic-bezier(.2,.8,.2,1) backwards row-in}.chat-li:first-child{animation-delay:0s}.chat-li:nth-child(2){animation-delay:30ms}.chat-li:nth-child(3){animation-delay:60ms}.chat-li:nth-child(4){animation-delay:90ms}.chat-li:nth-child(5){animation-delay:.12s}.chat-li:nth-child(n+6){animation-delay:.15s}.unread{animation:.3s cubic-bezier(.3,1.6,.5,1) badge-pop}.pin-chip{transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.pin-chip:hover{transform:translateY(-3px)scale(1.04)}.pin-chip:active{transform:scale(.94)}.reactions button{animation:.32s cubic-bezier(.3,1.6,.5,1) badge-pop}.send{transition:transform .18s cubic-bezier(.3,1.5,.5,1),background-color .15s}.send:hover{transform:scale(1.08)rotate(-8deg)}.send:active{transform:scale(.9)rotate(8deg)}.menu{transform-origin:0 0;animation:.14s cubic-bezier(.2,.9,.3,1.2) menu-in}.undo-toast{animation:.3s cubic-bezier(.3,1.4,.5,1) toast-in}.jump{animation:.3s cubic-bezier(.3,1.6,.5,1) badge-pop}.tab{transition:background-color .2s,color .2s,transform .14s}.empty>span,.blank p{animation:.4s ease-out backwards view-in}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}}@keyframes row-in{0%{opacity:0;transform:translate(-10px)}}@keyframes badge-pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.12)}}@keyframes menu-in{0%{opacity:0;transform:scale(.92)}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.admin-bridges{flex-wrap:wrap;gap:8px;padding:4px 16px 10px;display:flex}.admin-bridge{background:var(--panel-2);border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.admin-bridge i{border-radius:50%;width:9px;height:9px}.admin-bridge small{color:var(--muted);font-weight:500}.admin-bridge.down{outline:1px solid var(--danger)}.admin-list{gap:12px;padding:4px 12px 24px;display:grid}.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.admin-card.gone{opacity:.55}.admin-card header{align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.admin-av{color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:700;display:grid}.admin-who{flex:1;min-width:0;display:grid}.admin-who b{font-size:1.02rem}.admin-who small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-badges{gap:6px;display:flex}.badge-pill{background:var(--panel-2);border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:700}.badge-pill.admin{background:var(--accent);color:var(--accent-ink)}.badge-pill.off{color:var(--danger)}.admin-apps{gap:2px;padding:0 16px 6px;display:grid}.admin-app{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:9px 0;display:grid}.admin-app div{min-width:0;display:grid}.admin-app small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-state{color:var(--muted);align-items:center;gap:6px;font-size:.84rem;display:inline-flex}.admin-state .dot{border-radius:50%;width:9px;height:9px;display:inline-block}.admin-card footer{border-top:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 40%, transparent);flex-wrap:wrap;gap:8px;padding:10px 16px 14px;display:flex}@media (width<=520px){.admin-app{grid-template-columns:auto 1fr auto}.admin-app .link{grid-column:2/-1;justify-self:start}}.admin-head{text-align:left;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.admin-head.static{cursor:default}.admin-head:hover:not(.static){background:var(--panel-2)}.admin-body{border-top:1px solid var(--line);padding:4px 16px 16px}.admin-body h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 6px;font-size:.78rem}.admin-body .details{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.admin-body .details dd{margin:0}.admin-body .details dt{color:var(--muted)}.admin-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;display:flex}.admin-note{background:color-mix(in srgb, var(--warn) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:14px;margin:4px 16px 10px;padding:14px 16px}.admin-note p{margin:6px 0;font-size:.92rem}code.copy{background:var(--panel-2);cursor:copy;white-space:nowrap;border-radius:10px;padding:8px 12px;font:.85rem ui-monospace,monospace;display:block;overflow-x:auto}.admin-log{color:#c9d4e3;white-space:pre-wrap;word-break:break-all;background:#0a0d12;border-radius:12px;max-height:55vh;margin:0 0 12px;padding:12px;font:.78rem/1.45 ui-monospace,monospace;overflow:auto}.admin-set{justify-content:space-between;align-items:center;gap:16px;padding:6px 0;display:flex}.admin-set div{display:grid}.admin-set small{color:var(--muted)}.admin-set input[type=number]{width:110px}.pages-title{align-items:center;gap:8px;display:flex}.pages-title .mascot{flex:none;animation-duration:3s}.stories-row{text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;margin:2px 0 6px;padding:10px 14px;display:flex}.stories-row:hover,.stories-row.sel{background:var(--panel-2)}.stories-row .col{flex-direction:column;flex:1;min-width:0;display:flex}.stories-row small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stories-ring{width:46px;height:46px;color:var(--muted);border:2px dashed var(--line);border-radius:50%;flex:none;place-items:center;display:grid}.stories-ring.new{color:var(--accent);border:2px solid var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.page-hero{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 16px 6px;display:flex}.page-hero h3{margin:0;font-size:1.15rem}.way-chips{gap:4px;margin-left:auto;display:flex}.way-chips i{color:#fff;border-radius:6px;padding:2px 5px;font-size:.62rem;font-style:normal;font-weight:700}.way-dot{border-radius:50%;flex:none;width:12px;height:12px;margin:0 6px}.modal.sheet{max-width:360px;padding:18px}.modal.sheet h3{margin:0 0 2px}.m-led{animation:1.2s ease-in-out infinite m-flash}.mascot.sleep .m-led{opacity:.5;animation:none}.greeting{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .35s;animation:.28s ease-out greet-in;display:flex;position:fixed;inset:0}.greeting.gone{opacity:0;pointer-events:none}.greeting-lcd{text-align:center;color:#0b4a22;background:linear-gradient(#8ceb99,#5fc774);border-radius:14px;max-width:min(80vw,420px);padding:14px 20px;font:700 1.35rem ui-monospace,SF Mono,Menlo,monospace;box-shadow:0 0 0 4px #14161a,0 10px 30px #0006}@keyframes greet-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}:root[data-motion=reduced] .greeting{animation:none}.swatch-custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border:2px solid #0000;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.swatch-custom.on{border-color:var(--text)}.color-dialog{justify-items:center;gap:14px;padding:6px 0 12px;display:grid}.color-dialog input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:16px;width:200px;height:140px;padding:0}.color-dialog label{color:var(--muted);gap:4px;width:200px;font-size:.8rem;display:grid}.color-dialog input.bad{border-color:var(--danger)}.color-preview{border:1px solid var(--line);border-radius:9px;width:200px;height:18px}
