:root{--bg: #ffffff;--bar: rgba(249, 249, 249, .88);--sidebar: #f2f2f7;--sidebar-bd: rgba(0, 0, 0, .08);--sent: #007aff;--on-sent: #ffffff;--recv: #e9e9eb;--on-recv: #000000;--tx: #000000;--tx2: rgba(60, 60, 67, .6);--tx3: rgba(60, 60, 67, .3);--sep: rgba(60, 60, 67, .29);--fill: rgba(120, 120, 128, .2);--fill2: rgba(120, 120, 128, .12);--field-bd: #c7c7cc;--field-bg: #ffffff;--blue: #007aff;--red: #ff3b30;--purple: #af52de;--pink: #ff2d55;--yellow: #ffcc00;--card: #ffffff;--pill: rgba(250, 250, 250, .92);--pill-shadow: 0 10px 40px rgba(0, 0, 0, .2), 0 2px 6px rgba(0, 0, 0, .08);--dim: rgba(0, 0, 0, .18);--avatar-a: #b1b1b8;--avatar-b: #8a8a92;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #000000;--bar: rgba(28, 28, 30, .86);--sidebar: #1c1c1e;--sidebar-bd: rgba(255, 255, 255, .1);--sent: #0a84ff;--on-sent: #ffffff;--recv: #262628;--on-recv: #ffffff;--tx: #ffffff;--tx2: rgba(235, 235, 245, .6);--tx3: rgba(235, 235, 245, .3);--sep: rgba(84, 84, 88, .65);--fill: rgba(120, 120, 128, .36);--fill2: rgba(120, 120, 128, .24);--field-bd: #3a3a3c;--field-bg: #000000;--blue: #0a84ff;--red: #ff453a;--purple: #bf5af2;--pink: #ff375f;--yellow: #ffd60a;--card: #1c1c1e;--pill: rgba(44, 44, 46, .92);--pill-shadow: 0 10px 40px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .3);--dim: rgba(0, 0, 0, .42);--avatar-a: #9a9aa2;--avatar-b: #6b6b73}}:root[data-theme=dark]{--bg: #000000;--bar: rgba(28, 28, 30, .86);--sidebar: #1c1c1e;--sidebar-bd: rgba(255, 255, 255, .1);--sent: #0a84ff;--on-sent: #ffffff;--recv: #262628;--on-recv: #ffffff;--tx: #ffffff;--tx2: rgba(235, 235, 245, .6);--tx3: rgba(235, 235, 245, .3);--sep: rgba(84, 84, 88, .65);--fill: rgba(120, 120, 128, .36);--fill2: rgba(120, 120, 128, .24);--field-bd: #3a3a3c;--field-bg: #000000;--blue: #0a84ff;--red: #ff453a;--purple: #bf5af2;--pink: #ff375f;--yellow: #ffd60a;--card: #1c1c1e;--pill: rgba(44, 44, 46, .92);--pill-shadow: 0 10px 40px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .3);--dim: rgba(0, 0, 0, .42);--avatar-a: #9a9aa2;--avatar-b: #6b6b73}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--tx);font-family:var(--font);font-size:15px;line-height:1.35;-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:inherit;cursor:pointer}.app-shell{display:grid;grid-template-columns:300px 1fr;height:100%}.sidebar{background:var(--sidebar);border-right:1px solid var(--sidebar-bd);display:flex;flex-direction:column;min-height:0}.sidebar-top{padding:14px 14px 8px;display:flex;flex-direction:column;gap:10px}.sidebar-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;letter-spacing:.12em;padding:4px 4px 0}.sidebar-title .logo{flex:none}.search{display:flex;align-items:center;gap:6px;background:var(--fill2);border-radius:10px;padding:7px 9px;color:var(--tx2);font-size:14px}.search input{flex:1;border:none;background:transparent;outline:none;color:var(--tx);font:inherit}.search input::placeholder{color:var(--tx2)}.thread-list{flex:1;overflow-y:auto;padding:0 8px;display:flex;flex-direction:column}.thread-card{display:grid;grid-template-columns:14px 46px 1fr;align-items:center;gap:8px;padding:9px 10px 9px 4px;border-radius:12px;background:transparent;border:none;width:100%;text-align:left;color:var(--tx);position:relative}.thread-card+.thread-card:before{content:"";position:absolute;left:68px;right:10px;top:0;height:1px;background:var(--sep);opacity:.6}.thread-card.active{background:var(--blue);color:#fff}.thread-card.active:before,.thread-card.active+.thread-card:before{opacity:0}.thread-card:not(.active):hover{background:var(--fill2)}.unread-dot{width:10px;height:10px;border-radius:50%;background:var(--blue)}.unread-dot[hidden]{display:block;visibility:hidden}.thread-card.active .unread-dot{background:#fff}.thread-card .meta{min-width:0}.thread-card .line1{display:flex;align-items:baseline;gap:6px}.thread-card .name{font-weight:600;font-size:15px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-card .time{font-size:12px;color:var(--tx2);flex:none}.thread-card.active .time,.thread-card.active .status{color:#ffffffd9}.thread-card .status{font-size:13px;color:var(--tx2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;min-height:1.3em}.thread-card .status.typing{color:var(--blue)}.thread-card.active .status.typing{color:#fff}.avatar{flex:none;width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,var(--avatar-a),var(--avatar-b));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:19px;letter-spacing:.01em}.sidebar-footer{padding:10px 14px 14px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--sidebar-bd)}.icon-btn{flex:1 1 calc(50% - 4px);display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--fill2);color:var(--tx2);border:none;border-radius:9px;padding:7px 8px;font-size:12px;font-weight:500}.icon-btn:hover{color:var(--tx);background:var(--fill)}.icon-btn[disabled]{opacity:.55;cursor:default}.icon-btn.on{color:var(--blue)}.details{padding:4px 14px 12px;display:flex;flex-direction:column;gap:6px}.details .row{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--tx2)}.details .row .lead{display:flex;color:var(--blue)}.chat{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--bg);position:relative}.chat-header{padding:8px 16px;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bar);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--sep);z-index:2}.chat-header .avatar{width:46px;height:46px;font-size:19px}.chat-header .name-row{display:flex;align-items:center;gap:2px;font-size:12px;color:var(--tx)}.chat-header .name-row svg{color:var(--tx3)}.chat-header .name-row.clickable{cursor:pointer;border-radius:8px;padding:2px 6px}.chat-header .name-row.clickable:hover{background:var(--fill2)}.chat-header .e2e{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--tx2)}.chat-header .conn{font-size:11px;color:var(--tx2);min-height:0}.chat-header .conn:empty{display:none}.chat-header .conn.warn{color:var(--red)}.messages{flex:1;overflow-y:auto;padding:12px 18px 8px;display:flex;flex-direction:column;gap:2px;scroll-behavior:auto;overscroll-behavior:contain}.time-sep{align-self:center;font-size:11px;color:var(--tx2);margin:14px 0 8px}.time-sep b{font-weight:600}.msg-row{display:flex;flex-direction:column;max-width:68%}.msg-row.sent{align-self:flex-end;align-items:flex-end}.msg-row.recv{align-self:flex-start;align-items:flex-start}.msg-row.turn-gap{margin-top:8px}.msg-row.has-tapback{padding-top:12px}.bubble{position:relative;padding:7px 13px 8px;font-size:16px;line-height:1.3;border-radius:18px;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y;transform-origin:center center;transition:transform .55s cubic-bezier(.2,.7,.2,1);max-width:100%}.bubble .txt{position:relative;z-index:2}.bubble.pressing{transform:scale(.95)}.bubble.sent{background:var(--sent);color:var(--on-sent)}.bubble.recv{background:var(--recv);color:var(--on-recv)}.bubble.sent.tail{border-bottom-right-radius:4px}.bubble.recv.tail{border-bottom-left-radius:4px}.bubble.pending{opacity:.7}.bubble.undecryptable{font-style:italic;color:var(--tx2);background:var(--fill2)}.bubble.anim{animation:rise .22s cubic-bezier(.2,.8,.2,1)}.bubble.lifted{visibility:hidden}.bubble .tail-svg{position:absolute;bottom:0;width:20px;height:20px;z-index:1;pointer-events:none}.bubble.sent .tail-svg{right:-7px}.bubble.recv .tail-svg{left:-7px;transform:scaleX(-1)}.bubble.sent .tail-svg path{fill:var(--sent)}.bubble.recv .tail-svg path{fill:var(--recv)}.bubble.undecryptable .tail-svg path{fill:var(--fill2)}.receipt{font-size:11px;color:var(--tx2);margin:3px 4px 2px 0}.receipt b{font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tapbacks{position:absolute;top:-13px;display:flex;z-index:3;pointer-events:none}.bubble.sent .tapbacks{left:-8px}.bubble.recv .tapbacks{right:-8px;flex-direction:row-reverse}.chip{height:26px;min-width:26px;padding:0 6px;border-radius:999px;border:2px solid var(--bg);background:var(--recv);color:var(--on-recv);display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.chip.mine{background:var(--sent);color:var(--on-sent)}.chip+.chip{margin-left:-7px}.bubble.recv .chip+.chip{margin-left:0;margin-right:-7px}.chip.pop{animation:chip-pop .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes chip-pop{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}.tb{display:inline-flex;align-items:center;justify-content:center;line-height:1}.tb-love{color:var(--pink)}.tb-love svg{width:1.15em;height:1.15em;fill:currentColor}.tb-haha{color:var(--blue);font-weight:800;font-size:.62em;letter-spacing:.02em;text-align:center;line-height:.95;flex-direction:column}.tb-emph{color:var(--red);font-weight:800;font-size:1.1em;letter-spacing:-.06em}.tb-q{color:var(--purple);font-weight:800;font-size:1.1em}.tb-emoji{font-size:1em}.chip.mine .tb-love,.chip.mine .tb-haha,.chip.mine .tb-emph,.chip.mine .tb-q{color:#fff}.typing-row{align-self:flex-start;margin-top:8px;position:relative;padding-left:0}.typing-bubble{position:relative;background:var(--recv);border-radius:18px;padding:12px 14px;display:inline-flex;gap:5px;align-items:center}.typing-bubble:before,.typing-bubble:after{content:"";position:absolute;background:var(--recv);border-radius:50%}.typing-bubble:before{width:12px;height:12px;left:-3px;bottom:-3px}.typing-bubble:after{width:6px;height:6px;left:-9px;bottom:-8px}.typing-bubble span{width:8px;height:8px;border-radius:50%;background:var(--tx2);animation:blink 1.2s infinite ease-in-out}.typing-bubble span:nth-child(2){animation-delay:.18s}.typing-bubble span:nth-child(3){animation-delay:.36s}@keyframes blink{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.empty-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px}.empty-chat .avatar-lg{width:88px;height:88px;border-radius:50%;background:linear-gradient(180deg,var(--avatar-a),var(--avatar-b));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:36px;margin-bottom:6px}.empty-chat h2{font-size:17px;font-weight:600;margin:0}.empty-chat p{color:var(--tx2);font-size:13px;max-width:280px;margin:0}.empty-chat .e2e-line{display:inline-flex;gap:5px;align-items:center}.composer{padding:8px 14px 12px;display:flex;align-items:flex-end;gap:10px;background:var(--bar);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--sep)}.plus-btn{flex:none;width:34px;height:34px;border-radius:50%;background:var(--fill);color:var(--tx2);border:none;display:flex;align-items:center;justify-content:center}.plus-btn:hover{color:var(--tx)}.composer-pill{flex:1;min-height:36px;border-radius:18px;background:var(--field-bg);border:1px solid var(--field-bd);display:flex;align-items:flex-end;padding:0 3px 0 0;position:relative}.composer-pill textarea{flex:1;border:none;outline:none;resize:none;background:transparent;color:var(--tx);font-family:inherit;font-size:16px;line-height:1.3;max-height:140px;padding:7px 8px 7px 13px}.composer-pill textarea::placeholder{color:var(--tx2)}.send-btn{flex:none;width:28px;height:28px;margin:3px 0;border-radius:50%;background:var(--blue);color:#fff;border:none;display:flex;align-items:center;justify-content:center;transition:transform .15s cubic-bezier(.34,1.56,.64,1),opacity .15s ease}.send-btn:active{transform:scale(.9)}.send-btn[hidden]{display:none}.mic-btn{flex:none;width:28px;height:28px;margin:3px 0;border:none;background:transparent;color:var(--tx2);display:flex;align-items:center;justify-content:center}.mic-btn[hidden]{display:none}.mic-btn:hover{color:var(--tx)}.plus-btn[hidden],.composer-pill[hidden],.record-bar[hidden]{display:none}.record-bar{flex:1;min-height:36px;border-radius:18px;background:var(--field-bg);border:1px solid var(--field-bd);display:flex;align-items:center;gap:10px;padding:0 3px 0 10px;position:relative;overflow:hidden}.record-bar .record-fill{position:absolute;inset:0;background:color-mix(in srgb,var(--blue) 8%,transparent);pointer-events:none}.record-cancel{flex:none;width:28px;height:28px;border:none;background:transparent;color:var(--tx2);display:flex;align-items:center;justify-content:center;z-index:1}.record-cancel:hover{color:#ff3b30}.record-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#ff3b30;z-index:1;animation:recpulse 1.2s ease-in-out infinite}@keyframes recpulse{0%,to{opacity:1}50%{opacity:.3}}.record-timer{flex:1;font-size:15px;font-variant-numeric:tabular-nums;color:var(--tx);z-index:1}.record-send{flex:none;width:28px;height:28px;margin:3px 0;border-radius:50%;background:var(--blue);color:#fff;border:none;display:flex;align-items:center;justify-content:center;z-index:1}.record-send:active{transform:scale(.9)}.bubble.voice-bubble{padding:6px 10px}.voice{display:flex;align-items:center;gap:9px;min-width:150px;position:relative;z-index:2}.voice-play{flex:none;width:30px;height:30px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#ffffff40;color:#fff}.bubble.recv .voice-play{background:#78788047;color:var(--tx)}.voice-play.loading{opacity:.5}.voice-wave{flex:1;display:flex;align-items:center;gap:2px;height:24px}.voice-wave span{flex:1;min-width:2px;border-radius:2px;background:#ffffff73;transition:background .1s linear}.voice-wave span.played{background:#fff}.bubble.recv .voice-wave span{background:#78788066}.bubble.recv .voice-wave span.played{background:var(--tx)}.voice-dur{flex:none;font-size:12px;font-variant-numeric:tabular-nums;opacity:.85}.tapback-layer{position:fixed;inset:0;z-index:100}.tapback-blur{position:absolute;inset:0;background:var(--dim);-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);opacity:0;transition:opacity .24s ease}.tapback-layer.in .tapback-blur{opacity:1}.tapback-layer.out .tapback-blur{opacity:0;transition-duration:.18s}.tapback-lift{position:fixed;margin:0;z-index:2;transition:top .32s cubic-bezier(.2,.8,.2,1);animation:lift-pop .5s cubic-bezier(.34,1.56,.64,1) both;visibility:visible}.tapback-lift .tapbacks{display:none}.tapback-layer.out .tapback-lift{animation:lift-out .18s ease-in both}@keyframes lift-pop{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes lift-out{0%{transform:scale(1)}to{transform:scale(1)}}.tapback-pill{position:fixed;z-index:3;display:flex;align-items:center;gap:2px;padding:5px 7px;border-radius:999px;background:var(--pill);-webkit-backdrop-filter:blur(30px) saturate(1.6);backdrop-filter:blur(30px) saturate(1.6);box-shadow:var(--pill-shadow);animation:pill-in .42s cubic-bezier(.34,1.56,.64,1) both}.tapback-pill.from-right{transform-origin:90% 120%}.tapback-pill.from-left{transform-origin:10% 120%}.tapback-layer.out .tapback-pill{animation:pill-out .16s ease-in both}@keyframes pill-in{0%{transform:scale(.25);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pill-out{0%{transform:scale(1);opacity:1}to{transform:scale(.6);opacity:0}}.tapback-pill:after{content:"";position:absolute;bottom:-8px;width:14px;height:14px;border-radius:50%;background:var(--pill);box-shadow:0 2px 6px #0000001f}.tapback-pill.from-right:after{right:16px}.tapback-pill.from-left:after{left:16px}.tapback-pill .item{width:42px;height:42px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--tx);transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s ease;padding:0}.tapback-pill .item:hover{transform:scale(1.18)}.tapback-pill .item:active{transform:scale(.92)}.tapback-pill .item.on{background:var(--blue)}.tapback-pill .item.on .tb-love,.tapback-pill .item.on .tb-haha,.tapback-pill .item.on .tb-emph,.tapback-pill .item.on .tb-q{color:#fff}.tapback-pill .item .tb-haha{font-size:13px}.tapback-pill .item .tb-emph,.tapback-pill .item .tb-q{font-size:25px}.tapback-pill .divider{width:1px;height:26px;background:var(--sep);margin:0 4px}.tapback-menu{position:fixed;z-index:3;width:250px;border-radius:13px;overflow:hidden;background:var(--pill);-webkit-backdrop-filter:blur(30px) saturate(1.6);backdrop-filter:blur(30px) saturate(1.6);box-shadow:var(--pill-shadow);animation:menu-in .36s cubic-bezier(.34,1.4,.64,1) both}.tapback-menu.from-right{transform-origin:90% -10%}.tapback-menu.from-left{transform-origin:10% -10%}.tapback-layer.out .tapback-menu{animation:pill-out .16s ease-in both}@keyframes menu-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.tapback-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border:none;background:transparent;color:var(--tx);font-size:16px}.tapback-menu button+button{border-top:1px solid var(--sep)}.tapback-menu button:hover{background:var(--fill2)}.tapback-menu button svg{color:var(--tx)}.gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);z-index:60}.gate.dimmed{background:var(--dim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.gate-card{width:100%;max-width:300px;background:var(--card);border-radius:14px;padding:20px 18px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--pill-shadow);animation:pill-in .3s cubic-bezier(.34,1.3,.64,1) both;transform-origin:center}.gate-card .lead{display:flex;justify-content:center;color:var(--blue)}.gate-card h1{font-size:17px;font-weight:600;text-align:center;margin:0}.gate-card p{color:var(--tx2);font-size:13px;text-align:center;margin:0}.gate-card input{width:100%;background:var(--fill2);border:1px solid var(--sep);border-radius:8px;padding:8px 10px;color:var(--tx);font-family:inherit;font-size:14px;outline:none}.gate-card input:focus{border-color:var(--blue)}.gate-card button.primary{background:var(--blue);color:#fff;border:none;border-radius:10px;padding:11px;font-weight:600;font-size:15px}.gate-card .err{color:var(--red);font-size:12px;text-align:center;min-height:14px}.gate-card .hint{font-size:11px;color:var(--tx3);text-align:center}.gate-card code{font-size:11px}.gate-card.wide{max-width:400px;max-height:calc(100vh - 48px);overflow:auto}.gate-card .notice{background:var(--fill2);color:var(--tx2);border-radius:8px;padding:8px 10px;font-size:12.5px;text-align:center}.gate-card .field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:500;color:var(--tx2);text-transform:uppercase;letter-spacing:.04em}.gate-card .field .ro{background:var(--fill2);border-radius:8px;padding:8px 10px;font-size:14px;color:var(--tx);text-transform:none;letter-spacing:0}.gate-card .inline{display:flex;gap:6px;align-items:stretch}.gate-card .inline input{flex:1;min-width:0}.gate-card button.secondary{background:var(--fill2);color:var(--tx);border:none;border-radius:10px;padding:9px 12px;font-weight:500;font-size:13px;white-space:nowrap}.gate-card button.secondary:hover{background:var(--fill)}.gate-card button.secondary.danger{color:var(--red)}.gate-card button.link{background:none;border:none;color:var(--blue);font-size:14px;padding:4px 6px}.gate-card button[disabled]{opacity:.6;cursor:default}.gate-card .row-btns{display:flex;gap:8px}.gate-card .row-btns>*{flex:1}.gate-card .card-head{display:flex;align-items:center;justify-content:space-between}.gate-card .card-head h1{text-align:left}.sister-list{display:flex;flex-direction:column;gap:8px}.sister-item{display:flex;flex-direction:column;gap:8px;background:var(--fill2);border-radius:10px;padding:10px 12px}.sister-item .who{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sister-item .who .n{font-weight:600;font-size:14px}.sister-item .who .u{font-size:12px;color:var(--tx2)}.sister-item .actions{display:flex;gap:6px;flex-wrap:wrap}.sister-item .actions button{flex:1;padding:7px 8px;font-size:12px}.share-card{background:var(--fill2);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:13px}.share-card .kv{display:flex;justify-content:space-between;align-items:center;gap:10px}.share-card .kv span{color:var(--tx2)}.share-card code{font-size:13px;user-select:all;background:var(--fill);padding:3px 8px;border-radius:6px;word-break:break-all;text-align:right}.gate-card .details-rows{display:flex;flex-direction:column;gap:6px}.gate-card .details-rows .row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tx2);justify-content:center}.gate-card .details-rows .row svg{color:var(--blue)}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:var(--pill);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--tx);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:500;z-index:200;box-shadow:var(--pill-shadow);animation:rise .25s ease}@media (max-width: 760px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.msg-row{max-width:78%}.bubble{font-size:17px}.messages{padding:10px 12px 6px}}.login{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:#0a0f1e;color:#fff;color-scheme:dark}.login-mesh{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 70% at 20% 15%,#1e8cff 0%,transparent 70%),radial-gradient(55% 65% at 85% 20%,#ff4fa3 0%,transparent 70%),radial-gradient(60% 60% at 70% 90%,#3ee6ff 0%,transparent 70%),#4b2fe0}.login-mesh canvas{display:block;width:100%;height:100%}.login-mesh.is-static canvas{display:none}.login-mesh:after{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 48%,rgba(6,8,24,.16),transparent),linear-gradient(180deg,#0608180a,#06081842)}.login-panel{position:relative;z-index:2;width:100%;max-width:372px;display:flex;flex-direction:column;align-items:center;gap:26px;animation:login-in .5s cubic-bezier(.2,.8,.2,1) both}@keyframes login-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.login-brand{display:flex;flex-direction:column;align-items:center;gap:14px}.login-brand .logo{filter:drop-shadow(0 4px 16px rgba(0,0,0,.28))}.login-brand h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em;text-shadow:0 1px 14px rgba(0,0,0,.25)}.login-card{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:24px 22px;border-radius:26px;background:linear-gradient(150deg,#ffffff29,#ffffff0f);-webkit-backdrop-filter:blur(40px) saturate(1.5);backdrop-filter:blur(40px) saturate(1.5);border:1px solid rgba(255,255,255,.22);box-shadow:0 30px 70px #00000057,inset 0 1px 1px #ffffff59}.login-card .notice{background:#ffffff1f;color:#ffffffe6;border-radius:12px;padding:9px 12px;font-size:13px;text-align:center}.login-field{display:flex;align-items:center;gap:11px;height:50px;box-sizing:border-box;border-radius:14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);padding:0 16px;box-shadow:inset 0 1px 1px #ffffff24;color:#ffffffd9;transition:border-color .15s,background .15s}.login-field:focus-within{border-color:#ffffff80;background:#ffffff24}.login-field svg{flex:none}.login-field input{flex:1;min-width:0;border:none;background:transparent;outline:none;font:inherit;font-size:15px;color:#ffffffeb}.login-field input::placeholder{color:#ffffff8c}.login-field input[type=password]:not(:placeholder-shown){letter-spacing:3px}.login-field input:-webkit-autofill,.login-field input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px #1b2a4a inset;transition:background-color 9999s}.login-show{border:none;background:none;padding:4px 0 4px 6px;font:inherit;font-size:13px;color:#ffffffbf;cursor:pointer}.login-show:hover{color:#fff}.login-forgot{align-self:flex-end;font-size:13px;color:#ffffffd1;margin:2px 2px 0}.login-card .err{color:#ffb4ad;font-size:12.5px;text-align:center;min-height:15px}.login-submit{height:50px;border:none;border-radius:14px;background:linear-gradient(135deg,#0a7cff,#7a4cff);color:#fff;font:inherit;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 10px 28px #0a7cff73,inset 0 1px 1px #fff6;transition:transform .15s,filter .15s}.login-submit:hover{filter:brightness(1.06)}.login-submit:active{transform:scale(.985)}.login-submit[disabled]{opacity:.7;cursor:default}.login-foot{max-width:320px;font-size:13px;line-height:1.45;color:#ffffffd9;text-shadow:0 1px 8px rgba(0,0,0,.25);text-align:center;text-wrap:balance}.login-foot svg{vertical-align:-2px;margin-right:5px}
