:root{color:#f2f2f4;background:#050505;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Helvetica Neue,sans-serif;font-size:17px;line-height:1.5;color-scheme:dark;--bg: #0c0c0e;--card: #2a2a2e;--card-mine: #3a3a3e;--capsule: #1c1c1f;--line: rgba(255, 255, 255, .08);--text: #f4f4f5;--muted: #9a9aa1;--danger: #ff6b63;--focus: #d0d0d6}*{box-sizing:border-box}html,body,.thread,.screen,.page,.sheet,.stage{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none;width:0;height:0}body{margin:0;min-height:100dvh;overflow-x:hidden;background:#050505}button,input,a{font:inherit;color:inherit}button{border:0;background:#f4f4f5;color:#111114;border-radius:12px;min-height:48px;padding:.65rem 1.1rem;cursor:pointer}button:disabled{cursor:default;opacity:.45}button.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 .2rem;background:transparent;color:#f4f4f5;border-radius:8px;font-size:16px;opacity:1}button.tiny{min-height:36px;padding:.15rem .7rem;background:transparent;color:#d7d7dc;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:13px;opacity:1}button.tiny.on{background:#f4f4f5;color:#111114;border-color:#f4f4f5}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.stage{min-height:100dvh;display:flex;flex-direction:column;width:min(460px,100%);margin:0 auto;background:var(--bg);padding-top:env(safe-area-inset-top)}.chat-stage{height:100dvh;min-height:100dvh}.boot{margin:auto;color:var(--muted)}.navbar{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:52px;padding:.2rem .9rem .35rem;background:transparent}.nav-title{position:absolute;left:50%;transform:translate(-50%);text-align:center;max-width:calc(100% - 6.5rem);pointer-events:none}.nav-title h1{margin:0;font-size:17px;font-weight:600;line-height:1.2}.nav-title p{margin:0;color:var(--muted);font-size:12px;line-height:1.3}.thread{flex:1;overflow:auto;padding:.4rem .85rem .8rem;display:flex;flex-direction:column;gap:.85rem}.quiet,.empty{color:var(--muted);margin:.35rem 0}.empty-note{margin:auto;max-width:16rem;text-align:center;font-size:16px;line-height:1.55}.msg{display:flex;flex-direction:column;gap:.28rem;max-width:100%}.msg.ayra{align-self:stretch;align-items:stretch}.msg.mine{align-self:flex-end;align-items:flex-end;max-width:88%}.who{display:flex;align-items:center;gap:.45rem;margin-bottom:.15rem}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#3a3550;color:#f4f4f5;font-size:13px;font-weight:600;flex:none}.who strong{font-size:14px;font-weight:600}.bubble{border-radius:22px;padding:.85rem .95rem;background:var(--card);color:var(--text)}.bubble p{margin:0;font-size:16.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.bubble img{display:block;width:100%;border-radius:16px;margin:0 0 .65rem}.bubble.enter{animation:rise .18s ease-out}.bubble.mine{background:var(--card-mine)}.card-media{display:block;width:calc(100% + 1.9rem);max-width:none;margin:-.85rem -.95rem .7rem;border-radius:22px 22px 12px 12px}.msg time{color:var(--muted);font-size:11px;line-height:1.2;padding:0 .35rem}.msg.mine time{align-self:flex-end}.rates{display:flex;gap:.4rem;padding:.1rem .15rem 0}.pending-line{color:#d0d0d4}.dots{display:inline-flex;gap:.22rem;margin-left:.4rem;vertical-align:middle}.dots i{width:.32rem;height:.32rem;border-radius:50%;background:#c8c8ce;animation:blink 1.1s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}.dock{padding:.35rem .7rem calc(.55rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(12,12,14,0),var(--bg) 28%)}.hint{margin:0 .7rem .35rem;color:var(--muted);font-size:13px}.composer{display:flex;align-items:center;gap:.15rem;min-height:52px;padding:.3rem .35rem .3rem .2rem;background:var(--capsule);border:1px solid rgba(255,255,255,.06);border-radius:28px;box-shadow:0 10px 28px #00000059}.icon-btn{width:44px;height:44px;min-height:44px;min-width:44px;padding:0;border-radius:50%;background:transparent;color:#f4f4f5;display:grid;place-items:center;opacity:1;flex:none}.composer input{flex:1;min-width:0;min-height:40px;border:0;background:transparent;color:var(--text);border-radius:0;padding:.35rem .2rem;font-size:16px}.composer input::placeholder{color:#8d8d93}.composer input:focus,.composer input:focus-visible{outline:none}button.send{background:#f4f4f5;color:#111114;opacity:1}button.send:disabled{background:#3a3a3e;color:#9a9aa1;opacity:1}.error{color:var(--danger);margin:0 .7rem .35rem;font-size:14px}.screen{min-height:100dvh;width:min(460px,100%);margin:0 auto;background:var(--bg);padding:calc(1.4rem + env(safe-area-inset-top)) 1rem calc(1.5rem + env(safe-area-inset-bottom))}.screen-inner{width:100%;margin:0 auto}.large-title{margin:.5rem 0 .4rem;font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.lede{margin:0 0 1.35rem;color:#c6c6cb;font-size:16px;line-height:1.55}.mode-row{display:flex;gap:.4rem;margin-bottom:.9rem}.group{background:#1a1a1d;border:1px solid var(--line);border-radius:16px;overflow:hidden}.group label{display:grid;gap:.1rem;padding:.55rem .9rem .45rem;font-size:13px;color:var(--muted)}.group label+label{border-top:1px solid var(--line)}.group input{width:100%;min-height:28px;border:0;background:transparent;padding:.15rem 0 .25rem;border-radius:0;font-size:17px;color:var(--text)}.stack{display:flex;flex-direction:column;gap:.85rem;margin-top:1.1rem}.stack .primary{width:100%;border-radius:14px;font-size:17px;font-weight:600;background:#f4f4f5;color:#111114}.stack .primary:disabled{opacity:.45}.code-row{display:flex;gap:.55rem;align-items:stretch}.code-row .group{flex:1}button.code-btn{min-width:7.4rem;min-height:44px;padding:0 .7rem;background:transparent;color:#f4f4f5;border:1px solid rgba(255,255,255,.18);border-radius:14px;font-size:15px;opacity:1}button.code-btn:disabled{color:#6e6e74;border-color:#ffffff14}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}@media(max-width:480px){.stage,.screen{width:100%}}@media(prefers-reduced-motion:reduce){.bubble.enter{animation:none}.dots i{animation:none;opacity:.8}}
