@font-face{font-family:Inter;src:url("fonts/InterVariable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:Inter,"Segoe UI",sans-serif;font-optical-sizing:auto;color:#f8fafc;--surface:#17191f;--panel:#24272e;--text:#f8fafc;--muted:#eff3f7;--accent:#d9edff;--focus-ring:2px solid var(--accent);--local-accent:#e9f2fc;--ooc-accent:#dcefff;--server-accent:#fff0c9;--radio-accent:#d9f9fc;--anon-surface:19,30,27;--anon-accent:#dcfdeb;--pm-surface:33,23,31;--pm-accent:#ffe8f3;--me-surface:29,24,39;--me-accent:#f4e7ff;--do-surface:35,28,22;--do-accent:#ffeddb;--hover:rgba(0, 0, 0, .16);--control-border:#94a1b0;--divider:rgba(238, 244, 255, .16);--scrollbar:rgba(227, 233, 240, .3);--glass-opacity:max(.7, var(--opacity));--tool-surface:rgba(19, 22, 29, var(--glass-opacity));--glass-blur:14px;--glass-blend:.5;--glass-brightness:.4;--glass-saturation:1.08;--glass-sheen:linear-gradient(165deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, 0) 38%, rgba(220, 235, 255, .025) 78%, rgba(255, 255, 255, .055));--glass-edge:inset 0 1px 0 rgba(255, 255, 255, .52),inset 1px 0 0 rgba(255, 255, 255, .16),inset -1px 0 0 rgba(255, 255, 255, .12),inset 0 -1px 0 rgba(233, 242, 255, .23);--surface-shadow:0 8px 24px -8px rgba(3, 7, 16, .38),0 2px 5px rgba(3, 7, 16, .12);--radius-control:12px;--radius-surface:24px;--scale:1;--type-meta:max(12px, calc(12px * var(--scale)));--type-description:max(13px, calc(13px * var(--scale)));--chat-width:510px;--chat-rows:7;--opacity:.8;--margin:clamp(16px, 2.2vw, 42px)}:root.glass-ready{--glass-opacity:var(--opacity)}:root.pointer-input{--focus-ring:none}*{box-sizing:border-box}[hidden]{display:none!important}body,html{margin:0;width:100%;height:100%;overflow:hidden;background:0 0}body{font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#message,input[type=search]{-webkit-user-select:text;user-select:text}button,input{font:inherit;color:inherit}button,input[type=checkbox],input[type=range]{cursor:pointer}button{border:0;background:0 0}#message,.search-field,.switch,button{transition:background-color 120ms ease-out,color 120ms ease-out,border-color 120ms ease-out}button:disabled{cursor:not-allowed;opacity:.55}#message,input{caret-color:var(--accent)}button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:var(--focus-ring);outline-offset:2px}::selection{color:#10171d;background:var(--accent)}::placeholder{color:var(--muted);opacity:1}::-webkit-scrollbar{width:9px;height:9px;background:0 0}::-webkit-scrollbar-thumb{min-width:24px;min-height:24px;border:3px solid transparent;border-radius:999px;background:var(--scrollbar);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:rgba(227,233,240,.5)}::-webkit-scrollbar-thumb:active{background-color:rgba(227,233,240,.7)}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-button:vertical:end:increment,::-webkit-scrollbar-button:vertical:start:decrement{display:block;height:9px;background:radial-gradient(circle at center,var(--scrollbar) 1.5px,transparent 2px)}::-webkit-scrollbar-button:vertical:hover{background:radial-gradient(circle at center,rgba(227,233,240,.6) 1.5px,transparent 2px)}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.glass-backdrop{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}:root:not(.glass-ready) body.demo :is(.composer,.panel){-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.chat{--message-padding-block:7px;--message-row-height:calc(1.45em + var(--message-padding-block) * 2);color-scheme:dark;position:absolute;z-index:1;top:8px;left:8px;width:min(var(--chat-width),calc(100vw - var(--margin) * 2));max-height:calc(100vh - 72px);display:flex;flex-direction:column;align-items:flex-start;font-size:calc(16px * var(--scale));pointer-events:none}.chat[data-open=true]{pointer-events:auto}.chat[data-compact=true]{--message-padding-block:5px}.chat-navigation{flex:0 0 auto;max-width:100%;margin-bottom:10px}.chat-tabs{position:relative;isolation:isolate;display:inline-flex;flex-wrap:nowrap;max-width:100%;gap:2px;padding:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:22px;background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge),var(--surface-shadow)}.chat-tabs::-webkit-scrollbar{display:none}.chat-tab-indicator{--glass-blur:4px}.chat-tab-indicator{position:absolute;z-index:-1;top:0;left:0;width:44px;height:36px;border-radius:18px;pointer-events:none;background:linear-gradient(160deg,rgba(var(--tab-accent,197,221,243),.12),rgba(255,255,255,.02) 65%),rgba(5,10,18,.24);box-shadow:var(--glass-edge),0 3px 8px rgba(3,7,16,.2);transform:translate(4px,4px);transform-origin:left center;transition:background-color 180ms ease-out}.chat-tabs[data-channel=localchat]{--tab-accent:201,216,236}.chat-tabs[data-channel=ooc]{--tab-accent:158,213,255}.chat-tabs[data-channel=me]{--tab-accent:223,186,255}.chat-tabs[data-channel=anon]{--tab-accent:178,248,216}.chat-tabs[data-channel=pm]{--tab-accent:255,183,220}.chat-tabs[data-channel=do]{--tab-accent:255,193,138}.chat-tabs[data-channel=server]{--tab-accent:255,220,128}.chat-tabs[data-channel=radio]{--tab-accent:156,235,242}.chat-tabs button{position:relative;flex:0 0 auto;min-width:36px;min-height:36px;padding:0 8px;white-space:nowrap;border-radius:18px;color:var(--muted);font-size:.84em;font-weight:600;letter-spacing:.01em}.chat-tabs button::after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:#ff6b78;box-shadow:0 1px 2px rgba(7,12,20,.4);pointer-events:none;opacity:0;transform:scale(.55);transition:opacity 120ms ease-out,transform 120ms ease-out}.chat-tabs button[data-unread=true]::after{opacity:1;transform:scale(1);transition:opacity 180ms ease-out,transform 220ms cubic-bezier(.16, 1, .3, 1)}.chat-tabs button:hover:not(:disabled){background:var(--hover)}.chat-tabs button[data-chat-channel=localchat]{color:var(--local-accent)}.chat-tabs button[data-chat-channel=ooc]{color:var(--ooc-accent)}.chat-tabs button[data-chat-channel=me]{color:var(--me-accent)}.chat-tabs button[data-chat-channel=anon]{color:var(--anon-accent)}.chat-tabs button[data-chat-channel=pm]{color:var(--pm-accent)}.chat-tabs button[data-chat-channel=do]{color:var(--do-accent)}.chat-tabs button[data-chat-channel=server]{color:var(--server-accent)}.chat-tabs button[data-chat-channel=radio]{color:var(--radio-accent)}.chat-tabs button[aria-selected=true]{color:var(--text)}.chat-tabs button:focus-visible{outline-offset:-2px}.message-scroll{height:calc((var(--message-row-height) + 4px) * var(--chat-rows) - 4px);width:100%;overflow:hidden;flex:0 1 auto;min-height:var(--message-row-height)}.chat[data-open=true] .message-scroll{overflow-y:auto;padding-right:5px}.messages{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.message{--message-surface:23,26,33;--message-accent:var(--local-accent);--message-muted:#f4f7fb;display:flex;align-items:baseline;gap:10px;width:fit-content;max-width:100%;padding:var(--message-padding-block) 11px;background:var(--glass-sheen),rgba(var(--message-surface),var(--glass-opacity));box-shadow:var(--glass-edge);border-radius:14px;overflow-wrap:anywhere}.message[data-channel=ooc]{--message-surface:21,29,40;--message-accent:var(--ooc-accent);--message-muted:#edf6ff}.message[data-channel=anon]{--message-surface:var(--anon-surface);--message-accent:var(--anon-accent);--message-muted:#f0fcf6}.message[data-channel=pm]{--message-surface:var(--pm-surface);--message-accent:var(--pm-accent);--message-muted:#fff2f8}.message[data-channel=system]{--message-surface:35,25,25;--message-accent:#ffe3de;--message-muted:#fff1df}.message[data-channel=server]{--message-surface:35,31,22;--message-accent:var(--server-accent);--message-muted:#fff8e6}.message[data-channel=radio]{--message-surface:20,31,35;--message-accent:var(--radio-accent);--message-muted:#eefcfd}.message[data-channel=radio] .message-channel{white-space:normal;max-width:45%;overflow-wrap:anywhere}.channel-lock{display:flex;flex:1;align-items:center;gap:9px;min-width:0;padding:8px 10px;color:var(--text);font-size:.9em}.composer .channel-lock .icon{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor}.composer[data-locked=true] #emotes-toggle,.composer[data-locked=true] #send-button{opacity:.45;cursor:not-allowed}.message[data-channel=server] .message-body{font-weight:500}.message[data-channel=server] .message-channel .icon{fill:currentColor;stroke:none}.bubble-item[data-channel=me],.message[data-channel=me]{--message-surface:var(--me-surface);--message-accent:var(--me-accent);--message-muted:#f8f0ff}.bubble-item[data-channel=do],.message[data-channel=do]{--message-surface:var(--do-surface);--message-accent:var(--do-accent);--message-muted:#fff6ec}.chat[data-compact=true] .message{padding-inline:10px;gap:9px}.message-channel{color:var(--message-accent);padding-right:8px;border-right:1px solid var(--divider);font-weight:650;white-space:nowrap;flex:0 0 auto;font-size:.91em}.message-channel .icon{width:1.25em;height:1.25em;vertical-align:-.22em}.message-body{min-width:0;white-space:pre-wrap}.message-author{font-weight:600}.message-id{display:inline-block;margin-inline-end:.2em;color:var(--message-muted);font-size:var(--type-meta);font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.message-alias{color:var(--anon-accent);font-size:.9em;font-weight:600;white-space:nowrap;margin-right:.3em}.message-author:has(.message-avatar){display:inline-flex;align-items:baseline;max-width:100%;vertical-align:baseline}.message-author>span{min-width:0}.message-avatar{flex:0 0 1.25em;align-self:flex-start;width:1.25em;height:1.25em;margin:.1em 6px 0 0;border-radius:50%;object-fit:cover}.bubble-layer{position:fixed;inset:0;z-index:1;pointer-events:none}.visibility-notice{position:fixed;inset:auto 16px 28px;z-index:30;display:flex;justify-content:center;pointer-events:none}.visibility-hint{margin:0;padding:10px 18px;border-radius:22px;background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge),var(--surface-shadow);color:var(--text);font-size:var(--type-description);line-height:1.45;text-align:center}.bubble-anchor{position:absolute;left:0;top:0;width:max-content;max-width:min(360px,calc(100vw - 24px));translate:0 0;will-change:translate;transform:translate(-50%,-100%) scale(var(--bubble-distance-scale,1));transform-origin:center bottom}.bubble-anchor[data-anchor=roleplay]{transform:translate(-50%,-50%) scale(var(--bubble-distance-scale,1));transform-origin:center}.bubble-stack{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;margin:0;padding:0;list-style:none}.bubble-item{display:flex;max-width:100%}.bubble-atlas>:not(.bubble-layer,.glass-backdrop,.icon-definitions){display:none!important}.bubble-atlas .bubble-item{position:absolute;width:max-content;max-width:min(360px,var(--bubble-view-width,360px))}.atlas-tile{position:absolute;overflow:hidden}.bubble{display:flex;align-items:center;gap:10px;max-width:100%;padding:10px 17px;border-radius:20px;background:var(--glass-sheen),rgba(var(--message-surface,19,22,29),var(--glass-opacity));box-shadow:var(--glass-edge),var(--surface-shadow);color:var(--text);font-size:calc(16px * var(--scale));font-weight:450;line-height:1.4;overflow-wrap:anywhere;transform-origin:center bottom}.bubble-icon{flex:0 0 20px;width:20px;height:20px;fill:currentColor}.bubble-label{flex:none;padding-right:8px;border-right:1px solid var(--divider);color:var(--message-muted,var(--text));font-size:.85em;font-weight:600}.typing-bubble{gap:12px;padding:8px 14px;border-radius:999px;transform-origin:center bottom;transition:background-color 180ms ease}.typing-bubble .bubble-label{min-width:30px;text-align:center;transition:color 180ms ease}.typing-dots{display:flex;align-items:center;gap:5px;height:20px;padding:0 2px;color:var(--message-accent);transition:color 180ms ease}.typing-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:typing-wave 1.4s cubic-bezier(.45,0,.25,1) infinite}.typing-dot:nth-child(2){animation-delay:120ms}.typing-dot:nth-child(3){animation-delay:240ms}:is([hidden],[inert]) .typing-dot{animation-play-state:paused}@keyframes typing-wave{0%,100%,55%{transform:translateY(1px) scale(.82);opacity:.55}18%{transform:translateY(-3px) scale(1.08,1.18);opacity:1}34%{transform:translateY(1px) scale(1.12,.88);opacity:.85}}.message-time{color:var(--message-muted);font-size:var(--type-meta);font-variant-numeric:tabular-nums;margin-left:5px;white-space:nowrap;flex:0 0 auto}.message-legacy{white-space:normal}.message-legacy pre,.message-multiline{white-space:pre-wrap}.message-legacy :is(p,pre){margin:0}.message-legacy :is(pre,code){font:inherit}.chat[data-timestamps=false] .message-time{display:none}.inline-emote{width:1.65em;height:1.65em;object-fit:contain;vertical-align:-.4em;margin:0 2px}.new-messages{position:absolute;right:18px;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge),var(--surface-shadow);color:var(--muted)}.new-messages .icon{width:18px;height:18px}.new-messages:hover{background-color:var(--hover);color:var(--text)}.new-messages:active .icon{transform:translateY(1px)}.editor{flex:0 0 auto;width:100%;margin-top:12px}.composer{display:flex;align-items:center;background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge),var(--surface-shadow);border-radius:24px;padding:4px;gap:3px}#message{position:relative;flex:1 1 auto;width:100%;min-width:24px;min-height:36px;max-height:calc(5.8em + 12px);border:0;background:0 0;padding:6px 10px 6px 14px;line-height:1.45;overflow-y:auto;overflow-wrap:anywhere;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;border-radius:20px 12px 12px 20px}#message:focus-visible{outline:0}#message p{margin:0}#message[data-empty=true]::before{content:attr(data-placeholder);position:absolute;color:var(--muted);pointer-events:none;white-space:nowrap;max-width:calc(100% - 25px);overflow:hidden;text-overflow:ellipsis}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;color:var(--muted);border-radius:12px}.composer .icon-button,.panel .icon-button{flex-basis:36px;width:36px;height:36px;border-radius:50%}.panel .close-panel .icon{width:18px;height:18px}.composer .icon-button{background:0 0}.composer .icon{width:20px;height:20px;fill:currentColor;stroke:none}.icon-button:hover,.icon-button[aria-expanded=true]{color:var(--accent);background:var(--hover)}.composer .send-button{color:#17212c;background:linear-gradient(155deg,#f5faff,#c4def4);box-shadow:inset 0 1px 0 #fff,0 2px 5px rgba(3,7,16,.2)}.composer .send-button:hover:not(:disabled){background:#fff}.composer .send-button:active:not(:disabled){background:#b8d6ee}.composer .send-button:disabled{opacity:1;color:var(--muted);background:rgba(255,255,255,.07);box-shadow:none}.composer-meta{display:flex;justify-content:flex-end;margin-top:4px;font-size:var(--type-meta);color:var(--muted)}.composer-meta>span{padding:3px 9px;background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge);border-radius:10px}#character-count{flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}kbd{font:inherit;color:var(--text)}.status{margin:7px 0 0;padding:8px 11px;font-size:var(--type-description);color:var(--muted);background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge);border-radius:var(--radius-control)}.status[data-tone=error]{color:#ffe3de;background-color:rgba(57,22,24,var(--glass-opacity))}.suggestions{list-style:none;margin:8px 0 0;padding:5px;background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge),var(--surface-shadow);border-radius:var(--radius-surface)}.suggestions button{width:100%;min-height:44px;text-align:left;padding:7px 9px;display:flex;align-items:center;gap:10px;border-radius:12px}.suggestions button[data-kind=command]{align-items:flex-start;flex-direction:column;gap:3px;overflow-wrap:anywhere}.suggestion-command{max-width:100%;color:var(--text)}.suggestions [aria-selected=true] button,.suggestions button:hover{background:var(--hover)}.suggestion-name{color:var(--accent);font-weight:600;min-width:0;overflow-wrap:anywhere}#command-help{white-space:pre-wrap;overflow-wrap:anywhere}.suggestions img{flex-shrink:0}.suggestions img+.suggestion-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-description);font-weight:500}.suggestion-help{font-size:var(--type-description);color:var(--muted)}.panel{position:absolute;z-index:10;margin:0;padding:12px 14px 14px;width:min(calc(320px * var(--scale)),100%);min-height:0;overflow-y:auto;background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge),0 16px 36px -12px rgba(3,7,16,.45);border-radius:var(--radius-surface)}.panel{-webkit-backdrop-filter:blur(12px) brightness(.7);backdrop-filter:blur(12px) brightness(.7)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.panel-heading h2{margin:0;font-size:1.08em;font-weight:600}.panel-heading .icon-button{margin:-3px -6px -3px 0}.emotes-panel{display:flex;flex-direction:column;width:100%;overflow:hidden}.emotes-panel>.emoji-browse,.emotes-panel>.emote-preview,.emotes-panel>.emote-search-row{flex-shrink:0}.emote-search-row{display:flex;align-items:center;gap:6px}.emote-search-row .search-field{flex:1;min-width:0}#emote-results{display:flex;flex-direction:column;min-height:0;flex:0 1 auto}.settings-panel{display:flex;flex-direction:column;padding:0;overflow:hidden}.settings-panel .panel-heading{flex:0 0 auto;align-items:flex-start;gap:12px;margin:0;padding:18px 18px 16px}.settings-panel .panel-heading h2{font-size:max(20px, 1.2em);font-weight:650;letter-spacing:-.03em}.settings-panel .close-panel{margin:-2px -2px 0 0;border-radius:50%;background:rgba(255,255,255,.06)}.settings-panel .close-panel:hover{background:var(--hover)}.settings-body{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 14px 16px 18px;scroll-padding-block:8px}.settings-caption{margin:2px 0 0;color:var(--muted);font-size:var(--type-description);line-height:1.45}.settings-group{min-width:0;margin:0;padding:0;border:0}.settings-group legend{padding:0;margin-bottom:12px;color:var(--text);font-size:var(--type-description);font-weight:600}.settings-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.settings-history{margin-top:18px}.settings-toggles{display:block;margin-top:12px;padding-block:4px;border-block:1px solid var(--divider)}.settings-toggles .setting-row{min-height:38px;font-size:max(14px, calc(14px * var(--scale)));gap:12px}.settings-toggles .switch{flex-shrink:0}.settings-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px;margin:0;padding:12px 18px;background:rgba(0,0,0,.08);box-shadow:inset 0 1px 0 var(--divider)}.settings-action,.settings-reset{min-height:36px;padding:7px 10px;border-radius:var(--radius-control);font-size:var(--type-description)}.settings-action{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;background:rgba(217,237,255,.1);box-shadow:var(--glass-edge);color:var(--text);font-weight:550}.settings-action .icon{width:16px;height:16px}.settings-action:hover{background:rgba(0,0,0,.16)}.settings-reset{color:var(--muted)}.settings-reset:hover{color:var(--text);background:var(--hover)}.shortcuts-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:0;margin-top:12px;color:var(--muted);text-align:left;font-size:var(--type-description)}.shortcuts-toggle:hover{color:var(--text)}.shortcuts-toggle .icon{width:16px;height:16px}.shortcut-preview{display:flex;gap:10px;margin-left:auto;font-size:var(--type-meta)}.shortcut-preview>span{display:inline-flex;align-items:center;gap:5px}.shortcut-preview kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;background:var(--hover);box-shadow:var(--glass-edge);border-radius:5px}.shortcut-help{margin-top:4px}.search-field{display:flex;align-items:center;gap:8px;padding:0 12px;background:rgba(0,0,0,.16);box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 -1px 0 rgba(255,255,255,.12);border-radius:var(--radius-control)}.search-field .icon{color:var(--muted);width:16px;height:16px}.search-field:focus-within{background:rgba(255,255,255,.07);outline:var(--focus-ring);outline-offset:1px}.search-field input{width:100%;min-width:0;height:36px;background:0 0;border:0}.search-field input:focus-visible{outline:0}.emoji-browse{margin-top:10px;padding-top:7px;box-shadow:inset 0 1px 0 var(--divider)}.emoji-categories{display:flex;gap:3px;overflow-x:auto;padding:2px 0 5px;scroll-padding-inline:2px;overscroll-behavior-x:contain}.emoji-category{display:flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;min-width:36px;height:36px;padding:6px;border-radius:12px;color:var(--muted);font-size:var(--type-meta)}.emoji-category .icon{width:20px;height:20px;fill:currentColor;stroke:none}.emoji-category img{width:24px;height:24px;object-fit:contain}.emoji-category:hover,.emoji-category[aria-pressed=true]{color:var(--accent);background:var(--hover)}.emoji-category[aria-pressed=true]{box-shadow:var(--glass-edge);background:rgba(217,237,255,.06);color:var(--text)}.emoji-category:focus-visible{outline-offset:-2px}.category-tooltip{position:fixed;z-index:30;max-width:calc(100vw - 16px);padding:6px 9px;border-radius:8px;background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge),var(--surface-shadow);color:var(--text);font-size:var(--type-meta);line-height:1.4;overflow-wrap:anywhere}#emote-result-count{flex:0 0 auto;margin-top:8px;color:var(--muted);font-size:var(--type-meta);font-variant-numeric:tabular-nums}#emote-more{grid-column:1/-1;font-size:max(13px, .85em)}.emote-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:3px;margin-top:10px;min-height:36px;max-height:168px;overflow-y:auto;flex:0 1 auto}.emote-button{display:grid;place-items:center;min-width:36px;height:36px;padding:3px;border-radius:var(--radius-control);font-family:"Segoe UI Emoji",sans-serif;font-size:20px}.emote-button:focus-visible,.emote-button:hover{background:var(--hover)}.suggestions img{width:30px;height:30px;object-fit:contain}.emote-button img,.emote-preview img{width:24px;height:24px;object-fit:contain}.emote-state{color:var(--muted);font-size:var(--type-description);padding:14px 0;margin:0}.emote-preview{display:flex;align-items:center;min-height:36px;margin-top:10px;padding-top:9px;border-top:1px solid var(--divider);gap:7px;font-size:var(--type-description)}#emote-preview-image{display:grid;place-items:center;font-size:24px;flex:0 0 auto}#emote-preview-name{min-width:0;overflow-wrap:anywhere}.emote-shortcut{margin-left:auto;color:var(--muted);font-size:var(--type-meta);white-space:nowrap;flex-shrink:0}.text-button{color:var(--accent);min-height:36px;text-decoration:underline;text-underline-offset:4px}.range-setting{display:flex;flex-direction:column;justify-content:space-between;min-width:0;font-size:max(14px, calc(14px * var(--scale)))}.range-caption{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.range-setting output{padding:2px 7px;border-radius:7px;background:rgba(217,237,255,.06);color:var(--text);font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:var(--type-meta)}input[type=range]{appearance:none;width:100%;min-width:0;height:44px;margin:0;background:linear-gradient(to right,var(--accent) var(--range-progress),var(--control-border) var(--range-progress)) center/100% 2px no-repeat}[dir=rtl] input[type=range]{background-image:linear-gradient(to left,var(--accent) var(--range-progress),var(--control-border) var(--range-progress))}.settings-panel input[type=range]{height:36px;background-size:100% 4px}input[type=range]::-webkit-slider-thumb{appearance:none;width:22px;height:16px;border:0;border-radius:8px;background:linear-gradient(#fff,#e0e8f0);box-shadow:inset 0 1px 0 #fff,0 2px 5px rgba(3,7,16,.35)}input[type=range]::-moz-range-thumb{width:22px;height:16px;border:0;border-radius:8px;background:linear-gradient(#fff,#e0e8f0);box-shadow:inset 0 1px 0 #fff,0 2px 5px rgba(3,7,16,.35)}input[type=range]:focus-visible{outline:0}input[type=range]:focus-visible::-webkit-slider-thumb{outline:var(--focus-ring);outline-offset:3px}input[type=range]:focus-visible::-moz-range-thumb{outline:var(--focus-ring);outline-offset:3px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:49px;font-size:.91em}.toggle-row{position:relative;cursor:pointer}.toggle-row input{position:absolute;right:0;width:44px;height:44px;opacity:0;margin:0}.switch{width:40px;height:24px;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px var(--control-border);border-radius:12px;position:relative;pointer-events:none}.switch::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:linear-gradient(#fff,#e9eef5);box-shadow:0 2px 4px rgba(3,7,16,.24);left:2px;top:2px;transition:transform 180ms cubic-bezier(.16, 1, .3, 1)}.toggle-row input:checked+.switch{background:#42b979;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.toggle-row input:checked+.switch::after{transform:translateX(16px)}.toggle-row input:focus-visible+.switch{outline:var(--focus-ring);outline-offset:4px}.settings-panel .toggle-row input{width:40px;height:36px}.settings-panel .toggle-row input:checked+.switch::after{transform:translateX(16px)}.settings-panel input:disabled{cursor:wait;opacity:.55}.settings-panel input:disabled+.switch{opacity:.55}.reset-button{min-height:44px;width:100%;margin-top:15px;border:1px solid var(--control-border);border-radius:var(--radius-control);font-size:.9em}.reset-button:hover{background:var(--hover)}.chat[data-positioning=true]{z-index:2;outline:1px dashed var(--accent);outline-offset:5px;cursor:grab;touch-action:none}.chat[data-positioning=true]>*{pointer-events:none}.chat[data-dragging=true]{cursor:grabbing}.position-grid{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(171,199,223,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(171,199,223,.14) 1px,transparent 1px);background-size:16px 16px}.position-toolbar{position:fixed;z-index:3;bottom:16px;left:max(16px,calc(50vw - 190px));width:min(380px,calc(100vw - 32px));padding:12px 16px 16px;border-radius:var(--radius-surface);background:var(--glass-sheen),var(--tool-surface);box-shadow:var(--glass-edge),var(--surface-shadow);color-scheme:dark}.position-toolbar p{margin:0 0 8px;color:var(--muted);font-size:13px}.position-actions{display:flex;gap:8px}.position-actions .reset-button{margin-top:8px}#position-save{background:var(--accent);color:#15202a;border-color:transparent}#position-save:hover{background:#c5dcee}body.demo{background:#323a41 url('demo/scene.png') center/cover no-repeat}body.demo.light-scene{background-image:none;background-color:#f2eee5}.demo-bar{position:fixed;bottom:20px;left:var(--margin);right:var(--margin);display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--glass-sheen),rgba(19,22,29,.94);box-shadow:var(--glass-edge),var(--surface-shadow);padding:16px 20px;border-radius:22px}.demo-bar strong{font-size:20px;font-weight:600}.demo-bar strong span{font-size:14px;color:var(--muted);font-weight:400;margin-left:7px}.demo-bar p{font-size:12px;color:var(--muted);margin:3px 0 0}.demo-actions{display:flex;flex-wrap:wrap;gap:8px}.demo-actions button{min-height:44px;padding:8px 16px;background:rgba(255,255,255,.08);border-radius:14px;font-size:13px}.demo-actions button:hover{background:var(--hover)}.demo-actions kbd{margin-left:10px;color:var(--accent)}body.demo .chat{max-height:calc(100vh - 160px)}body.demo .visibility-notice{bottom:120px}@media (max-width:540px){.chat-tabs button{padding-inline:4px}:root{--margin:12px}.chat{--message-padding-block:6px}.message{gap:7px;padding-inline:8px}.message-time{margin-left:0}.panel:not(.settings-panel){padding:8px 10px 10px}.settings-pair{gap:12px}.demo-bar{bottom:12px;padding:12px;flex-direction:column;align-items:flex-start;gap:10px}.demo-bar strong{font-size:17px}.demo-actions{gap:5px}.demo-actions button{padding:6px 8px;font-size:11px}body.demo .chat{max-height:calc(100vh - 180px)}body.demo .visibility-notice{bottom:152px}}@media (max-height:700px){.chat{max-height:calc(100vh - 32px)}.emote-grid{max-height:106px}.editor{margin-top:10px}.settings-panel .panel-heading{padding-block:8px}.settings-panel .panel-heading>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.settings-panel .settings-caption{margin:0}.settings-actions{padding-block:8px}}@media (prefers-reduced-motion:reduce){.typing-dot{animation:none;opacity:1}.chat-tab-indicator{transition-duration:60ms}.chat-tabs button::after,.chat-tabs button[data-unread=true]::after{transform:none;transition:opacity 60ms}.switch::after{transition:none}#message,.search-field,.switch,button{transition-duration:60ms}}@media (pointer:coarse){.chat-tabs button,.emoji-category{min-width:44px;min-height:44px}.composer .icon-button,.new-messages,.panel .icon-button{flex-basis:44px;width:44px;height:44px}.emote-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.emote-button,.settings-action,.settings-reset,.shortcuts-toggle,.text-button{min-height:44px}.search-field input,.settings-panel input[type=range]{height:44px}.settings-toggles .setting-row{min-height:44px}}