:root{--bg:#f7f7f5;--surface:#fff;--surface-2:#f0f1ef;--text:#1c1f1e;--muted:#5f6664;--border:#e2e4e1;--accent:#0f766e;--accent-ink:#fff;--accent-soft:#ccfbf1;--out:#0f766e;--out-ink:#fff;--in:#fff;--danger:#b42318;--radius:14px;--tap:44px;--nav-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111413;--surface:#1a1e1d;--surface-2:#232827;--text:#e9ecea;--muted:#9aa3a0;--border:#2d3331;--accent:#2dd4bf;--accent-ink:#062a26;--accent-soft:#123b37;--out:#115e57;--out-ink:#f0fdfa;--in:#1f2423;--danger:#f97066;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0;line-height:1.2}h2{font-size:1.2rem}h3{margin:1.25rem 0 .5rem;font-size:1rem}a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.code{letter-spacing:.08em;font-family:ui-monospace,monospace}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);min-height:var(--tap);border-radius:10px;width:100%;padding:10px 12px;font-size:max(16px,1rem)}input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--accent);flex:none}input[type=range]{accent-color:var(--accent);background:0 0;border:0;max-width:200px;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{min-height:36px;padding:0 12px;font-size:.9rem}.btn.block{width:100%}.btn.round{border-radius:50%;flex:none;padding:0}.btn.on{color:var(--accent)}.ghost{color:inherit;cursor:pointer;min-width:32px;min-height:32px;font:inherit;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.ghost[aria-pressed=true]{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.segmented{background:var(--surface-2);scrollbar-width:none;border-radius:12px;gap:4px;padding:4px;display:flex;overflow-x:auto}.segmented button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;flex-direction:column;flex:1 0 auto;align-items:center;min-height:36px;padding:8px 12px;font-size:.9rem;font-weight:600;display:flex}.segmented button small{font-size:.72rem;font-weight:400}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.onboarding{min-height:100%;padding:calc(24px + var(--safe-t)) 16px calc(24px + var(--safe-b));place-items:center;display:grid}.onboarding-card{flex-direction:column;gap:16px;width:100%;max-width:480px;padding:24px;display:flex}.onboarding-card h1{font-size:1.6rem}.onboarding-card p{margin:0}.field{flex-direction:column;gap:6px;font-size:.95rem;font-weight:600;display:flex}.field .segmented button{flex-basis:0}.shell{grid-template:"content"1fr"nav"/minmax(0,1fr);height:100dvh;display:grid;overflow:clip}.content{grid-area:content;min-height:0;overflow:clip}.nav{background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-b);grid-area:nav;justify-content:space-around;display:flex}.brand{display:none}.nav-item{min-height:var(--nav-h);color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.nav-item[aria-current=page]{color:var(--accent)}.shell.in-chat .nav{display:none}.pane{background:var(--bg);flex-direction:column;min-width:0;height:100%;display:flex}.pane-header{padding:calc(12px + var(--safe-t)) 16px 12px;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:60px;display:flex}.ver{color:var(--muted);opacity:.75;white-space:nowrap;margin-left:4px;font-size:.7rem;font-weight:400}.page-body{flex:1;padding:16px 16px 32px;overflow-y:auto}.page-body>*{max-width:960px}.split{grid-template-columns:1fr;height:100%;display:grid}.split>.chat-pane,.split.has-detail>.list-pane{display:none}.split.has-detail>.chat-pane{display:flex}.join-row{border-bottom:1px solid var(--border);gap:8px;padding:12px 16px;display:flex}.join-row input{flex:1;min-width:0}.join-row .btn{white-space:nowrap;flex:none}.conv-list{flex:1;margin:0;padding:8px;list-style:none;overflow-y:auto}.conv-item{color:inherit;border-radius:12px;align-items:center;gap:12px;min-height:64px;padding:10px 12px;text-decoration:none;display:flex}.conv-item:hover{background:var(--surface-2)}.conv-item.active{background:var(--accent-soft)}.conv-text{flex-direction:column;min-width:0;display:flex}.conv-title{font-weight:600}.avatar{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-weight:700;display:grid;position:relative}.avatar.online:after{content:"";border:2px solid var(--bg);background:#22c55e;border-radius:50%;width:12px;height:12px;position:absolute;bottom:0;right:0}.empty{text-align:center;padding:32px 24px;list-style:none}.chat-header{justify-content:flex-start}.chat-title{flex:1;min-width:0}.chat-title p{margin:2px 0 0}.chat-menu{position:relative}.chat-menu summary{font-size:1.4rem;list-style:none}.chat-menu summary::-webkit-details-marker{display:none}.menu{z-index:10;flex-direction:column;gap:10px;width:min(300px,100vw - 32px);display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000026}.menu p{margin:0}.safety{letter-spacing:.05em;margin-top:4px;font-size:1rem;display:block}.check{align-items:center;gap:8px;font-size:.9rem;display:flex}.chat-toolbar{border-bottom:1px solid var(--border);background:var(--surface);padding:8px 16px}.banner{background:var(--accent-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:.9rem;display:flex}.messages{overscroll-behavior:contain;flex-direction:column;flex:1;gap:8px;margin:0;padding:16px;list-style:none;display:flex;overflow-y:auto}.bubble-row{display:flex}.bubble-row.out{justify-content:flex-end}.bubble{background:var(--in);border:1px solid var(--border);border-radius:18px;min-width:0;max-width:min(85%,560px);padding:10px 12px 6px;position:relative}.bubble-row.in .bubble{border-bottom-left-radius:6px}.bubble-row.out .bubble{background:var(--out);color:var(--out-ink);border-color:#0000;border-bottom-right-radius:6px}.bubble p{overflow-wrap:anywhere;margin:0}.bubble .main{font-size:1.05rem}.original{color:var(--muted);border-bottom:1px dashed var(--border);padding-bottom:6px;font-size:.88rem;margin-bottom:6px!important}.tag{text-transform:uppercase;letter-spacing:.05em;margin-right:4px;font-size:.7rem;font-weight:700}.meta{white-space:nowrap;opacity:.75;flex-wrap:wrap;align-items:center;gap:2px 6px;margin-top:2px;font-size:.75rem;display:flex}.meta .spacer{flex:1;min-width:8px}.engine{background:var(--surface-2);border-radius:6px;padding:1px 6px}.correct{flex-direction:column;gap:6px;display:flex}.notice{background:var(--surface-2);margin:0;padding:8px 16px}.composer{padding:10px 12px calc(10px + var(--safe-b));background:var(--surface);border-top:1px solid var(--border);align-items:flex-end;gap:8px;display:flex;position:relative}.composer textarea{resize:none;field-sizing:content;border-radius:22px;max-height:160px}.mic.live{background:var(--danger);border-color:var(--danger);color:#fff;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 8px #dc262633}}.placeholder{justify-content:center;align-items:center}.toolbar-row{flex-wrap:wrap;gap:8px;display:flex}.toolbar-row>*{flex:200px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.phrase{flex-direction:column;justify-content:space-between;gap:8px;display:flex}.phrase p{margin:0;font-weight:500}.pack{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pack p{margin:4px 0 0}.pack.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.add-phrase{flex-direction:column;gap:8px;max-width:520px;margin-top:24px;display:flex}.add-phrase h3{margin-top:0}.settings{flex-direction:column;gap:16px;display:flex}.settings .card{width:100%;max-width:720px}.settings h3{margin-top:0}.setting{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.setting>span{flex-direction:column;display:flex}.setting select{width:auto}.settings .row{margin-top:12px}.rules{margin:8px 0;padding:0;list-style:none}.rules li{align-items:center;gap:4px;padding:6px 0;display:flex}.rules li>span{flex:1}@media (width>=600px){.shell,.shell.in-chat{grid-template:"nav content"1fr/88px minmax(0,1fr)}.shell.in-chat .nav,.nav{border-top:0;border-right:1px solid var(--border);padding:calc(12px + var(--safe-t)) 8px 12px;flex-direction:column;justify-content:flex-start;gap:4px;display:flex}.brand{place-items:center;padding:8px 0 16px;display:grid}.brand span{display:none}.nav-item{border-radius:14px;flex:none;min-height:64px}.nav-item[aria-current=page]{background:var(--accent-soft)}.page-body{padding:24px}.messages{padding:20px 24px}.bubble{max-width:min(70%,560px)}}@media (width>=1024px){.shell,.shell.in-chat{grid-template-columns:220px minmax(0,1fr)}.nav,.shell.in-chat .nav{padding:16px 12px}.brand{color:var(--text);align-items:center;gap:10px;padding:4px 12px 20px;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.brand span{display:inline}.nav-item{flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:0 14px;font-size:.95rem}.split,.split.has-detail{grid-template-columns:minmax(300px,360px) 1fr}.split>.list-pane,.split.has-detail>.list-pane{border-right:1px solid var(--border);display:flex}.split>.chat-pane{display:flex}.back{display:none}}@media (width>=1440px){.split,.split.has-detail{grid-template-columns:400px 1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}@media (hover:hover){.btn:not(:disabled):hover{filter:brightness(.96)}}.invite{flex-direction:column;align-items:center;gap:12px;display:flex}.invite p{margin:0}.qr{aspect-ratio:1;background:#fff;border-radius:12px;width:min(240px,70vw);padding:8px}.qr svg{width:100%;height:100%;display:block}.center-row{justify-content:center}.onboarding-card>*,.field{min-width:0}.chat-toolbar .segmented button{flex:1 1 0;min-width:0;padding-inline:4px}@media (width<=420px){.chat-toolbar .segmented button{font-size:.82rem}}.onboarding{grid-template-columns:minmax(0,1fr);justify-items:center}.field .segmented button{min-width:0;padding-inline:6px}@media (width<=480px){.field .segmented{grid-template-columns:1fr 1fr;display:grid}}.setting.disabled{opacity:.6}.model-banner p{margin:0}.model-banner .small{margin-top:2px}.model-progress{align-items:center;gap:8px;display:inline-flex}.model-progress progress{width:96px;accent-color:var(--accent)}.onboarding{overscroll-behavior:contain;flex-direction:column;height:100%;display:flex;overflow-y:auto}.onboarding-card{margin:auto}.onboarding-actions{gap:8px;display:flex}.onboarding-actions .btn{flex:1}.premium{flex-direction:column;gap:10px;display:flex}.premium p{margin:0}.premium-status p+p{margin-top:2px}.plans{flex-direction:column;gap:8px;display:flex}.btn.plan{border-radius:16px;flex-direction:column;gap:0;height:auto;padding:10px 16px}.btn.plan small{opacity:.9;font-weight:400}.premium-code{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.code-box{flex-direction:column;gap:6px;width:100%;display:flex}.purchase-code{overflow-wrap:anywhere;background:var(--surface-2);-webkit-user-select:all;user-select:all;border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:.85rem}.restore{width:100%}.restore input{flex:1;min-width:0}.notice-inline{background:var(--accent-soft);border-radius:10px;padding:8px 12px}.toast{left:50%;top:calc(12px + var(--safe-t));z-index:50;background:var(--text);max-width:min(92vw,480px);color:var(--bg);border-radius:14px;padding:12px 16px;font-size:.95rem;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0003}.content{position:relative}.content>.onboarding{-webkit-overflow-scrolling:touch;touch-action:pan-y;height:auto;position:absolute;inset:0}.field-hint{font-size:.8rem;font-weight:400}.suggest{background:var(--accent-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.split,.split.has-detail{grid-template-rows:minmax(0,1fr)}.pane,.messages{min-height:0}.banner-actions{flex-direction:column;flex:none;gap:4px;display:flex}.translate-to{flex-direction:column;gap:8px;max-width:720px;margin-bottom:12px;display:flex}.translate-to-row{align-items:center;gap:12px;font-weight:600;display:flex}.translate-to-row span{flex:none}.translate-to-row select{flex:1;min-width:0}.translate-to .banner{border-radius:12px}.translated-line{border-top:1px dashed var(--border);padding-top:6px}.translated-line .translated-text{color:var(--accent);min-height:1.4em;margin:0;font-size:1.1rem;font-weight:600}.translated-line.untranslated .translated-text{color:var(--muted);font-weight:400}.show-overlay{z-index:60;padding:calc(24px + var(--safe-t)) 24px calc(24px + var(--safe-b));background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.show-text{text-align:center;overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,9vw,4.5rem);font-weight:700;line-height:1.2}.guest-setup{border-bottom:1px solid var(--border);background:var(--surface);padding:10px 16px 0}.guest-setup .translate-to{margin-bottom:8px}.guest-setup p{margin:0 0 6px}.need-models{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.need-model{justify-content:space-between;align-items:center;gap:8px;display:flex}.guest-bubble .tag{opacity:.8;margin:0 0 2px}.guest-bubble .original{border-bottom:0;border-top:1px dashed var(--border);padding:6px 0 2px;margin:6px 0 0!important}.bubble-row.out .guest-bubble .original{color:inherit;opacity:.8}.guest-controls{background:var(--surface);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px 0;display:flex}.guest-controls .segmented{flex:260px}.guest-controls .segmented button{flex:1 1 0;min-width:0}.guest .composer{border-top:0}.translated-line{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.translated-line .translated-text{flex:160px}.translated-line.untranslated .translated-text{font-size:.85rem}.translated-actions{flex:none;gap:2px;display:flex}.banner>.btn{flex:none}.phrase>.row{border-top:1px solid var(--border);padding-top:6px}.bubble-row.out .original{color:var(--out-ink);opacity:.72;border-bottom-color:#ffffff59}.bubble-row.out .original.echo{animation:.35s ease-out echo-in}@keyframes echo-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:.72}}.meta .edited{font-style:italic}.bubble-row.out .correct textarea{color:var(--text)}.chat-toolbar{align-items:center;gap:6px;display:flex}.chat-toolbar .segmented{flex:1;min-width:0}.btn.tool{width:40px;min-width:40px;height:40px;min-height:40px;color:var(--muted)}.btn.tool.on{background:var(--accent-soft);color:var(--accent)}.btn.tool.star.on{color:#d97706;background:#fbbf2433}.chat-search{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;display:flex}.chat-search input{flex:1;min-width:0;min-height:40px;padding:8px 12px}.chat-search .results{flex:none}mark{color:inherit;background:#fbbf248c;border-radius:3px;padding:0 1px}@media (width<=420px){.chat-toolbar{padding-inline:10px}.chat-toolbar .segmented button{padding-inline:2px;font-size:.78rem}}.ghost.fav[aria-pressed=true]{color:#d97706}.bubble-row.out .ghost.fav[aria-pressed=true]{color:#fcd34d}.bubble-row.out mark{color:#1c1f1e;background:#fde68a}.chat-search input::-webkit-search-cancel-button{appearance:none}.meta .retry{color:var(--accent);font-size:.8rem;font-weight:600;text-decoration:underline}.diagnostics summary{cursor:pointer;font-weight:600}.diagnostics dl{margin:8px 0 0;font-size:.8rem}.diagnostics dl div{grid-template-columns:6.5rem 1fr;gap:8px;padding:2px 0;display:grid}.diagnostics dt{color:var(--muted)}.diagnostics dd{overflow-wrap:anywhere;margin:0}.composer .attach{flex-shrink:0}.attach-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 6px);left:12px;box-shadow:0 8px 24px #00000026}.attach-menu .btn{justify-content:flex-start}.sticker-panel{z-index:20;background:var(--surface);border-top:1px solid var(--border);max-height:40vh;padding:8px 12px 12px;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 24px #00000014}.sticker-panel ul{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.sticker-panel li button{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:12px;width:100%;font-size:2.2rem}.sticker-panel li button:hover,.sticker-panel li button:focus-visible{background:var(--surface-2)}.sticker-close{float:right}.media-bubble{padding:4px}.media-bubble .meta{padding:0 8px}.media-bubble.bare{background:0 0!important;border-color:#0000!important}.sticker{padding:0 4px;font-size:5rem;line-height:1.1}.media{background:var(--surface-2);border-radius:14px;width:min(260px,70vw);max-height:360px;position:relative;overflow:hidden}.media img,.media video{object-fit:cover;width:100%;height:100%;max-height:360px;display:block}.media video{object-fit:contain;background:#000}.media-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.media-placeholder{height:100%;min-height:140px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:.9rem;display:flex}.media-placeholder progress{width:80%}.media-sending{color:#fff;background:#0000008c;border-radius:8px;padding:2px 8px;position:absolute;bottom:8px;left:8px}.lightbox{z-index:70;padding:calc(12px + var(--safe-t)) 12px calc(12px + var(--safe-b));background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img,.lightbox video{object-fit:contain;max-width:100%;max-height:100%}.lightbox-close{top:calc(12px + var(--safe-t));position:absolute;right:12px}.nearby{flex-direction:column;gap:14px;width:100%;max-width:560px;margin:0 auto;display:flex}.nearby p{margin:0}.nearby-steps{gap:6px;margin:0;padding-left:1.2em;display:grid}.nearby-choices{flex-wrap:wrap;gap:10px;display:flex}.nearby-qr{flex-direction:column;align-items:center;gap:6px;display:flex}.qr.big{background:#fff;border-radius:12px;width:min(88vw,420px);padding:8px}.qr.big svg{width:100%;height:auto;display:block}.qr-scanner{flex-direction:column;gap:10px;display:flex}.qr-scanner video{aspect-ratio:1;object-fit:cover;background:#000;border-radius:14px;width:100%;max-height:55vh}.paste-code textarea{width:100%;margin:6px 0;font-family:monospace;font-size:.75rem}@media (width<=440px){.nearby-link .label{display:none}}.translated-line .correct{margin-top:4px}.corrections{box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.corrections p{margin:0}.edit-list{gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.edit-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:8px;display:flex}.edit-list li>div{overflow-wrap:anywhere;flex:1;min-width:0}.edit-list li>button{flex-shrink:0}.edit-list del{margin-right:4px}.sheet-backdrop{z-index:65;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{box-sizing:border-box;width:min(100%,560px);max-height:90dvh;padding:16px 16px calc(16px + var(--safe-b));background:var(--surface);border-radius:18px 18px 0 0;flex-direction:column;align-items:flex-start;gap:12px;display:flex;overflow-y:auto}@media (width>=600px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px}}.sheet h3,.sheet h4,.sheet p{margin:0}.sheet section{border-top:1px solid var(--border);flex-direction:column;gap:6px;width:100%;padding-top:10px;display:flex}.sheet .row{width:100%}.sheet .row input{flex:1;min-width:0}.row.end{justify-content:flex-end}.voice-phrase{font-size:1.2rem;font-weight:600}.toast.update{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toast.update .btn.ghost{color:inherit}.voice-warning{border-radius:10px}.speak-original{vertical-align:middle;color:inherit;opacity:.85;margin-left:4px;padding:2px;display:inline-flex}.voice-request{flex-direction:column;gap:6px;display:flex}.voice-request p{margin:0}.voice-request-text{margin:0;font-size:1.1rem;font-weight:600}.media-audio{flex-direction:column;gap:6px;min-width:min(240px,60vw);padding:6px 8px 0;display:flex}.media-audio audio{width:100%}.bubble-row.out .voice-request .muted{color:inherit;opacity:.8}.bubble-row.out .engine{color:inherit;background:#fff3}.danger-icon{color:var(--danger)}.phrase-delete{margin-left:auto}.voice-others{gap:6px;margin:0;padding:0;list-style:none;display:grid}.voice-others li{justify-content:space-between;align-items:center;gap:8px;display:flex}.gif-panel .row input{flex:1;min-width:0}.gif-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.gif-grid button{aspect-ratio:1;background:var(--surface-2);cursor:pointer;border:0;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.gif-grid img{object-fit:cover;width:100%;height:100%}.powered-by{text-align:center;color:var(--muted);margin:8px 0 0;font-size:.75rem}.composer .gif-btn{letter-spacing:.02em;flex-shrink:0;font-size:.8rem;font-weight:800}.gif-heading{color:var(--muted);margin:10px 0 0;font-size:.8rem}.quote{border-left:3px solid var(--accent);background:#0000000d;border-radius:6px;align-items:stretch;gap:4px;margin-bottom:6px;display:flex}.bubble-row.out .bubble .quote{background:#ffffff26;border-left-color:currentColor}.quote-body{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:4px 8px;display:flex}.quote-body:disabled{cursor:default}.quote-author{color:var(--accent);font-size:.75rem;font-weight:700}.bubble-row.out .bubble .quote-author{color:inherit;opacity:.85}.quote-text{opacity:.85;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.quote-close{align-self:center;padding:4px 8px}.reply-bar{background:var(--surface);border-top:1px solid var(--border);padding:6px 12px 0}.reply-bar .reply-label{color:var(--muted);margin-bottom:4px;font-size:.75rem;display:block}.reply-bar .quote{margin-bottom:0}.reply-bar+.composer{border-top:0}.bubble-row.flash .bubble{animation:1.5s ease-out flash}@keyframes flash{0%,30%{box-shadow:0 0 0 3px var(--accent)}to{box-shadow:0 0 #0000}}.join-landing{box-sizing:border-box;max-width:440px;min-height:100dvh;padding:calc(32px + var(--safe-t)) 20px calc(24px + var(--safe-b));text-align:center;flex-direction:column;align-items:center;gap:12px;margin:0 auto;display:flex}.join-landing h1{margin:8px 0 0;font-size:1.4rem}.join-landing p{margin:0}.join-code{letter-spacing:.15em;background:var(--surface-2);border-radius:12px;padding:8px 16px;font-family:ui-monospace,monospace;font-size:2rem;font-weight:800}.join-landing hr{border:0;border-top:1px solid var(--border);width:100%;margin:12px 0 4px}.reaction-picker{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;gap:2px;width:fit-content;margin-top:6px;padding:4px;display:flex}.reaction-picker button{cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px;font-size:1.35rem;line-height:1;transition:transform .1s}.reaction-picker button:active{transform:scale(1.25)}.reaction-picker button.chosen{background:var(--surface-2)}.bubble-row:has(.reactions){margin-bottom:14px}.reactions{gap:2px;display:flex;position:absolute;bottom:-16px}.bubble-row.in .reactions{left:10px}.bubble-row.out .reactions{right:10px}.reaction{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;padding:3px 6px;font-size:.95rem;line-height:1;display:inline-flex}button.reaction{cursor:pointer;font:inherit;font-size:.95rem}.reaction.mine{border-color:var(--accent)}.typing-label{color:var(--accent);font-weight:600}.typing-dots{gap:4px;padding:12px 14px;display:flex}.typing-dots span{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-dot}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.typing-dots span{animation:none}}
