@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/ibm-plex-mono-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/ibm-plex-mono-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/ibm-plex-mono-300-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/ibm-plex-mono-300-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/ibm-plex-mono-300-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}[hidden]{display:none!important}html[data-theme=dark]{--color-text: #e6e6e6;--color-bg: #332f33;--color-heading: #e6e6e6;--color-primary: #88ddff;--color-accent: #ff77ff;--color-link: #88ddff}html,body{font-family:IBM Plex Mono,serif;font-optical-sizing:auto;font-weight:300;font-style:normal;font-size:17px;color:var(--color-text);background:var(--color-bg);margin:0;width:100%;height:100%}input::selection{background:#f1bbf1}#app{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column}.screen{flex-grow:1;display:flex;flex-direction:column;align-self:center;width:100%;max-width:480px;padding:16px;overflow-y:auto;box-sizing:border-box}.logo{font-size:24px;font-weight:300;letter-spacing:7px;color:var(--color-heading);line-height:1.6;margin:0 16px;-webkit-user-select:none;user-select:none}.logo .n{color:var(--color-accent)}.tagline{margin:0 16px 32px;font-size:15px;line-height:1.6;color:#999}.facts{margin:16px;font-size:15px;line-height:2;color:#999}.chatheader .logo{order:0;margin:0;font-size:22px;cursor:pointer}.chatheader .topicwrap{order:1;flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px}.chatheader .topic{min-width:0;color:var(--color-text);font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatheader .nickwrap{order:2;display:inline-flex;align-items:center;gap:6px}.field{position:relative;margin:16px}.field.nickrow{display:flex;align-items:center;gap:8px;border-bottom:1px solid;border-image:linear-gradient(to right,var(--color-primary) 0%,var(--color-accent) 100%) 1}.field.nickrow:has(input:focus){border-image:linear-gradient(to right,var(--color-accent) 0%,var(--color-primary) 100%) 1}.field.nickrow input{flex:1;min-width:0;border-bottom:0}.field.nickrow .id{color:#777;font-size:17px;white-space:nowrap}input{display:block;font-family:IBM Plex Mono,serif;color:var(--color-text);caret-color:var(--color-primary);background:var(--color-bg);font-size:17px;border:none;border-radius:0;box-sizing:border-box;line-height:40px;width:100%;border-bottom:1px solid var(--color-primary);border-width:0 0 1px 0;border-image:linear-gradient(to right,var(--color-primary) 0%,var(--color-accent) 100%) 1;padding:1px 0 0;margin:0}input:focus{outline:none;border-bottom:1px solid #ff77ff;border-width:0 0 1px 0;border-image:linear-gradient(to right,var(--color-accent) 0%,var(--color-primary) 100%) 1}::placeholder{color:#999}button{font-family:IBM Plex Mono,serif;font-weight:300;font-size:17px;color:var(--color-primary);background:linear-gradient(var(--color-bg),var(--color-bg)) padding-box,linear-gradient(to right,var(--color-primary) 0%,var(--color-accent) 100%) border-box;border:1px solid transparent;border-radius:4px;padding:8px 24px;margin:16px;cursor:pointer}button:hover{color:var(--color-accent);background:linear-gradient(var(--color-bg),var(--color-bg)) padding-box,linear-gradient(to right,var(--color-accent) 0%,var(--color-primary) 100%) border-box}button.connect{color:#fff;background:var(--color-bg);border:1px solid var(--color-primary)}button.connect:hover{color:#fff;border-color:var(--color-accent)}.error{color:#ef3939;margin:8px 16px}.note{color:#777;font-size:13px;margin:0 16px}.chat{flex-grow:1;display:flex;flex-direction:column;padding:16px;box-sizing:border-box;min-height:0}.chatheader{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:16px}.chatheader:after{content:"";position:absolute;left:-16px;right:-16px;top:100%;height:20px;background:linear-gradient(to bottom,rgba(0,0,0,.4) 0%,rgba(0,0,0,.12) 55%,transparent 100%);opacity:0;transition:opacity .2s ease;pointer-events:none}.chat.scrolled-top .chatheader:after{opacity:1}.nick{color:var(--color-primary)}.msg .nick{color:var(--msg-color, var(--color-primary));font-size:14px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#999}.dot.on{background:var(--color-primary)}.chatheader .mute{order:3;display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;margin:0 0 0 8px;border-radius:4px;border:1px solid var(--color-primary);color:#fff;background:transparent;cursor:pointer}.chatheader .mute svg{display:block}.chatheader .mute:hover{color:var(--color-accent);border-color:var(--color-accent)}.chatheader .mute.muted{color:#fff;border-color:var(--color-primary)}.msg .nickwrap{display:inline-flex;align-items:center;gap:6px}.msg .nickdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--msg-color, var(--color-primary));flex:0 0 auto}.msg .nickdot.off{display:none}.messages{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:8px;min-height:0;scrollbar-width:thin;scrollbar-color:#4a454a transparent}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:#4a454a;border-radius:4px}.messages::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.msg{max-width:75%;padding:8px 12px;border:1px solid var(--msg-color, #4a454a);background:#ffffff0f;border-radius:4px;align-self:flex-start;overflow-wrap:anywhere}.msg.own{align-self:flex-end;background:#ffffff05;border-color:var(--color-primary)}.msg .head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.msg .time{color:#999;font-size:13px}.msg .head-right{display:inline-flex;align-items:baseline;gap:8px}.msg .msg-del{font-family:IBM Plex Mono,serif;font-weight:300;font-size:13px;line-height:1;color:#999;background:transparent;border:none;border-radius:4px;padding:2px 6px;margin:0;cursor:pointer}.msg .msg-del:hover{color:var(--color-accent)}.msg .msg-del:disabled{cursor:default;opacity:.6}.msg .text{display:block}.composer{position:relative;z-index:1;display:flex;gap:12px;padding-top:16px}.composer:before{content:"";position:absolute;left:-16px;right:-16px;bottom:100%;height:20px;background:linear-gradient(to top,rgba(0,0,0,.4) 0%,rgba(0,0,0,.12) 55%,transparent 100%);opacity:0;transition:opacity .2s ease;pointer-events:none}.chat.scrolled-bottom .composer:before{opacity:1}.composer input{flex-grow:1;padding-right:0}.composer button{margin:0;padding:8px 16px;color:#fff;background:var(--color-bg);border:1px solid var(--color-primary)}.composer button:hover{color:#fff;border-color:var(--color-accent)}.links{margin:24px 16px 64px;font-size:15px}.links a{color:var(--color-link);text-decoration:none}.links a:hover{text-decoration:underline}.screen-inner{margin:auto 0}@media(max-width:640px){.chatheader{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:"logo topicwrap" "nickwrap mute";align-items:center;row-gap:4px;column-gap:8px}.chatheader .logo{grid-area:logo}.chatheader .topicwrap{grid-area:topicwrap;justify-content:flex-end;min-width:0}.chatheader .nickwrap{grid-area:nickwrap;min-width:0;overflow:hidden}.chatheader .nickwrap .nick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatheader .mute{grid-area:mute;justify-self:end}}.animal-fall{position:fixed;top:-60px;z-index:9999;pointer-events:none;-webkit-user-select:none;user-select:none;animation:animal-fall linear forwards;will-change:transform}@keyframes animal-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:.85}}
