:root{--bg:#0f0e10;--panel:#161418;--bubble-in:#25222a;--text:#f3efeb;--muted:#8f8993;--line:#ffffff12;--accent:#ff6a3d;--accent-text:#1a0d08;--glass:#1614189e;--header-h:56px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overscroll-behavior:none;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.muted{color:var(--muted)}.splash{height:100dvh;color:var(--muted);place-items:center;display:grid}.center-note{text-align:center;padding:32px 24px;font-size:15px}.link{color:var(--accent);font-size:15px}.auth{min-height:100dvh;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));background:radial-gradient(900px 500px at 50% -10%, #ff6a3d2e, transparent 70%), var(--bg);place-items:center;display:grid;overflow-y:auto}.auth-card{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.auth-logo{letter-spacing:4px;text-align:center;color:var(--accent);margin-bottom:8px;font-size:44px;font-weight:800}.tabs{background:var(--panel);border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.tabs button{text-align:center;color:var(--muted);border-radius:9px;padding:9px 0}.tabs button[aria-selected=true]{background:var(--bubble-in);color:var(--text)}.auth input{border:1px solid var(--line);background:var(--panel);border-radius:12px;outline:none;width:100%;padding:14px 16px}.auth input:focus{border-color:var(--accent)}.auth-error{color:#ff8a6b;min-height:20px;font-size:14px}.primary{text-align:center;background:var(--accent);color:var(--accent-text);border-radius:12px;padding:14px;font-weight:600}.primary:disabled{opacity:.6}.shell{height:100dvh;display:flex}.pane{min-width:0;height:100%;position:relative}.list-pane{border-right:1px solid var(--line);background:var(--bg);flex:none;width:340px}.chat-pane{background:var(--bg);flex:1}.empty-pane{place-items:center;display:grid}@media (width<=899px){.list-pane{border-right:0;width:100%}.shell.in-chat .list-pane,.shell:not(.in-chat) .chat-pane{display:none}}.glass{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4)}.header{z-index:5;height:calc(var(--header-h) + var(--safe-top));padding:var(--safe-top) 16px 0;border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.brand{letter-spacing:3px;color:var(--accent);flex:1;font-size:22px;font-weight:800}.back{width:44px;height:44px;color:var(--accent);place-items:center;margin-left:-10px;display:grid}.peer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:17px;font-weight:600;overflow:hidden}.offline{color:var(--muted);font-size:13px}.scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:calc(var(--header-h) + var(--safe-top));position:absolute;inset:0;overflow-y:auto}.list-pane .scroll{padding-bottom:var(--safe-bottom)}.row{align-items:center;gap:12px;width:100%;padding:10px 16px;display:flex}.row:active,.row.active{background:#ffffff0f}@media (hover:hover){.row:hover{background:#ffffff0a}}.avatar{border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:19px;font-weight:700;display:grid}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-top{align-items:baseline;gap:8px;display:flex}.row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.row-time{color:var(--muted);font-size:13px}.row-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.messages{--bar-h:64px;padding-bottom:calc(var(--bar-h) + 12px);flex-direction:column;padding-left:12px;padding-right:12px;display:flex}.messages>:first-child{margin-top:12px}.messages>.center-note{margin:auto}.earlier{align-self:center;padding:10px}.msg{flex-direction:column;max-width:100%;margin-top:10px;display:flex}.msg.mine{align-items:flex-end}.msg.theirs{align-items:flex-start}.bubble{overflow-wrap:anywhere;white-space:pre-wrap;border-radius:18px;max-width:min(80%,480px);padding:8px 12px}.mine .bubble{background:var(--accent);color:var(--accent-text);border-bottom-right-radius:6px}.theirs .bubble{background:var(--bubble-in);border-bottom-left-radius:6px}.time{opacity:.6;white-space:nowrap;float:right;margin-top:6px;margin-left:10px;font-size:11px}.pic{aspect-ratio:1;background:var(--panel);contain:layout paint;border-radius:16px;width:min(320px,78%);margin-top:6px;display:block;position:relative;overflow:hidden}.pic img{object-fit:cover;width:100%;height:100%;display:block}.shimmer:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff17 50%,#0000 80%);animation:1.4s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.shimmer:after{animation:none}}.pic-failed{color:var(--muted);margin-top:4px;font-size:12px}.retry{color:#ff8a6b;margin-top:4px;font-size:13px}.input-bar{z-index:5;padding:8px 12px calc(8px + var(--safe-bottom));border-top:1px solid var(--line);align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.input-bar textarea{resize:none;border:1px solid var(--line);background:#ffffff0f;border-radius:20px;outline:none;flex:1;max-height:120px;padding:10px 14px;font-size:16px;line-height:1.35}.input-bar textarea:focus{border-color:#ff6a3d99}.send{background:var(--accent);width:42px;height:42px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;display:grid}.send:disabled{opacity:.35}.viewer{z-index:50;padding:var(--safe-top) 0 var(--safe-bottom);cursor:zoom-out;background:#000000eb;place-items:center;display:grid;position:fixed;inset:0}.viewer img{object-fit:contain;max-width:100vw;max-height:100dvh}@media (width>=900px){.back{display:none}.header{padding-left:20px}}
