:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-pill: 999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: 11px;--text-sm: 13px;--text-md: 15px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 32px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12)}:root,[data-theme=dark]{color-scheme:dark;--color-bg: #0f1115;--color-surface: #16181f;--color-surface-2: #1e212b;--color-border: #2a2e3a;--color-text: #f2f4f8;--color-text-muted: #9aa1b0;--color-primary: #3563E9;--color-primary-hover: #2f5cd6;--color-primary-contrast: #ffffff;--color-bubble-own: #3563E9;--color-bubble-own-text: #ffffff;--color-bubble-other: #1e212b;--color-bubble-other-text: #f2f4f8;--color-danger: #ff5c5c;--color-success: #37d399}[data-theme=light]{color-scheme:light;--color-bg: #f5f6f8;--color-surface: #ffffff;--color-surface-2: #eceef2;--color-border: #dde1e8;--color-text: #16181f;--color-text-muted: #6b7280;--color-primary: #3b6df0;--color-primary-hover: #2f5cd6;--color-primary-contrast: #ffffff;--color-bubble-own: #3b6df0;--color-bubble-own-text: #ffffff;--color-bubble-other: #ffffff;--color-bubble-other-text: #16181f;--color-danger: #d93a3a;--color-success: #12a06a}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--color-bg: #f5f6f8;--color-surface: #ffffff;--color-surface-2: #eceef2;--color-border: #dde1e8;--color-text: #16181f;--color-text-muted: #6b7280;--color-primary: #3b6df0;--color-primary-hover: #2f5cd6;--color-primary-contrast: #ffffff;--color-bubble-own: #3b6df0;--color-bubble-own-text: #ffffff;--color-bubble-other: #ffffff;--color-bubble-other-text: #16181f;--color-danger: #d93a3a;--color-success: #12a06a}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:1.45;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font-family:inherit}a{color:var(--color-primary);text-decoration:none;word-break:break-all}.app{height:100%;height:100dvh}.screen{min-height:100%;min-height:100dvh;padding:var(--space-6);display:flex;flex-direction:column}.screen--center{align-items:center;justify-content:center}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .05s ease;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.btn--primary:not(:disabled):hover{background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.btn--ghost{background:transparent;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium)}.btn--block{width:100%}.input{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);padding:var(--space-3) var(--space-4);font-size:var(--text-md);font-family:inherit;outline:none;transition:border-color .15s ease}.input:focus{border-color:var(--color-primary)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.field__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.link{background:none;border:none;color:var(--color-primary);font-size:var(--text-sm);cursor:pointer;padding:0;align-self:flex-start;display:flex;align-items:center;transition:color .15s ease}.home{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-5)}.home__brand{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin:0;text-align:left}.home__tagline{color:var(--color-text-muted);text-align:left;margin:0}.home__divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.home__divider:before,.home__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.home__join{display:flex;gap:var(--space-2)}.home__code{text-transform:uppercase;letter-spacing:.2em;font-family:var(--font-mono);text-align:center}.home__error,.join__error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.join{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-3)}.join__title{font-size:var(--text-xl);font-weight:var(--weight-bold);margin:0 0 var(--space-2)}.chatroom{height:100%;height:100dvh;display:flex;flex-direction:column;background:var(--color-bg)}.chatroom__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-top:calc(var(--space-2) + env(safe-area-inset-top));background:var(--color-surface);border-bottom:1px solid var(--color-border);position:relative}.chatroom__title{display:flex;flex-direction:column;align-items:center;line-height:1.2;position:absolute;left:50%;transform:translate(-50%)}.chatroom__code{font-family:var(--font-mono);font-weight:var(--weight-bold);letter-spacing:.15em;font-size:var(--text-lg)}.chatroom__members{font-size:var(--text-xs);color:var(--color-text-muted)}.chatroom__info{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.chatroom__code-big{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:.25em}.chatroom__typing{padding:0 var(--space-4) var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.chatroom__closed{width:100%;max-width:400px;text-align:center;display:flex;flex-direction:column;gap:var(--space-4)}.chatroom__closed p{color:var(--color-text-muted);margin:0}.qr{background:#fff;padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-md);line-height:0}.messages{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);overscroll-behavior:contain}.message-row{display:flex;flex-direction:column;max-width:82%;align-self:flex-start}.message-row--own{align-self:flex-end;align-items:flex-end}.message-row__meta{display:flex;gap:var(--space-2);align-items:baseline;margin-bottom:2px;padding:0 var(--space-1)}.message-row__sender{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.message-row__time{font-size:var(--text-xs);color:var(--color-text-muted);opacity:.75}.bubble{background:var(--color-bubble-other);color:var(--color-bubble-other-text);border-radius:var(--radius-lg);border-top-left-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-sm);word-break:break-word;overflow-wrap:anywhere}.message-row--own .bubble{background:var(--color-bubble-own);color:var(--color-bubble-own-text);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-sm)}.bubble__text{white-space:pre-wrap}.bubble__status{margin-left:var(--space-1);font-size:var(--text-xs);font-style:italic;opacity:.7}.bubble__toggle{display:block;margin-top:var(--space-1);background:none;border:none;padding:0;font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;opacity:.7;color:inherit}.message-row--own .bubble__toggle{color:#ffffffd9}.message-row--system{align-self:center;max-width:100%}.message-row__system-text{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;background:var(--color-surface-2);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3)}.input-bar{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border)}.input-bar__field{flex:1;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);padding:var(--space-3) var(--space-4);font-size:var(--text-md);font-family:inherit;outline:none;min-width:0}.input-bar__field:focus{border-color:var(--color-primary)}.input-bar__send{border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5)}.language-select{position:relative;width:100%}.language-select__button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);padding:var(--space-3) var(--space-4);font-size:var(--text-md);font-family:inherit;outline:none;gap:var(--space-2);transition:border-color .15s ease}.language-select__button:hover,.language-select__button:focus{border-color:var(--color-primary)}.language-select__button:after{content:"";flex-shrink:0;width:.5em;height:.5em;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg) translateY(-2px)}.language-select__dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-top:0;max-height:min(60vh,480px);overflow-y:auto}.language-select__search{width:100%;background:var(--color-surface-2);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);padding:var(--space-3) var(--space-4);font-size:var(--text-md);font-family:inherit;outline:none;box-sizing:border-box}.language-select__search:focus{border-bottom-color:var(--color-primary)}.language-select__list{list-style:none;margin:0;padding:var(--space-1) 0;overflow-y:auto}.language-select__list li,.language-select__list [role=option]{padding:var(--space-2) var(--space-4);cursor:pointer;color:var(--color-text);white-space:nowrap;border-radius:var(--radius-sm);font-size:var(--text-md);line-height:1.4}.language-select__list li:hover,.language-select__list [role=option]:hover{background:var(--color-surface-2)}.language-select__list li[aria-selected=true],.language-select__list [role=option][aria-selected=true]{color:var(--color-primary)}.typing-dots{display:inline-flex;align-items:center;gap:4px;min-height:10px;line-height:0}.typing-dots__dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-text-muted);opacity:.35;animation:typing-dots-bounce 1.2s ease-in-out infinite}.typing-dots[data-visible=false]{visibility:hidden}.typing-dots[data-visible=false] .typing-dots__dot{animation:none}@keyframes typing-dots-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion: reduce){.typing-dots__dot{animation:none;opacity:.6}.typing-dots[data-visible=false] .typing-dots__dot{opacity:0}}.spinner{display:inline-flex;align-items:center;justify-content:center;gap:4px;line-height:0}.spinner__dot{width:6px;height:6px;border-radius:50%;background-color:currentColor;opacity:.5;animation:spinner-bounce 1.2s ease-in-out infinite}.spinner__dot:nth-child(2){animation-delay:.15s}.spinner__dot:nth-child(3){animation-delay:.3s}@keyframes spinner-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion: reduce){.spinner__dot{animation:none;opacity:.7}}.btn--icon{display:inline-flex;align-items:center;gap:var(--space-2)}.btn--icon svg{flex-shrink:0}.btn--leave .icon-hover{display:none}.btn--leave:hover .icon-default,.btn--leave:focus-visible .icon-default{display:none}.btn--leave:hover .icon-hover,.btn--leave:focus-visible .icon-hover{display:inline-flex}.btn--leave:hover,.btn--leave:focus-visible,.btn--share:hover,.btn--share:focus-visible{color:#fff}.chatroom__actions{display:flex;align-items:center;flex-shrink:0}.chatroom__actions .language-select{width:fit-content}.chatroom__actions .language-select__button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.chatroom__actions .language-select__dropdown{position:absolute;top:calc(100% + var(--space-1));left:auto;right:0;z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--space-3);box-shadow:var(--shadow-md);margin-top:0;max-height:min(60vh,480px);overflow-y:auto;padding:0}.chatroom__actions .language-select__search{border-radius:var(--space-2) var(--space-2) 0 0}.link:hover{filter:brightness(1.5)}.chatroom__actions .language-select__label{display:none}@media screen and (min-width: 576px){.chatroom__actions .language-select__label{display:inline}}@keyframes share-panel-pop{0%{opacity:0;transform:scale(.9) translateY(-6px)}60%{opacity:1;transform:scale(1.02) translateY(0)}80%{transform:scale(.99)}to{opacity:1;transform:scale(1)}}.chatroom__info{animation:share-panel-pop .28s cubic-bezier(.34,1.56,.64,1) both;transform-origin:top center}@keyframes share-btn-pop{0%{transform:scale(1)}50%{transform:scale(.94)}to{transform:scale(1)}}.btn--share:active{animation:share-btn-pop .14s ease-out}@media (prefers-reduced-motion: reduce){.chatroom__info,.btn--share:active{animation:none}}.notify-prompt{display:flex;align-items:flex-start;gap:var(--space-3);flex:0 1 auto;min-height:0;max-height:40dvh;overflow-y:auto;margin:var(--space-2) var(--space-3) 0;padding:var(--space-3);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm)}.notify-prompt--compact{align-items:center;padding:var(--space-2) var(--space-3)}.notify-prompt__content{flex:1;min-width:0;overflow-wrap:anywhere}.notify-prompt__title{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.notify-prompt__body{margin:0;color:var(--color-text-muted)}.notify-prompt__actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-4);margin-top:var(--space-2)}.notify-prompt__button,.notify-prompt__dismiss,.notify-prompt__guide summary{font:inherit;cursor:pointer;color:var(--color-primary)}.notify-prompt__button,.notify-prompt__dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius-sm);padding:var(--space-1) 0;background:transparent;text-align:start}.notify-prompt__dismiss{flex-shrink:0;color:var(--color-text-muted);max-width:35%;overflow-wrap:anywhere}.notify-prompt__button:disabled{opacity:.6;cursor:not-allowed}.notify-prompt__button:focus-visible,.notify-prompt__dismiss:focus-visible,.notify-prompt__guide summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.notify-prompt__guide{min-width:0}.notify-prompt__guide summary{padding:var(--space-1) 0}.notify-prompt__guide ol,.notify-prompt__steps{margin:var(--space-2) 0 0;padding-inline-start:var(--space-5);color:var(--color-text-muted)}.notify-prompt__feedback{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.notify-prompt__feedback--enabled{color:var(--color-success)}.notify-prompt__diag{margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px dashed var(--color-border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;color:var(--color-text-muted);overflow-wrap:anywhere}.notify-prompt__diag-row{margin:0}.notify-prompt__diag-steps{margin:var(--space-1) 0 0;padding-inline-start:var(--space-5);list-style:none}.notify-prompt__diag-steps li+li{margin-top:2px}.join__banner{padding:var(--space-3);background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-inline-start:3px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.5}.language-select__search-wrap{position:relative;display:flex;align-items:center}.language-select__search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;line-height:0;color:var(--color-text-muted);pointer-events:none}.language-select__search{padding-left:calc(var(--space-4) + 15px + var(--space-2))}.language-select__dropdown{animation:language-select-dropdown-open .26s cubic-bezier(.34,1.56,.64,1) both;transform-origin:top center}@keyframes language-select-dropdown-open{0%{opacity:0;transform:scale(.9) translateY(-6px)}60%{opacity:1;transform:scale(1.02) translateY(0)}80%{transform:scale(.99)}to{opacity:1;transform:scale(1)}}.language-select__dropdown--closing{animation:language-select-dropdown-close .15s ease-out both;transform-origin:top center}@keyframes language-select-dropdown-close{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96) translateY(-4px)}}@media (prefers-reduced-motion: reduce){.language-select__dropdown,.language-select__dropdown--closing{animation:none}}.join__explainer{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.chatroom__title{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;outline:none}.chatroom__title:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px;border-radius:4px}.chatroom__title-caret{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:4px;display:inline-flex;align-items:center;justify-content:center;line-height:0;color:var(--color-text-muted);pointer-events:none;transition:opacity .2s ease;opacity:.7}.chatroom__title:hover .chatroom__title-caret,.chatroom__title:focus-visible .chatroom__title-caret{opacity:1}.bubble__source-lang{margin-top:var(--space-1);font-size:var(--text-xs);font-style:italic;opacity:.7}.chatroom__reconnecting{display:flex;align-items:center;justify-content:center;height:24px;line-height:24px;overflow:hidden;padding:0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-2);border-bottom:1px solid var(--color-border);opacity:0;transition:opacity .2s ease}.chatroom__reconnecting[data-visible=true]{opacity:1}@media (prefers-reduced-motion: reduce){.chatroom__reconnecting{transition:none}}.home__rejoin{justify-content:center;gap:var(--space-2)}.home__rejoin-code{font-family:var(--font-mono);letter-spacing:.15em;font-weight:var(--weight-bold);color:var(--color-primary)}.bubble__shimmer{display:block;margin-top:var(--space-2)}.bubble__shimmer-line{display:block;height:10px;border-radius:var(--radius-sm);background:var(--color-surface-2);margin-top:var(--space-1);width:100%;animation:bubble-shimmer 1.2s ease-in-out infinite}.bubble__shimmer-line--short{width:60%}@keyframes bubble-shimmer{0%{opacity:.35}50%{opacity:.7}to{opacity:.35}}@media (prefers-reduced-motion: reduce){.bubble__shimmer-line{animation:none;opacity:.4}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chatroom__presence{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-top:var(--space-3);width:100%}.chatroom__presence-heading{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.chatroom__presence-member{font-size:var(--text-sm);color:var(--color-text)}.chatroom__presence-empty{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.chatroom__sound{padding:var(--space-2)}.bubble-wrap{position:relative;display:flex;flex-direction:column;max-width:100%}.bubble-wrap--reacted{padding-top:12px}.message-row--own .bubble-wrap{align-items:flex-end}.message-row:not(.message-row--own) .bubble-wrap{align-items:flex-start}.bubble{position:relative}.bubble__react-pill-row{position:absolute;top:2px;display:flex;flex-direction:row;align-items:center;pointer-events:none;z-index:2}.bubble__react-pill-row--own{left:13px;top:-5px}.bubble__react-pill-row--own .bubble__react-pill{margin-right:-6px}.bubble__react-pill-row:not(.bubble__react-pill-row--own){right:13px}.bubble__react-pill-row:not(.bubble__react-pill-row--own) .bubble__react-pill{margin-left:-6px}.bubble__react-pill{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 8px;border-radius:var(--radius-pill);background:var(--color-bubble-other);color:var(--color-bubble-other-text);border:2px solid var(--color-bg);font-size:13px;line-height:1;box-sizing:border-box;box-shadow:var(--shadow-sm)}.bubble__react-pill-row--own .bubble__react-pill{background:var(--color-bubble-own);color:var(--color-bubble-own-text)}.bubble__react-pill-emoji{line-height:1}.bubble__react-pill-count{font-size:11px;font-weight:var(--weight-semibold);line-height:1;opacity:.9}.bubble__react-menu{position:fixed;transform:translateY(-100%);display:flex;gap:var(--space-1);padding:6px;margin-top:-6px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:20}.bubble__react-menu--own{right:var(--space-4)}.bubble__react-menu:not(.bubble__react-menu--own){left:var(--space-4)}.bubble__react-menu-emoji{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:50%;background:transparent;font-size:var(--text-lg);line-height:1;cursor:pointer;transition:background .12s ease,transform .12s ease}.bubble__react-menu-emoji:hover,.bubble__react-menu-emoji:focus-visible{background:var(--color-surface-2);transform:scale(1.12)}.bubble__react-menu-emoji--active{background:var(--color-surface-2);outline:1px solid var(--color-primary)}@media (prefers-reduced-motion: reduce){.bubble__react-menu-emoji{transition:none}.bubble__react-menu-emoji:hover,.bubble__react-menu-emoji:focus-visible{transform:none}}.home__btn-label{display:inline-flex;align-items:center;gap:var(--space-2)}.home__btn-label svg{flex-shrink:0}.app-main{display:block;min-height:100%}.home__code-field{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}.home__code-label{font-size:12px;font-weight:600;color:var(--muted, #9aa0a6);letter-spacing:.02em;text-transform:uppercase}.home__btn-icon,.join__back-icon{display:inline-flex;align-items:center;line-height:0}.btn:focus-visible,.link:focus-visible,.input:focus-visible,.input-bar__field:focus-visible,.language-select__button:focus-visible,.language-select__search:focus-visible,.language-select__list li[role=option]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.bubble.bubble--link-preview{padding:0;overflow:hidden}.message-row__link-preview{margin-top:var(--space-2);max-width:100%;display:flex;width:100%}.message-row--own .message-row__link-preview{justify-content:flex-end}.message-row:not(.message-row--own) .message-row__link-preview{justify-content:flex-start}.link-preview{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--radius-lg);overflow:hidden;box-sizing:border-box;min-width:0;max-width:100%}.link-preview--alone{width:100%;border-radius:inherit}.link-preview--embedded{background:var(--color-bubble-other);color:var(--color-bubble-other-text);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);max-width:320px}.link-preview--embedded.link-preview--own{background:var(--color-bubble-own);color:var(--color-bubble-own-text);border-color:transparent}.link-preview:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.link-preview__image-wrap{width:100%;aspect-ratio:1.91 / 1;overflow:hidden;background:var(--color-surface-2);flex-shrink:0}.link-preview__image{width:100%;height:100%;display:block;object-fit:cover}.link-preview__body{padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:2px;min-width:0}.link-preview__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.link-preview__desc{font-size:var(--text-xs);line-height:1.35;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.link-preview__domain{font-size:var(--text-xs);opacity:.7;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home__join .btn{height:fit-content;align-self:end}.message-row--own .message-row__link-preview .link-preview--embedded.link-preview--own{align-self:flex-end;margin-left:auto}.messages>.message-shell{display:flex;flex-direction:column;width:100%;min-width:0;flex-shrink:0}.message-shell>.message-row--own{align-self:flex-end;margin-left:auto;margin-right:0}.message-shell>.message-row:not(.message-row--own):not(.message-row--system){align-self:flex-start;margin-left:0;margin-right:auto}@media (max-width: 768px){.input-bar .input-bar__field{font-size:16px}}.message-row__receipt{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.input-bar .input-bar__field,.input-bar .input-bar__send{font-size:16px;touch-action:manipulation}.message-row__receipt{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.message-row__receipt[data-receipt-state=seen]{color:var(--color-primary)}.message-row__receipt-icon{width:16px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chatroom .language-select__button,.chatroom .language-select__search,.chatroom .language-select__list [role=option]{font-size:max(16px,var(--text-md))}.message-row__receipt--below{margin-top:var(--space-1);padding:0 var(--space-1)}
