@import "https://fonts.googleapis.com/css2?family=Klee+One:wght@400;600&family=Yomogi&display=swap";.App{min-height:var(--viewport-height);background-color:var(--color-surface-app)}.channelPage{min-height:var(--viewport-height);height:var(--viewport-height);isolation:isolate;gap:0;padding:0;display:flex;position:relative;overflow:hidden}.channelPage:before,.channelPage:after{content:"";pointer-events:none;border-radius:0;position:absolute;inset:0}.channelPage>*{z-index:1;min-width:0;min-height:0;position:relative}[data-theme=notebook] .channelPage{gap:var(--notebook-gap);background:linear-gradient(#fbf8f2 0%,#f6f2ea 42%,#e9e0d0 100%)}[data-theme=notebook] .channelPage:before{background:linear-gradient(90deg, #00000008 0, #0000 calc(var(--sidebar-width) - 8px), #00000014 calc(var(--sidebar-width) - 8px), #0000001f calc(var(--sidebar-width) + 8px), #00000008 calc(var(--sidebar-width) + var(--notebook-gap)), #0000 calc(var(--sidebar-width) + var(--notebook-gap) + 24px), #0000 100%), linear-gradient(180deg, #ffffff1f, #00000008), radial-gradient(circle at 18% 14%, #ffffff1a, transparent 26%), radial-gradient(circle at 78% 76%, #00000008, transparent 32%)}[data-theme=notebook] .channelPage:after{opacity:.78;background:linear-gradient(90deg,#d64f4f14 42px,#0000 42px),repeating-linear-gradient(#0000 0 51px,#78787824 52px,#0000 53px)}[data-theme=notebook] .channelPage>.sidebar,[data-theme=notebook] .channelPage>.chat{box-shadow:none;background:radial-gradient(circle at 20% 30%,#0000000f 0 1px,#0000 2px) 0 0/180px 180px,radial-gradient(circle at 70% 60%,#0000000a 0 1px,#0000 2px) 0 0/220px 220px,repeating-linear-gradient(#0000 0 51px,#78787824 52px,#0000 53px) 0 0/100% 53px,linear-gradient(#ffffff2e,#00000005) 0 0/100% 100%,linear-gradient(#fbf8f2,#f6f2ea 40%,#e9e0d0) 0 0/100% 100%;border:none;border-radius:0;overflow:hidden}[data-theme=chalkboard] .channelPage{background:linear-gradient(#41544b 0%,#334139 34%,#293530 100%)}[data-theme=chalkboard] .channelPage:before{background:radial-gradient(circle at 18% 16%,#ffffff2e,#0000 26%),radial-gradient(circle at 42% 40%,#ffffff1f,#0000 38%),radial-gradient(circle at 74% 24%,#ffffff26,#0000 30%),radial-gradient(circle at 68% 72%,#ffffff21,#0000 34%),radial-gradient(circle at 26% 78%,#ffffff1f,#0000 30%),linear-gradient(#3f5148,#334139 34%,#293530 100%);box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1px #ffffff0a,inset 0 0 0 24px #00000009,inset 0 0 18px #0000002e}[data-theme=chalkboard] .channelPage:after{opacity:.62;mix-blend-mode:screen;background:radial-gradient(circle at 10% 16%,#fff3,#0000 18%),radial-gradient(circle at 24% 28%,#ffffff2b,#0000 20%),radial-gradient(circle at 46% 44%,#ffffff21,#0000 26%),radial-gradient(circle at 78% 24%,#ffffff2e,#0000 18%),radial-gradient(circle at 70% 72%,#ffffff26,#0000 24%),radial-gradient(circle at 22% 78%,#ffffff1f,#0000 22%),radial-gradient(circle at 92% 62%,#ffffff1c,#0000 18%),repeating-linear-gradient(#ffffff08 0 2px,#fff0 10px 18px),linear-gradient(105deg,#ffffff0d 0 14%,#fff0 18% 80%,#ffffff0d 88% 100%)}[data-theme=chalkboard] .channelPage>.sidebar,[data-theme=chalkboard] .channelPage>.chat{box-shadow:inset 24px 0 #00000008,inset -24px 0 #00000008}.channelPageDecor{pointer-events:none;z-index:2;position:absolute;inset:0}.channelPageSpine{top:24px;bottom:24px;left:calc(var(--sidebar-width) + var(--notebook-gap) / 2 - 18px);opacity:0;flex-direction:column;justify-content:space-between;align-items:center;width:36px;display:flex;position:absolute}.channelPageSpine:before{content:"";opacity:0;background:linear-gradient(#00000024,#ffffff2e,#00000024);border-radius:999px;position:absolute;inset:-8px 6px}.channelPageRing{background:radial-gradient(circle at 35% 35%,#d9d9d9,#7f7f7f 70%);border:1px solid #00000026;border-radius:999px;width:22px;height:12px;box-shadow:inset 0 1px #ffffff73,0 1px 2px #0000001f}.channelPageProps{opacity:0;align-items:center;gap:10px;display:flex;position:absolute}.channelPageProps--right{bottom:88px;right:24px}.channelPageChalk{background:linear-gradient(#fffffff0 0%,#f0ece1fa 42%,#d6d0c3f5 100%),linear-gradient(90deg,#ffffff2e 0 8%,#0000 16% 84%,#00000014 100%);border-radius:9px;width:54px;height:14px;position:relative;box-shadow:inset 0 1px #ffffff8a,inset 0 -2px 2px #71685938,0 2px 4px #00000029}.channelPageChalk:before{content:"";clip-path:polygon(100% 0,10% 18%,0 50%,10% 82%,100% 100%);background:linear-gradient(#fbf9f2fa,#ddd6c9f5);width:16px;height:100%;position:absolute;top:1px;left:-8px;box-shadow:inset -1px 0 #7870652e}.channelPageChalk:after{content:"";opacity:.78;filter:blur(.55px);background:radial-gradient(circle at 30%,#fffffff5,#fff0);border-radius:999px;width:10px;position:absolute;top:2px;bottom:2px;right:-5px}.channelPageChalk--white{background:radial-gradient(circle at 18% 28%,#ffffff8c,#fff0 34%),linear-gradient(#fffef8 0%,#efeadf 46%,#d8d1c3 100%),linear-gradient(90deg,#fff3 0 7%,#0000 18% 83%,#00000014 100%)}.channelPageChalk--yellow{background:linear-gradient(#f7eb8c 0%,#d8be56 100%)}.channelPageChalk--single{transform-origin:50%;border-radius:10px;width:68px;height:16px;transform:rotate(-29deg)}.channelPagePencil{transform-origin:50%;background:linear-gradient(90deg,#f3cf57 0 66%,#d7ac34 66% 74%,#bdb3ab 74% 84%,#e2a0a7 84% 100%);border-radius:999px;width:194px;height:20px;position:relative;transform:rotate(-12deg);box-shadow:inset 0 -1px #00000024,0 5px 10px #0003}.channelPagePencil:before{content:"";clip-path:polygon(0 50%,100% 0,100% 100%);background:linear-gradient(90deg,#1f1b1a 0 20%,#c89a70 20% 100%);width:30px;height:20px;position:absolute;top:0;left:-24px}.channelPagePencil:after{content:"";opacity:.9;background:linear-gradient(#ffffff57,#fff0);border-radius:999px;position:absolute;inset:2px 10px 2px 16px}[data-theme=chalkboard] .channelPage>.sidebar,[data-theme=chalkboard] .channelPage>.chat{box-shadow:none;background:0 0;border-radius:0}[data-theme=chalkboard] .channelPage>.sidebar{border-right:1px solid var(--theme-sidebar-divider)}[data-theme=notebook] .channelPageSpine,[data-theme=notebook] .channelPageProps--right,[data-theme=notebook] .channelPageSpine:before{opacity:1}[data-theme=notebook] .channelPageProps--right{opacity:1;filter:drop-shadow(0 8px 10px #61492224);bottom:94px;right:-10px}[data-theme=notebook] .channelPagePencil{transform:rotate(-42deg)}[data-theme=notebook] .channelPageChalk{display:none}[data-theme=chalkboard] .channelPageProps--right{opacity:1;filter:drop-shadow(0 8px 10px #0000002e);bottom:96px;right:44px}[data-theme=chalkboard] .channelPagePencil{display:none}[data-theme=chalkboard] .channelPageChalk{display:block;transform:rotate(-34deg)}.setupGuide{min-height:var(--viewport-height);background-color:var(--color-surface-app);color:var(--color-text-primary);justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5);font-family:var(--font-family-base);flex-direction:column;display:flex}.setupGuide h2{font-size:var(--font-size-xl);text-shadow:var(--theme-title-text-shadow)}.setupGuide .setupGuideDesc{color:var(--color-text-secondary);text-align:center;max-width:480px}.setupGuide .setupGuideKeys{background-color:var(--color-surface-elevated);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-default);width:100%;max-width:480px;box-shadow:var(--shadow-elevated)}.setupGuide .setupGuideKeys .setupGuideKeysTitle{color:var(--color-accent-error);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.setupGuide .setupGuideKeys ul{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding-left:20px}.setupGuide .setupGuideHint{color:var(--color-text-muted);font-size:var(--font-size-xs)}@media (width<=767px){.channelPage{gap:0}.channelPage--mobile{min-height:var(--viewport-height);height:var(--viewport-height)}.channelPageDecor,.channelPageSpine,.channelPageProps,.channelPage--mobile.channelPage--mobile-list>.chat,.channelPage--mobile.channelPage--mobile-chat>.sidebar{display:none}[data-theme=notebook] .channelPage--mobile{background:linear-gradient(#fbf8f2 0%,#f5efe4 52%,#ece3d2 100%)}[data-theme=notebook] .channelPage--mobile:before{background:linear-gradient(90deg,#d64f4f2e 34px,#0000 34px),repeating-linear-gradient(#0000 0 39px,#7693ba33 39px 41px,#0000 41px 42px),radial-gradient(circle at 14% 12%,#ffffff57,#0000 18%),radial-gradient(circle at 82% 74%,#a5854c14,#0000 20%)}[data-theme=notebook] .channelPage--mobile:after{display:none}[data-theme=notebook] .channelPage--mobile>.sidebar,[data-theme=notebook] .channelPage--mobile>.chat{background:linear-gradient(90deg,#d64f4f29 34px,#0000 34px) 0 0/100% 100%,repeating-linear-gradient(#0000 0 39px,#7693ba38 39px 41px,#0000 41px 42px) 0 0/100% 42px,radial-gradient(circle at 18% 10%,#ffffff8f,#0000 18%) 0 0/200px 200px,radial-gradient(circle at 78% 72%,#91744b14,#0000 22%) 0 0/240px 240px,linear-gradient(#ffffff61,#0000000a) 0 0/100% 100%,linear-gradient(#fffaf2,#f7f0e3 54%,#efe4d1 100%) 0 0/100% 100%;box-shadow:inset 0 0 0 1px #917f651f,0 8px 24px #91744b0f}[data-theme=notebook] .channelPage--mobile .sidebarTop,[data-theme=notebook] .channelPage--mobile .chatHeader{background:linear-gradient(#ffffffb8,#ffffff42),linear-gradient(90deg,#d64f4f1f 34px,#0000 34px);box-shadow:inset 0 -1px #7693ba3d}[data-theme=notebook] .channelPage--mobile .sidebarChannels{background:linear-gradient(#ffffff2e,#fff0),linear-gradient(90deg,#d64f4f14 34px,#0000 34px);border-top:1px solid #7693ba24}[data-theme=notebook] .channelPage--mobile .sidebarChannelButton{background:linear-gradient(#ffffff70,#ffffff14),linear-gradient(90deg,#d64f4f0f 34px,#0000 34px);border-color:#7693ba1a;box-shadow:inset 0 -1px #7693ba1f}[data-theme=notebook] .channelPage--mobile .sidebarChannelButton--active{background:linear-gradient(#ffffffd1,#e2ebf88a),linear-gradient(90deg,#d64f4f1f 34px,#0000 34px);border-color:#7693ba38;box-shadow:inset 0 -1px #7693ba38,0 8px 18px #91744b14}[data-theme=notebook] .channelPage--mobile .sidebarTop h3,[data-theme=notebook] .channelPage--mobile .chatHeader h3,[data-theme=notebook] .channelPage--mobile .sidebarHeader h4{font-family:"Klee One", var(--font-family-base);letter-spacing:.02em}[data-theme=notebook] .channelPage--mobile .chatInput,[data-theme=notebook] .channelPage--mobile .sidebarFooter{background:linear-gradient(#ffffffc7,#f1ebe0e6),linear-gradient(90deg,#d64f4f1a 34px,#0000 34px);border-color:#917f652e;box-shadow:inset 0 1px #ffffff85,0 10px 20px #91744b14}[data-theme=chalkboard] .channelPage--mobile{background:linear-gradient(#41544b 0%,#35443c 42%,#2a3631 100%)}[data-theme=chalkboard] .channelPage--mobile:before{opacity:.78;background:radial-gradient(circle at 18% 16%,#ffffff29,#0000 24%),radial-gradient(circle at 74% 24%,#ffffff24,#0000 26%),radial-gradient(circle at 28% 76%,#ffffff1a,#0000 24%),radial-gradient(circle at 84% 78%,#ffffff14,#0000 18%),repeating-linear-gradient(#ffffff08 0 2px,#fff0 10px 18px),linear-gradient(#ffffff0a,#00000014);box-shadow:inset 0 0 18px #00000029}[data-theme=chalkboard] .channelPage--mobile:after{display:none}[data-theme=chalkboard] .channelPage--mobile>.sidebar,[data-theme=chalkboard] .channelPage--mobile>.chat{background:radial-gradient(circle at 18% 14%,#ffffff1f,#0000 18%),radial-gradient(circle at 72% 76%,#ffffff14,#0000 24%),repeating-linear-gradient(#ffffff07 0 2px,#fff0 10px 18px),linear-gradient(#ffffff08,#00000024),linear-gradient(#465a50,#324039 58%,#28342f 100%);box-shadow:inset 0 0 0 1px #f1eee614,inset 0 0 28px #0000003d}[data-theme=chalkboard] .channelPage--mobile .sidebarTop,[data-theme=chalkboard] .channelPage--mobile .chatHeader{background:linear-gradient(#7c5e45 0 8px,#0000 8px),linear-gradient(#37463ff0,#27342ee0);border-bottom-color:#f1eee63d}[data-theme=chalkboard] .channelPage--mobile .sidebarChannels{background:linear-gradient(#ffffff0a,#00000014),repeating-linear-gradient(#ffffff05 0 2px,#fff0 14px 22px);border-top:1px solid #f1eee614}[data-theme=chalkboard] .channelPage--mobile .sidebarChannelButton{text-shadow:0 1px #00000057,0 0 8px #f1eee60a;background:linear-gradient(#ffffff08,#00000014);border-color:#f1eee614}[data-theme=chalkboard] .channelPage--mobile .sidebarChannelButton--active{background:radial-gradient(circle at 14%,#f1eee61f,#0000 22%),linear-gradient(#f1eee621,#f1eee60d);border-color:#f1eee638;box-shadow:inset 0 0 0 1px #f1eee61a,0 10px 18px #00000029}[data-theme=chalkboard] .channelPage--mobile .sidebarTop h3,[data-theme=chalkboard] .channelPage--mobile .chatHeader h3,[data-theme=chalkboard] .channelPage--mobile .sidebarHeader h4{font-family:var(--font-family-handwritten);letter-spacing:.04em}[data-theme=chalkboard] .channelPage--mobile .chatInput,[data-theme=chalkboard] .channelPage--mobile .sidebarFooter{background:linear-gradient(#6f523c 0 6px,#0000 6px),linear-gradient(#27362ff5,#1f2b26e6);border-color:#f1eee62e;box-shadow:inset 0 1px #ffffff0f,0 10px 18px #0000002e}}.chat{min-width:0;height:100%;min-height:0;color:var(--color-text-primary);background:0 0;flex-direction:column;flex:1;display:flex;position:relative}.chat .chatMessage{scroll-behavior:smooth;flex:1;padding:18px 0 8px;overflow:hidden auto}.chat .chatEmpty,.chat .chatLoading,.chat .chatError{height:100%;padding:0 var(--content-padding-x);color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;display:flex}.chat .chatEmpty p,.chat .chatLoading p,.chat .chatError p{max-width:40rem;text-shadow:var(--theme-body-text-shadow);font-size:1.05rem}.chat .chatError p{color:var(--color-accent-error)}.chat .chatScrollSentinel{width:100%;height:1px}.chat .chatLoadingMore,.chat .chatNoMore{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;color:var(--color-text-muted);display:flex}.chat .chatLoadingMore p,.chat .chatNoMore p{font-size:var(--font-size-sm);margin:0}.chat .chatSpinner{border:2px solid var(--color-text-muted);border-top-color:#0000;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chat .chatSendError{padding:0 var(--content-padding-x) var(--space-2);align-items:center;gap:var(--space-3);display:flex}.chat .chatSendError p{color:var(--color-accent-error);font-size:var(--font-size-sm)}.chat .chatSendError .chatRetryButton{padding:var(--space-1) var(--space-3);background-color:var(--color-accent-error);color:#fff;cursor:pointer;font-size:var(--font-size-xs);white-space:nowrap;border:none;border-radius:999px}.chat .chatSendError .chatRetryButton:hover{opacity:.9}.chat .chatInput{align-items:flex-end;gap:var(--space-2);min-height:var(--composer-height);margin:0 var(--content-padding-x) 18px;background:var(--theme-composer-bg);border:1px solid var(--theme-composer-border);box-shadow:var(--theme-composer-shadow);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:18px;padding:10px 14px;display:flex}.chat .chatInput .chatInputIcon{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:flex}.chat .chatInput .chatInputIcon:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.chat .chatInput .chatInputIcon:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.chat .chatInput .chatInputIcon:disabled{opacity:.45;cursor:not-allowed}.chat .chatInput .chatSpoilerToggle--active{color:var(--color-accent-error);border-color:var(--color-accent-error);background-color:rgba(var(--color-accent-error-rgb,239, 68, 68), .1)}.chat .chatInput .chatSpoilerToggle--active:hover{color:var(--color-accent-error);background-color:rgba(var(--color-accent-error-rgb,239, 68, 68), .18);border-color:var(--color-accent-error)}.chat .chatInput form{align-items:stretch;gap:var(--space-2);flex-direction:column;flex-grow:1;min-width:0;display:flex;position:relative}.chat .chatInput form .chatReplyPreview{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-accent-primary);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:10px;display:flex}.chat .chatInput form .chatReplyPreview .chatReplyPreviewBody{min-width:0}.chat .chatInput form .chatReplyPreview .chatReplyPreviewLabel{font-size:var(--font-size-xs);color:var(--color-accent-primary);margin-bottom:2px;display:block}.chat .chatInput form .chatReplyPreview p{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.chat .chatInput form .chatReplyPreview .chatReplyPreviewCancel{color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);white-space:nowrap;background:0 0;border:none;padding:0}.chat .chatInput form .chatReplyPreview .chatReplyPreviewCancel:hover{color:var(--color-text-primary)}.chat .chatInput form .chatInputRow{align-items:center;gap:10px;min-width:0;min-height:40px;display:flex}.chat .chatInput form textarea{color:var(--color-text-primary);font-size:1rem;font-family:var(--font-family-base);resize:none;overflow-wrap:anywhere;width:100%;min-width:0;min-height:calc(1.65em + 10px);max-height:9em;text-shadow:var(--theme-body-text-shadow);-ms-overflow-style:none;scrollbar-width:none;background:0 0;border:none;outline:none;padding:5px 2px;line-height:1.65;display:block;overflow-y:auto}.chat .chatInput form textarea::placeholder{color:var(--color-text-muted)}.chat .chatInput form textarea:disabled{opacity:.5;cursor:not-allowed}.chat .chatInput form textarea::-webkit-scrollbar{width:0;height:0;display:none}.chat .chatInput form .chatInputButton{border:1px solid var(--color-border-default);width:40px;height:40px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:0;display:inline-flex}.chat .chatInput form .chatInputButton:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-surface-channel-hover)}.chat .chatInput form .chatInputButton:disabled{opacity:.45;cursor:not-allowed}.chat--dragover{position:relative}.chat .chatDropOverlay{background-color:rgba(var(--color-accent-primary-rgb), .08);border:2px dashed var(--color-accent-primary);z-index:50;pointer-events:none;border-radius:18px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chat .chatDropOverlay p{color:var(--color-accent-primary);font-size:1.1rem;font-weight:var(--font-weight-medium)}.chat .chatFilePreview{gap:var(--space-2);padding:0 var(--content-padding-x) var(--space-3);flex-wrap:wrap;justify-content:center;display:flex;overflow-x:auto}.chat .chatFilePreview .chatFilePreviewItem{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);max-width:240px;box-shadow:var(--theme-inner-shadow);border-radius:12px;display:flex}.chat .chatFilePreview .chatFilePreviewItem .chatFilePreviewThumb{object-fit:cover;border-radius:var(--radius-sm);width:40px;height:40px}.chat .chatFilePreview .chatFilePreviewItem .chatFilePreviewIcon{color:var(--color-text-muted);font-size:28px}.chat .chatFilePreview .chatFilePreviewItem .chatFilePreviewInfo{flex-direction:column;flex:1;min-width:0;display:flex}.chat .chatFilePreview .chatFilePreviewItem .chatFilePreviewInfo .chatFilePreviewName{font-size:var(--font-size-xs);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat .chatFilePreview .chatFilePreviewItem .chatFilePreviewInfo .chatFilePreviewSize{color:var(--color-text-muted);font-size:10px}.chat .chatFilePreview .chatFilePreviewItem .chatFilePreviewRemove{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:2px;display:flex}.chat .chatFilePreview .chatFilePreviewItem .chatFilePreviewRemove:hover{color:var(--color-accent-error)}.chat .chatUploadProgress{height:24px;margin:0 var(--content-padding-x) var(--space-3);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:999px;position:relative;overflow:hidden}.chat .chatUploadProgress .chatUploadProgressBar{background-color:var(--color-accent-primary);height:100%;transition:width .2s}.chat .chatUploadProgress .chatUploadProgressText{font-size:var(--font-size-xs);color:var(--color-text-primary);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chat .chatSpoilerToggle--active{color:var(--color-accent-error);border-color:var(--color-accent-error);background-color:rgba(var(--color-accent-primary-rgb), .08)}[data-theme=chalkboard] .chat .chatInput{border-color:var(--theme-line-strong);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 10px #ffffff0a}[data-theme=notebook] .chat .chatInput{background:linear-gradient(#ffffff5c,#00000005);border-radius:26px;padding-right:10px}[data-theme=notebook] .chat .chatInputButton{background:#ffffff57}[data-theme=chalkboard] .chat .chatInputButton{border-color:var(--theme-line-strong);box-shadow:inset 0 0 0 1px #ffffff0a}@media (width<=767px){.chat.chat--mobile-hidden{display:none}.chat .chatMessage{padding-top:10px}.chat .chatInput,.chat .chatFilePreview,.chat .chatSendError,.chat .chatUploadProgress{margin-left:calc(var(--space-3) + var(--safe-area-left));margin-right:calc(var(--space-3) + var(--safe-area-right));padding-left:0;padding-right:0}.chat .chatInput{margin-bottom:var(--space-3);padding:10px calc(12px + var(--safe-area-right)) calc(10px + var(--safe-area-bottom)) calc(12px + var(--safe-area-left));border-radius:18px}.chat .chatInput .chatInputIcon,.chat .chatInput form .chatInputButton{width:44px;min-width:44px;height:44px;min-height:44px}.chat .chatInput form .chatInputRow{gap:var(--space-2)}.chat .chatInput form textarea{min-height:calc(1.55em + 10px);font-size:16px}.chat .chatFilePreview{padding-bottom:var(--space-2)}.chat .chatFilePreview .chatFilePreviewItem{max-width:min(100%,280px)}}@media (prefers-reduced-motion:reduce){.chat .chatMessage{scroll-behavior:auto}}.chatHeader{width:100%;min-height:var(--header-height);padding:0 0 0 var(--content-padding-x);border-bottom:1px solid var(--theme-header-border);background:0 0;justify-content:space-between;align-items:center;display:flex}.chatHeader .chatHeaderLeft{align-items:center;gap:var(--space-2);min-width:0;display:flex}.chatHeader .chatHeaderLeft .chatHeaderBackButton{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.chatHeader .chatHeaderLeft .chatHeaderBackButton:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.chatHeader .chatHeaderLeft .chatHeaderBackButton:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.chatHeader .chatHeaderLeft .chatHeaderHash{color:var(--color-text-muted);padding-right:2px}.chatHeader .chatHeaderLeft h3{font-size:1.35rem;font-weight:var(--font-weight-medium);text-shadow:var(--theme-title-text-shadow);white-space:nowrap;text-overflow:ellipsis;align-items:center;min-width:0;display:flex;overflow:hidden}.chatHeader .chatHeaderRight{padding-right:var(--content-padding-x);align-items:center;gap:var(--space-2);min-width:0;display:flex}.chatHeader .chatHeaderRight .chatHeaderIcon{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:flex}.chatHeader .chatHeaderRight .chatHeaderIcon:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.chatHeader .chatHeaderRight .chatHeaderIcon:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.chatHeader .chatHeaderRight .chatHeaderIcon:disabled{opacity:.45;cursor:not-allowed}.chatHeader .chatHeaderRight .chatHeaderPinWrapper,.chatHeader .chatHeaderRight .chatHeaderMemberWrapper{position:relative}.chatHeader .chatHeaderRight .chatHeaderPinBadge,.chatHeader .chatHeaderRight .chatHeaderMemberBadge{background-color:var(--color-accent-error);color:#fff;font-size:10px;font-weight:var(--font-weight-medium);pointer-events:none;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;display:flex;position:absolute;top:-4px;right:-4px}.chatHeader .chatHeaderRight .chatHeaderMemberBadge{background-color:var(--color-accent-primary);color:var(--color-text-primary)}.chatHeader .chatHeaderRight .chatHeaderIcon--active{border-color:var(--color-border-default);background-color:var(--color-surface-channel-hover);color:var(--color-accent-primary)!important}.chatHeader .chatHeaderRight .chatHeaderSearch{width:40px;box-shadow:none;transition:width var(--duration-normal) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard);background-color:#0000;border:1px solid #0000;border-radius:999px;justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;display:flex}.chatHeader .chatHeaderRight .chatHeaderSearch input{color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);opacity:0;pointer-events:none;width:0;min-width:0;transition:width var(--duration-normal) var(--easing-standard), opacity var(--duration-fast) var(--easing-standard);background:0 0;border:none;outline:none}.chatHeader .chatHeaderRight .chatHeaderSearch input::placeholder{color:var(--color-text-muted)}.chatHeader .chatHeaderRight .chatHeaderSearch input:disabled{cursor:not-allowed}.chatHeader .chatHeaderRight .chatHeaderSearch .MuiSvgIcon-root{color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.chatHeader .chatHeaderRight .chatHeaderSearch:hover,.chatHeader .chatHeaderRight .chatHeaderSearch:focus-within,.chatHeader .chatHeaderRight .chatHeaderSearch--active{background-color:var(--color-surface-search);border-color:var(--color-border-default);width:220px;box-shadow:var(--theme-inner-shadow);justify-content:flex-start}.chatHeader .chatHeaderRight .chatHeaderSearch:hover input,.chatHeader .chatHeaderRight .chatHeaderSearch:focus-within input,.chatHeader .chatHeaderRight .chatHeaderSearch--active input{opacity:1;pointer-events:auto;width:100%}@media (width<=767px){.chatHeader{min-height:calc(var(--header-height) + var(--safe-area-top));padding-top:max(var(--space-2), var(--safe-area-top));padding-left:calc(var(--space-3) + var(--safe-area-left))}.chatHeader .chatHeaderLeft{gap:var(--space-1)}.chatHeader .chatHeaderLeft .chatHeaderBackButton{min-width:44px;min-height:44px}.chatHeader .chatHeaderLeft h3{font-size:1.05rem}.chatHeader .chatHeaderRight{padding-right:calc(var(--space-3) + var(--safe-area-right));gap:var(--space-1)}.chatHeader .chatHeaderRight .chatHeaderIcon{min-width:44px;min-height:44px}.chatHeader .chatHeaderRight .chatHeaderSearch{display:none}}.pinnedMessages{background-color:var(--theme-floating-bg);border:1px solid var(--theme-floating-border);width:min(360px,78vw);max-height:400px;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;border-radius:18px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.pinnedMessages .pinnedMessagesHeader{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default);display:flex}.pinnedMessages .pinnedMessagesHeader .MuiSvgIcon-root{color:var(--color-accent-primary)}.pinnedMessages .pinnedMessagesHeader h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex:1}.pinnedMessages .pinnedMessagesHeader .pinnedMessagesClose{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;display:flex}.pinnedMessages .pinnedMessagesHeader .pinnedMessagesClose:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.pinnedMessages .pinnedMessagesHeader .pinnedMessagesClose:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.pinnedMessages .pinnedMessagesList{padding:var(--space-2);flex:1;overflow-y:auto}.pinnedMessages .pinnedMessagesEmpty{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--space-4)}.pinnedMessages .pinnedMessageItem{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:background-color var(--duration-fast) var(--easing-standard);border-radius:12px;display:flex}.pinnedMessages .pinnedMessageItem:hover{background-color:var(--color-surface-channel-hover)}.pinnedMessages .pinnedMessageItem .pinnedMessageNavigate{align-items:flex-start;gap:var(--space-2);cursor:pointer;text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;padding:0;display:flex}.pinnedMessages .pinnedMessageItem .pinnedMessageContent{flex:1;min-width:0}.pinnedMessages .pinnedMessageItem .pinnedMessageContent .pinnedMessageAuthor{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.pinnedMessages .pinnedMessageItem .pinnedMessageContent .pinnedMessageText{font-size:var(--font-size-sm);color:var(--color-text-secondary);word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box;overflow:hidden}.pinnedMessages .pinnedMessageItem .pinnedMessageUnpin{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pinnedMessages .pinnedMessageItem .pinnedMessageUnpin:hover{color:var(--color-accent-error);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.pinnedMessages .pinnedMessageItem .pinnedMessageUnpin:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@media (width<=767px){.pinnedMessages{width:min(100vw - 24px,360px);max-height:min(60vh,400px);right:0}.pinnedMessages .pinnedMessagesHeader .pinnedMessagesClose,.pinnedMessages .pinnedMessageItem .pinnedMessageUnpin{min-width:44px;min-height:44px}}.memberList{background-color:var(--theme-floating-bg);border:1px solid var(--theme-floating-border);width:min(300px,80vw);max-height:400px;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;border-radius:18px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.memberList .memberListHeader{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default);display:flex}.memberList .memberListHeader .MuiSvgIcon-root{color:var(--color-accent-primary)}.memberList .memberListHeader h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex:1}.memberList .memberListHeader .memberListClose{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;display:flex}.memberList .memberListHeader .memberListClose:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.memberList .memberListHeader .memberListClose:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.memberList .memberListBody{padding:var(--space-2);flex:1;overflow-y:auto}.memberList .memberListEmpty{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--space-4)}.memberList .memberListItem{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:background-color var(--duration-fast) var(--easing-standard);border-radius:12px;display:flex}.memberList .memberListItem:hover{background-color:var(--color-surface-channel-hover)}.memberList .memberListItem .memberListName{min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.memberList .memberListInvite{margin-top:var(--space-4);border-top:1px solid var(--color-border-default);padding-top:var(--space-4)}.memberList .memberListInviteLabel{margin-bottom:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);display:block}.memberList .memberListInviteSelect{width:100%;margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-search);border:1px solid var(--color-border-default);color:var(--color-text-primary);font:inherit;border-radius:12px}.memberList .memberListInviteButton{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);background:var(--color-surface-elevated);color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:999px}.memberList .memberListInviteButton:hover:not(:disabled){background:var(--color-surface-channel-hover)}.memberList .memberListInviteButton:disabled{opacity:.5;cursor:not-allowed}@media (width<=767px){.memberList{right:calc(-1 * (var(--space-3) + var(--safe-area-right)));width:min(100vw - 24px,320px);max-height:min(60vh,400px)}.memberList .memberListHeader .memberListClose{min-width:44px;min-height:44px}.memberList .memberListInviteSelect,.memberList .memberListInviteButton{min-height:44px}}.message{min-width:0;padding:10px var(--content-padding-x) 14px;color:var(--color-text-primary);transition:background-color var(--duration-fast) var(--easing-standard);align-items:flex-start;gap:14px;margin-bottom:4px;display:flex;position:relative}.message:after{content:"";left:calc(var(--content-padding-x) + 58px);right:var(--content-padding-x);pointer-events:none;height:1px;position:absolute;bottom:0}.message:hover{background-color:var(--color-surface-channel-hover)}.message:hover .messageActions{opacity:1;pointer-events:auto}@keyframes messageJumpFlash{0%{background-color:rgba(var(--color-accent-primary-rgb), .28)}to{background-color:#0000}}@media (prefers-reduced-motion:reduce){.message--highlight{background-color:rgba(var(--color-accent-primary-rgb), .12);animation:none}}.message .MuiAvatar-root{border:1px solid var(--theme-avatar-ring);width:44px;height:44px;box-shadow:var(--theme-inner-shadow);flex-shrink:0}.message .messageInfo{flex:1;min-width:0;max-width:min(880px,100%);padding:2px clamp(48px,10vw,160px) 0 0}.message .messageInfo h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-shadow:var(--theme-title-text-shadow);flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.message .messageInfo p{overflow-wrap:anywhere;word-break:break-word;color:var(--color-text-secondary);text-shadow:var(--theme-body-text-shadow);margin-top:6px}.message .messageInfo .messageReply{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-accent-primary);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:12px}.message .messageInfo .messageReply .messageReplyAuthor{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-accent-primary);display:block}.message .messageInfo .messageReply p{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:normal;overflow-wrap:anywhere;margin:2px 0 0}.message .messageInfo .messageTextFile{margin-top:var(--space-2);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);box-shadow:var(--shadow-elevated);border-radius:16px;overflow:hidden}.message .messageInfo .messageTextFilePreview{padding:var(--space-4);background-color:var(--color-surface-search);max-height:120px;position:relative;overflow:hidden}.message .messageInfo .messageTextFilePreview:after{content:"";background:linear-gradient(180deg, #0000 0%, var(--color-surface-search) 100%);pointer-events:none;height:32px;position:absolute;inset:auto 0 0}.message .messageInfo .messageTextFilePreview--expanded{max-height:400px;overflow-y:auto}.message .messageInfo .messageTextFilePreview--expanded:after{display:none}.message .messageInfo .messageTextFileToolbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-default);display:flex}.message .messageInfo .messageTextFileToggle,.message .messageInfo .messageTextFileIconButton{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.message .messageInfo .messageTextFileToggle:hover,.message .messageInfo .messageTextFileIconButton:hover{background-color:var(--color-surface-channel-hover);color:var(--color-text-primary)}.message .messageInfo .messageTextFileToggle:focus-visible,.message .messageInfo .messageTextFileIconButton:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.message .messageInfo .messageTextFileMeta{align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text-secondary);flex:1;display:flex}.message .messageInfo .messageTextFileMetaText{flex-direction:column;gap:2px;min-width:0;display:flex}.message .messageInfo .messageTextFileName{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.message .messageInfo .messageTextFileCaption{font-size:var(--font-size-xs);color:var(--color-text-muted)}.message .messageInfo .messageTextFileActions{align-items:center;gap:var(--space-1);display:flex}.message .messageInfo .messageTextFileLoading{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.message .messageTimestamp,.message .messageEdited{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.message .messagePinned{color:var(--color-accent-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);align-items:center;gap:2px;display:inline-flex}.message .messageActions{gap:var(--space-1);opacity:0;pointer-events:none;right:var(--content-padding-x);background-color:var(--theme-floating-bg);border:1px solid var(--color-border-default);transition:opacity var(--duration-fast) var(--easing-standard);box-shadow:var(--shadow-elevated);border-radius:999px;padding:6px;display:flex;position:absolute;top:6px}.message .messageActions .messageActionButton{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;display:flex}.message .messageActions .messageActionButton:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover)}.message .messageActions .messageActionButton:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.message .messageActions .messageActionButton--active{color:var(--color-accent-primary)}.message .messageActions .messageDeleteConfirm{right:0;bottom:calc(100% + var(--space-1));background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-elevated);z-index:10;white-space:nowrap;position:absolute}.message .messageActions .messageDeleteConfirm .messageDeleteConfirmText{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0 0 var(--space-2)}.message .messageActions .messageDeleteConfirm .messageDeleteConfirmActions{gap:var(--space-2);justify-content:flex-end;display:flex}.message .messageActions .messageDeleteConfirm .messageDeleteConfirmActions button{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:none}.message .messageActions .messageDeleteConfirm .messageDeleteConfirmActions .messageDeleteConfirmCancel{color:var(--color-text-muted);background:0 0}.message .messageActions .messageDeleteConfirm .messageDeleteConfirmActions .messageDeleteConfirmCancel:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover)}.message .messageActions .messageDeleteConfirm .messageDeleteConfirmActions .messageDeleteConfirmDelete{background-color:var(--color-accent-error);color:#fff}.message .messageActions .messageDeleteConfirm .messageDeleteConfirmActions .messageDeleteConfirmDelete:hover{opacity:.9}.message .messageEditForm{margin-top:var(--space-1)}.message .messageEditForm textarea{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--color-surface-input);border:1px solid var(--color-accent-primary);color:var(--color-text-primary);font-size:var(--font-size-md);font-family:var(--font-family-base);resize:vertical;border-radius:12px;min-height:60px}.message .messageEditForm textarea:focus{border-color:var(--color-accent-primary);outline:none}.message .messageEditForm .messageEditActions{gap:var(--space-2);margin-top:var(--space-1);display:flex}.message .messageEditForm .messageEditActions button{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);border:none}.message .messageEditForm .messageEditActions .messageEditSave{background-color:var(--color-accent-primary);color:#fff}.message .messageEditForm .messageEditActions .messageEditSave:hover{opacity:.9}.message .messageEditForm .messageEditActions .messageEditCancel{color:var(--color-text-muted);background:0 0}.message .messageEditForm .messageEditActions .messageEditCancel:hover{color:var(--color-text-primary)}.message .messageMarkdown{margin-top:var(--space-1);overflow-wrap:anywhere;word-break:break-word;min-width:0;color:var(--color-text-secondary);text-shadow:var(--theme-body-text-shadow);line-height:1.75}.message .messageMarkdown--compact{margin-top:0}.message .messageMarkdown p{margin:var(--space-1) 0}.message .messageMarkdown>:first-child{margin-top:0}.message .messageMarkdown>:last-child{margin-bottom:0}.message .messageMarkdown pre{background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);padding:var(--space-3);max-width:100%;margin:var(--space-2) 0;border-radius:14px;overflow-x:auto}.message .messageMarkdown pre code{font-size:var(--font-size-sm);color:var(--color-text-primary);background:0 0;padding:0;font-family:Consolas,Monaco,Courier New,monospace}.message .messageMarkdown code{background-color:var(--theme-inline-code-bg);border-radius:var(--radius-sm);padding:.15em .4em;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em}.message .messageMarkdown a{color:var(--color-accent-primary);text-decoration:none}.message .messageMarkdown a:hover{text-decoration:underline}.message .messageMarkdown strong{font-weight:var(--font-weight-bold,700)}.message .messageMarkdown em{font-style:italic}.message .messageMarkdown del{color:var(--color-text-muted);text-decoration:line-through}.message .messageMarkdown blockquote{border-left:3px solid var(--color-accent-primary);margin:var(--space-2) 0;padding:var(--space-1) var(--space-3);color:var(--color-text-muted);background:var(--color-surface-elevated);border-radius:0 10px 10px 0}.message .messageMarkdown blockquote p{margin:0}.message .messageMarkdown ul,.message .messageMarkdown ol{margin:var(--space-2) 0;padding-left:var(--space-5,1.5rem)}.message .messageMarkdown li{margin:var(--space-1) 0}.message .messageMarkdown li input[type=checkbox]{margin-right:var(--space-2)}.message .messageMarkdown table{border-collapse:collapse;margin:var(--space-2) 0;width:100%;display:block;overflow-x:auto}.message .messageMarkdown th,.message .messageMarkdown td{border:1px solid var(--color-border-default);padding:var(--space-2) var(--space-3);text-align:left}.message .messageMarkdown th{background-color:var(--color-surface-elevated);font-weight:var(--font-weight-medium)}.message .messageMarkdown hr{border:none;border-top:1px solid var(--color-border-default);margin:var(--space-3) 0}.message .messageMarkdown h1,.message .messageMarkdown h2,.message .messageMarkdown h3,.message .messageMarkdown h4,.message .messageMarkdown h5,.message .messageMarkdown h6{margin:var(--space-3) 0 var(--space-1);font-weight:var(--font-weight-bold,700)}.message .messageMarkdown h1{font-size:1.4em}.message .messageMarkdown h2{font-size:1.25em}.message .messageMarkdown h3{font-size:1.1em}.message .messageMarkdown img{border-radius:var(--radius-sm);max-width:100%}.message .messageAttachments{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.message .messageAttachments .messageAttachmentWrapper{display:inline-block;position:relative}.message .messageAttachments .messageAttachmentImage{border:1px solid var(--color-border-default);cursor:pointer;background:0 0;border-radius:12px;max-width:320px;padding:0;display:block;overflow:hidden}.message .messageAttachments .messageAttachmentImage img{object-fit:contain;max-width:100%;max-height:300px;display:block}.message .messageAttachments .messageAttachmentImage:hover{opacity:.9}.message .messageAttachments .messageAttachmentDownload{color:var(--color-accent-primary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.message .messageAttachments .messageAttachmentDownload:hover{background-color:var(--color-surface-channel-hover)}.message .messageAttachments .messageAttachmentSpoiler{cursor:pointer;position:relative}.message .messageAttachments .messageAttachmentSpoiler img{filter:blur(20px);transition:filter .3s}.message .messageAttachments .messageAttachmentSpoiler--revealed img{filter:none}.message .messageAttachments .messageAttachmentSpoilerLabel{color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);pointer-events:none;background-color:#0006;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.message .messageAttachments .messageAttachmentSpoilerReveal{color:var(--color-text-muted);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-style:italic}.message .messageAttachments .messageAttachmentSpoilerReveal:hover{color:var(--color-text-primary)}.message .messageAttachments .messageAttachmentFile{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);color:var(--color-accent-primary);font-size:var(--font-size-sm);border-radius:12px;display:inline-flex}.message .messageAttachments .messageAttachmentFile .messageAttachmentFileName{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.message .messageAttachments .messageAttachmentFile .messageAttachmentFileSize{color:var(--color-text-muted);font-size:var(--font-size-xs)}.message--highlight{animation:2s ease-out messageHighlight}.message--deleted .messageDeleted{color:var(--color-text-muted);font-style:italic;font-size:var(--font-size-sm)}[data-theme=notebook] .message:after{background:#7878782e}[data-theme=chalkboard] .message:after{filter:blur(.2px);background:linear-gradient(90deg,#f1eee638,#f1eee614 72%,#f1eee600)}[data-theme=chalkboard] .message .messageMarkdown,[data-theme=chalkboard] .message .messageTextFilePreview,[data-theme=chalkboard] .message .messageReply p{font-family:var(--font-family-handwritten);letter-spacing:.03em;line-height:1.82}.message:focus-within .messageActions{opacity:1;pointer-events:auto}.messageLightboxImage{object-fit:contain;border-radius:var(--radius-sm);outline:none;max-width:100%;max-height:80vh;margin:0 auto;display:block}.messageTextFileModalBody{max-height:65vh;padding:var(--space-3);background-color:var(--color-surface-app);border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;color:var(--color-text-primary);font-size:var(--font-size-sm);margin:0;font-family:Consolas,Monaco,Courier New,monospace;line-height:1.6;overflow-y:auto}.mention{background-color:var(--theme-overlay-accent);color:var(--color-accent-primary);font-weight:var(--font-weight-medium);border-radius:6px;padding:0 4px}@media (width<=767px){.message{padding:10px var(--space-3) 14px;gap:10px}.message:after{left:calc(var(--space-3) + 50px);right:var(--space-3)}.message .MuiAvatar-root{width:40px;height:40px}.message .messageInfo{max-width:100%;padding-right:0}.message .messageInfo h4{gap:8px}.message .messageActions{right:var(--space-3);padding:4px;top:8px}.message .messageAttachments .messageAttachmentImage{max-width:min(100%,280px)}}@keyframes messageHighlight{0%{background-color:var(--theme-marker-highlight);opacity:.65}to{opacity:1;background-color:#0000}}.reactionPicker{position:relative}.reactionPicker .reactionPickerToggle{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;display:flex}.reactionPicker .reactionPickerToggle:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover)}.reactionPicker .reactionPickerToggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.reactionPicker .reactionPickerPopover{background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-2);gap:var(--space-1);z-index:var(--z-modal);box-shadow:var(--shadow-elevated);display:flex;position:absolute;bottom:100%;right:0}.reactionPicker .reactionPickerEmoji{cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);min-width:32px;min-height:32px;transition:background-color var(--duration-fast) var(--easing-standard);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.reactionPicker .reactionPickerEmoji:hover{background-color:var(--color-surface-channel-hover)}.reactionBar{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.reactionBar .reactionChip{align-items:center;gap:var(--space-1);padding:2px var(--space-2);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-xs);transition:background-color var(--duration-fast) var(--easing-standard);display:flex}.reactionBar .reactionChip:hover{background-color:var(--color-surface-channel-hover)}.reactionBar .reactionChip--active{border-color:var(--color-accent-primary);background-color:var(--color-surface-channel-hover)}.reactionBar .reactionChip .reactionChipEmoji{font-size:.875rem}.reactionBar .reactionChip .reactionChipCount{color:var(--color-text-muted)}.modal{border-radius:var(--radius-lg);background-color:var(--color-surface-elevated);width:90vw;max-width:480px;color:var(--color-text-primary);box-shadow:var(--shadow-elevated);border:none;margin:auto;padding:0;position:fixed;inset:0}.modal.modal--lg{max-width:800px;max-height:80vh}.modal.modal--xl{max-width:min(1100px,95vw);max-height:90vh}.modal::backdrop{background-color:#00000080}.modal .modalContent{padding:var(--space-5)}.modal .modalHeader{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.modal .modalHeader h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.modal .modalClose{font-size:var(--font-size-lg);cursor:pointer;color:var(--color-text-muted);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;display:flex}.modal .modalClose:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover)}.modal .modalClose:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.modal .modalBody label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1);display:block}.modal .modalBody input[type=text],.modal .modalBody textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-surface-app);color:var(--color-text-primary);font-size:var(--font-size-md);font-family:var(--font-family-base)}.modal .modalBody input[type=text]:focus,.modal .modalBody textarea:focus{outline:2px solid var(--color-accent-primary);outline-offset:-2px;border-color:var(--color-accent-primary)}.modal .modalBody .modalActions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.modal .modalBody .modalActions button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;min-width:80px;min-height:36px}.modal .modalBody .modalActions button:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.modal .modalBody .modalActions .modalCancel{border:1px solid var(--color-border-default);color:var(--color-text-secondary);background:0 0}.modal .modalBody .modalActions .modalCancel:hover{background-color:var(--color-surface-channel-hover)}.modal .modalBody .modalActions .modalSubmit{background-color:var(--color-accent-primary);color:var(--color-text-on-accent);border:none}.modal .modalBody .modalActions .modalSubmit:hover{background-color:var(--color-accent-primary-hover)}.modal .modalBody .modalActions .modalSubmit:disabled{opacity:.5;cursor:not-allowed}.modal .modalBody .modalError{color:var(--color-accent-error);font-size:var(--font-size-sm);margin-top:var(--space-2)}.modal .modalBody .channelSettingsReadonlyNotice{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-left:3px solid var(--color-accent-primary);border-radius:var(--radius-md);background-color:var(--color-surface-app);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.modal .modalBody .channelSettingsDanger{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-default)}.modal .modalBody .channelSettingsDanger h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-accent-error);margin:0 0 var(--space-2)}.modal .modalBody .channelSettingsDanger p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3)}.modal .modalBody .channelSettingsDanger .channelSettingsDeleteButton{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:1px solid var(--color-accent-error);color:var(--color-accent-error);background:0 0;min-height:36px}.modal .modalBody .channelSettingsDanger .channelSettingsDeleteButton:hover{background-color:var(--color-accent-error);color:var(--color-text-on-accent)}.modal .modalBody .channelSettingsDanger .channelSettingsDeleteButton:focus-visible{outline:2px solid var(--color-accent-error);outline-offset:2px}.modal .modalBody .channelSettingsDanger .channelSettingsDeleteButton:disabled{opacity:.5;cursor:not-allowed}[data-theme=chalkboard] .modal{border:1px solid var(--color-border-default);background-color:#26312cf2}.mentionAutocomplete{z-index:100;margin-bottom:var(--space-1);position:absolute;bottom:100%;left:0;right:0}.mentionAutocomplete .mentionAutocompleteList{padding:var(--space-1);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);max-height:200px;margin:0;list-style:none;overflow-y:auto}.mentionAutocomplete .mentionAutocompleteItem{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard);display:flex}.mentionAutocomplete .mentionAutocompleteItem:hover,.mentionAutocomplete .mentionAutocompleteItem--selected{background-color:var(--color-surface-channel-hover)}.mentionAutocomplete .mentionAutocompleteName{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.typingIndicator{min-height:28px;padding:0 var(--content-padding-x) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);text-shadow:var(--theme-body-text-shadow);align-items:center;display:flex}.typingIndicator .typingDots{margin-right:var(--space-1);gap:3px;display:inline-flex}.typingIndicator .typingDots span{background-color:var(--color-text-muted);border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite typingBounce}.typingIndicator .typingDots span:nth-child(2){animation-delay:.2s}.typingIndicator .typingDots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;min-height:0;color:var(--color-text-primary);background:0 0;flex-shrink:0;display:flex}.sidebar .sidebarRight{background:0 0;flex-direction:column;flex-grow:1;width:100%;min-width:0;display:flex;position:relative}.sidebar .sidebarTop{min-height:var(--header-height);padding:0 var(--space-5);border-bottom:1px solid var(--theme-header-border);justify-content:space-between;align-items:center;display:flex}.sidebar .sidebarTop .sidebarTopBrand{align-items:center;gap:12px;min-width:0;display:flex}.sidebar .sidebarTop .serverIcon{border:1px solid var(--color-border-default);background:var(--theme-panel);width:42px;height:42px;box-shadow:var(--theme-inner-shadow);border-radius:14px;flex-shrink:0;position:relative}.sidebar .sidebarTop .serverIcon img{object-fit:contain;width:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sidebar .sidebarTop h3{font-size:1.05rem;font-weight:var(--font-weight-bold);text-shadow:var(--theme-title-text-shadow);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar .sidebarChannels{padding:var(--space-3);flex:1;min-height:0;overflow-y:auto}.sidebar .sidebarChannels .sidebarChannelsHeader{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.sidebar .sidebarChannels .sidebarHeader{align-items:center;display:flex}.sidebar .sidebarChannels .sidebarHeader h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:.04em}.sidebar .sidebarChannels .sidebarAddButton{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:flex}.sidebar .sidebarChannels .sidebarAddButton:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.sidebar .sidebarChannels .sidebarAddButton:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.sidebar .sidebarChannels .sidebarChannelList{margin:var(--space-2) 0 var(--space-3);padding:0;list-style:none}.sidebar .sidebarChannels .sidebarStatus,.sidebar .sidebarChannels .sidebarError{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3)}.sidebar .sidebarChannels .sidebarStatus{color:var(--color-text-muted)}.sidebar .sidebarChannels .sidebarError{color:var(--color-accent-error)}.sidebar .sidebarFooter{min-height:86px;padding:24px var(--space-4) 12px;box-shadow:var(--shadow-elevated);border-radius:18px;flex-shrink:0;justify-content:space-between;align-items:center;margin:10px 12px 14px;display:flex;position:relative;overflow:hidden}.sidebar .sidebarFooter .sidebarAccount{z-index:1;flex:none;align-items:center;min-width:0;display:flex;position:static}.sidebar .sidebarFooter .sidebarAccount .sidebarAvatarButton{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0}.sidebar .sidebarFooter .sidebarAccount .sidebarAvatarButton:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.sidebar .sidebarFooter .sidebarAccount .sidebarAvatarButton img{object-fit:cover;border:1px solid var(--theme-avatar-ring);border-radius:50%;width:42px;height:42px}.sidebar .sidebarFooter .sidebarAccount .accountName{text-align:center;z-index:1;pointer-events:none;width:min(140px,100% - 176px);margin-left:0;position:absolute;top:calc(50% + 4px);left:50%;transform:translate(-50%,-50%)}.sidebar .sidebarFooter .sidebarAccount .accountName h4{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar .sidebarFooter .sidebarAccount .accountName span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.sidebar .sidebarFooter .sidebarVoice{z-index:1;align-items:center;gap:2px;margin-left:auto;margin-right:-2px;display:flex;position:relative}.sidebar .sidebarFooter .sidebarVoice .sidebarIconButton{color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:3px;display:flex}.sidebar .sidebarFooter .sidebarVoice .sidebarIconButton:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.sidebar .sidebarFooter .sidebarVoice .sidebarIconButton:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}[data-theme=notebook] .sidebar{border-right:none}[data-theme=notebook] .sidebar .sidebarFooter{background:linear-gradient(90deg,#f2efeafa 0 28%,#668cbaf5 28% 72%,#f2efeafa 72% 100%);border:1px solid #7c7c7c24}[data-theme=notebook] .sidebar .sidebarFooter:before{content:"";background:linear-gradient(#ffffff7a,#0000000a),linear-gradient(#ffffff8c 0 12px,#0000 12px 100%);position:absolute;inset:0}[data-theme=notebook] .sidebar .sidebarFooter:after{content:"";opacity:.7;background:linear-gradient(90deg,#ffffffb8,#fff3);border-radius:999px;width:52%;height:8px;position:absolute;top:14px;left:24px}[data-theme=chalkboard] .sidebar{border-right:1px solid var(--theme-sidebar-divider)}[data-theme=chalkboard] .sidebar .sidebarTop .serverIcon,[data-theme=chalkboard] .sidebar .sidebarFooter .sidebarIconButton:hover{box-shadow:inset 0 0 0 1px #ffffff0d,0 0 8px #ffffff08}[data-theme=chalkboard] .sidebar .sidebarFooter{background:linear-gradient(#7b5c43 0 16px,#36403b 16px 100%);border:1px solid #14181652}[data-theme=chalkboard] .sidebar .sidebarFooter:before{content:"";opacity:.7;background:linear-gradient(#ffffff14,#00000014),repeating-linear-gradient(90deg,#ffffff05 0 3px,#fff0 3px 8px);position:absolute;inset:0}[data-theme=chalkboard] .sidebar .sidebarFooter .sidebarAccount,[data-theme=chalkboard] .sidebar .sidebarFooter .sidebarVoice{align-self:flex-end}[data-theme=chalkboard] .sidebar .sidebarFooter .accountName span,[data-theme=chalkboard] .sidebar .sidebarFooter .sidebarIconButton{color:#f1eee6c2}@media (width<=767px){.sidebar{flex:auto;width:100%;min-width:100%}.sidebar.sidebar--mobile-hidden{display:none}.sidebar .sidebarTop{min-height:calc(var(--header-height) + var(--safe-area-top));padding:max(var(--space-2), var(--safe-area-top)) calc(var(--space-4) + var(--safe-area-right)) 0 calc(var(--space-4) + var(--safe-area-left))}.sidebar .sidebarTop .serverIcon{border-radius:12px;width:40px;height:40px}.sidebar .sidebarTop .serverIcon img{width:28px}.sidebar .sidebarChannels{padding:var(--space-3) calc(var(--space-3) + var(--safe-area-right)) calc(var(--space-4) + var(--safe-area-bottom)) calc(var(--space-3) + var(--safe-area-left))}.sidebar .sidebarChannels .sidebarChannelsHeader{margin-top:10px}.sidebar .sidebarChannels .sidebarAddButton{min-width:44px;min-height:44px}.sidebar .sidebarFooter{min-height:84px;margin:8px calc(12px + var(--safe-area-right)) 8px calc(12px + var(--safe-area-left));padding:18px var(--space-3) calc(12px + var(--safe-area-bottom));border-radius:16px}.sidebar .sidebarFooter:before,.sidebar .sidebarFooter:after{display:none}.sidebar .sidebarFooter .sidebarVoice .sidebarIconButton{min-width:44px;min-height:44px}}.sidebarChannel{align-items:center;margin-top:4px;display:flex;position:relative}.sidebarChannel .sidebarChannelButton{width:100%;min-height:44px;color:var(--color-text-secondary);cursor:pointer;text-align:left;font-size:1.02rem;font-family:var(--font-family-base);transition:background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.sidebarChannel .sidebarChannelButton:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover)}.sidebarChannel .sidebarChannelButton:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-1px}.sidebarChannel .sidebarChannelButton--active{color:var(--theme-channel-active-text);background-color:var(--theme-channel-active-bg);border-color:var(--theme-channel-active-border);box-shadow:var(--theme-channel-active-shadow);font-weight:var(--font-weight-medium)}.sidebarChannel .sidebarChannelButton--active:after{content:"";opacity:.5;background:currentColor;border-radius:999px;flex-shrink:0;width:7px;height:7px}.sidebarChannel .sidebarChannelButton--unread{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.sidebarChannel .sidebarChannelButton .sidebarChannelHash{color:var(--color-text-muted);flex-shrink:0;font-size:1.15rem}.sidebarChannel .sidebarChannelButton .sidebarChannelLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebarChannel .sidebarChannelButton .sidebarChannelUnreadDot{background-color:var(--color-accent-primary);width:7px;height:7px;box-shadow:0 0 0 3px rgba(var(--color-accent-primary-rgb), .14);border-radius:999px;flex-shrink:0}.sidebarChannel .sidebarChannelSettings{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);opacity:0;min-width:36px;min-height:36px;transition:opacity var(--duration-fast) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;right:8px}.sidebarChannel .sidebarChannelSettings:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover);border-color:var(--color-border-default)}.sidebarChannel .sidebarChannelSettings:focus-visible{opacity:1;outline:2px solid var(--color-accent-primary);outline-offset:2px}.sidebarChannel:hover .sidebarChannelSettings{opacity:1}[data-theme=chalkboard] .sidebarChannelButton{text-shadow:var(--theme-title-text-shadow)}[data-theme=chalkboard] .sidebarChannel .sidebarChannelButton .sidebarChannelUnreadDot{box-shadow:0 0 0 2px #f1eee61f,0 0 6px #f1eee614}@media (width<=767px){.sidebarChannel .sidebarChannelButton{min-height:52px;padding:12px 56px 12px 16px;font-size:1rem}.sidebarChannel .sidebarChannelSettings{opacity:1;min-width:44px;min-height:44px}}.createDmField{margin-bottom:var(--space-3)}.createDmList{border:1px solid var(--color-border-default);border-radius:var(--radius-md);max-height:18rem;padding:var(--space-2);margin-bottom:var(--space-3);background-color:var(--color-surface-app);overflow-y:auto}.createDmCandidate{width:100%;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-default);cursor:pointer;color:var(--color-text-primary);text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.createDmCandidate:last-child{margin-bottom:0}.createDmCandidate:hover{background-color:var(--color-surface-channel-hover)}.createDmCandidate:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.createDmCandidate--selected{border-color:var(--color-accent-primary);background-color:var(--color-surface-search)}.createDmCandidateName{font-weight:var(--font-weight-medium)}.createDmCandidateId{font-size:var(--font-size-sm);color:var(--color-text-muted)}.createDmHint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.login{justify-content:center;align-items:center;gap:var(--space-5);background-color:var(--color-surface-app);flex-direction:column;width:100%;height:100vh;display:flex}.login .loginTitle{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.login .loginDesc{color:var(--color-text-primary);font-size:var(--font-size-md);margin:0}.login button{color:#fff;width:240px;font-weight:var(--font-weight-bold);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-md);background-color:#3a5a78}.login button:hover{background-color:#2f4a63}.login button:disabled{color:#fff;cursor:not-allowed;background-color:#7a8a99}.login button:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.login .loginLogo img{object-fit:cover;border-radius:var(--radius-lg);height:150px}.login .loginError{color:var(--color-accent-error);font-size:var(--font-size-sm);text-align:center;max-width:300px}.notFound{background-color:var(--color-surface-app);height:100vh;color:var(--color-text-primary);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.notFound h1{font-size:4rem;font-weight:var(--font-weight-bold);color:var(--color-accent-primary)}.notFound p{font-size:var(--font-size-lg);color:var(--color-text-muted)}.notFound .notFoundLink{padding:var(--space-3) var(--space-5);background-color:var(--color-accent-primary);color:var(--color-text-on-accent);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);text-decoration:none}.notFound .notFoundLink:hover{background-color:var(--color-accent-primary-hover)}.notFound .notFoundLink:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.settings{max-width:600px;padding:var(--space-5);color:var(--color-text-primary);background-color:var(--color-surface-app);min-height:100vh;margin:0 auto}.settings .settingsHeader{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.settings .settingsHeader h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.settings .settingsBack{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;display:flex}.settings .settingsBack:hover{color:var(--color-text-primary);background-color:var(--color-surface-channel-hover)}.settings .settingsBack:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.settings .settingsSection{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-default)}.settings .settingsSection h2{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:var(--space-4)}.settings .settingsForm{gap:var(--space-2);flex-direction:column;display:flex}.settings .settingsForm label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.settings .settingsInputGroup{gap:var(--space-2);display:flex}.settings .settingsInputGroup input{padding:var(--space-2) var(--space-3);background-color:var(--color-surface-input);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-md);font-family:var(--font-family-base);flex:1}.settings .settingsInputGroup input:focus-visible{border-color:var(--color-accent-primary);outline:2px solid var(--color-accent-primary);outline-offset:2px}.settings .settingsInputGroup button{padding:var(--space-2) var(--space-4);background-color:var(--color-accent-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);border:none}.settings .settingsInputGroup button:hover{opacity:.9}.settings .settingsInputGroup button:disabled{opacity:.5;cursor:not-allowed}.settings .settingsTheme{justify-content:space-between;align-items:center;display:flex}.settings .settingsTheme label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.settings .settingsTheme select{padding:var(--space-2) var(--space-3);background-color:var(--color-surface-input);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-md);cursor:pointer}.settings .settingsSignOut{padding:var(--space-2) var(--space-4);background-color:var(--color-accent-error);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);border:none}.settings .settingsSignOut:hover{opacity:.9}.toastContainer{bottom:var(--space-5);right:var(--space-5);z-index:var(--z-toast);gap:var(--space-2);flex-direction:column;max-width:360px;display:flex;position:fixed}.toast{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:var(--color-surface-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-elevated);font-size:var(--font-size-sm);animation:slideIn var(--duration-normal) var(--easing-standard);display:flex}.toast--success{border-left:3px solid var(--color-accent-success)}.toast--error{border-left:3px solid var(--color-accent-error)}.toast--info{border-left:3px solid var(--color-accent-primary)}@media (width<=767px){.toastContainer{left:calc(var(--space-3) + var(--safe-area-left));right:calc(var(--space-3) + var(--safe-area-right));bottom:calc(var(--space-3) + var(--safe-area-bottom));max-width:none}}.toastDismiss{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:24px;min-height:24px;display:flex}.toastDismiss:hover{color:var(--color-text-primary)}.toastDismiss:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.errorFallback{background-color:var(--color-surface-app);height:100vh;color:var(--color-text-primary);justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5);text-align:center;flex-direction:column;display:flex}.errorFallback p{max-width:40rem}.errorFallback pre{color:var(--color-accent-error);overflow-wrap:break-word;white-space:pre-wrap;max-width:80%}.errorFallback button{padding:var(--space-3) var(--space-5);background-color:var(--color-button-bg);color:var(--color-button-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);border:none}.errorFallback button:hover{opacity:.9}.errorFallback button:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.errorFallbackDetails{max-width:80%}.errorFallbackDetails summary{cursor:pointer;color:var(--color-text-secondary)}.errorFallbackActions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.errorFallbackReload{color:var(--color-text-primary)!important;border:1px solid var(--color-border)!important;background-color:#0000!important}:root{--scene-frame-size:18px;--scene-radius:22px;--sidebar-width:320px;--notebook-gap:42px;--viewport-height:100vh;--header-height:72px;--composer-height:72px;--content-padding-x:clamp(24px, 3vw, 40px);--message-gap:22px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--theme-bg:#f6f2ea;--theme-bg-deep:#e9e0d0;--theme-bg-light:#fbf8f2;--theme-panel:#ffffff73;--theme-panel-strong:#ffffffb8;--theme-line:#78787824;--theme-line-strong:#7878783d;--theme-text:#58524c;--theme-text-soft:#58524cb8;--theme-text-faint:#58524c80;--theme-accent:#d9e4ef;--theme-accent-strong:#9eb7cf;--theme-accent-rgb:217, 228, 239;--theme-success:#5d9077;--theme-error:#c56d5b;--theme-shadow:0 16px 32px #5d4f3a24;--theme-inner-shadow:inset 0 1px 0 #ffffff42;--theme-row-hover:#7878780d;--theme-search-bg:#ffffff6b;--theme-sidebar-divider:#78787824;--theme-rail-bg:#ffffff1f;--theme-header-border:#78787829;--theme-composer-bg:#ffffff2e;--theme-composer-border:#7878782e;--theme-composer-shadow:inset 0 -1px 0 #78787814;--theme-floating-bg:#ffffffe6;--theme-floating-border:#78787829;--theme-channel-active-bg:#d9e4efeb;--theme-channel-active-border:transparent;--theme-channel-active-shadow:none;--theme-channel-active-text:#4f5358;--theme-marker-highlight:#d9e4efdb;--theme-inline-code-bg:#ffffff80;--theme-overlay-accent:#d9e4ef4d;--theme-body-text-shadow:0 0 .4px #0000001f;--theme-title-text-shadow:none;--theme-avatar-ring:#78787833;--color-surface-app:var(--theme-bg);--color-surface-sidebar:transparent;--color-surface-sidebar-left:transparent;--color-surface-elevated:var(--theme-panel-strong);--color-surface-input:var(--theme-composer-bg);--color-surface-search:var(--theme-search-bg);--color-surface-channel-hover:var(--theme-row-hover);--color-text-primary:var(--theme-text);--color-text-secondary:var(--theme-text-soft);--color-text-muted:var(--theme-text-faint);--color-text-on-accent:#fff;--color-accent-primary:var(--theme-accent-strong);--color-accent-primary-hover:#7c9ab4;--color-accent-primary-rgb:var(--theme-accent-rgb);--color-accent-error:var(--theme-error);--color-accent-success:var(--theme-success);--color-border-default:var(--theme-line);--color-border-strong:var(--theme-line-strong);--color-button-bg:var(--theme-accent-strong);--color-button-text:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-elevated:var(--theme-shadow);--font-family-base:"Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-handwritten:"Yomogi", "Klee One", "Hiragino Maru Gothic ProN", cursive;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:20px;--font-size-xl:24px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-base:1.6;--duration-fast:.12s;--duration-normal:.2s;--easing-standard:cubic-bezier(.2, 0, 0, 1);--z-sidebar-overlay:900;--z-modal:1000;--z-toast:1100}[data-theme=notebook]{--theme-bg:#f6f2ea;--theme-bg-deep:#e9e0d0;--theme-bg-light:#fbf8f2;--theme-panel:#ffffff73;--theme-panel-strong:#ffffffb8;--theme-line:#78787824;--theme-line-strong:#7878783d;--theme-text:#58524c;--theme-text-soft:#58524cb8;--theme-text-faint:#58524c80;--theme-accent:#d9e4ef;--theme-accent-strong:#9eb7cf;--theme-accent-rgb:217, 228, 239;--theme-success:#5d9077;--theme-error:#c56d5b;--theme-shadow:0 16px 32px #5d4f3a24;--theme-inner-shadow:inset 0 1px 0 #ffffff42;--theme-row-hover:#7878780d;--theme-search-bg:#ffffff6b;--theme-sidebar-divider:#78787824;--theme-rail-bg:#ffffff1f;--theme-header-border:#78787829;--theme-composer-bg:#ffffff2e;--theme-composer-border:#7878782e;--theme-composer-shadow:inset 0 -1px 0 #78787814;--theme-floating-bg:#ffffffe6;--theme-floating-border:#78787829;--theme-channel-active-bg:#d9e4efeb;--theme-channel-active-border:transparent;--theme-channel-active-shadow:none;--theme-channel-active-text:#4f5358;--theme-marker-highlight:#d9e4efdb;--theme-inline-code-bg:#ffffff80;--theme-overlay-accent:#d9e4ef4d;--theme-body-text-shadow:0 0 .4px #0000001f;--theme-title-text-shadow:none;--theme-avatar-ring:#78787833}[data-theme=chalkboard]{--theme-bg:#334139;--theme-bg-deep:#26312c;--theme-bg-light:#3d4c45;--theme-panel:#00000014;--theme-panel-strong:#00000024;--theme-line:#f1eee638;--theme-line-strong:#f1eee657;--theme-text:#f1eee6;--theme-text-soft:#f1eee6bd;--theme-text-faint:#f1eee680;--theme-accent:#b9cba8;--theme-accent-strong:#b9cba8;--theme-accent-rgb:185, 203, 168;--theme-success:#7fd18a;--theme-error:#d88c76;--theme-shadow:0 18px 36px #060c0a52;--theme-inner-shadow:inset 0 1px 0 #ffffff0f;--theme-row-hover:#ffffff0a;--theme-search-bg:#0000001a;--theme-sidebar-divider:#f1eee661;--theme-rail-bg:#0000000f;--theme-header-border:#f1eee629;--theme-composer-bg:#0000000f;--theme-composer-border:#f1eee638;--theme-composer-shadow:inset 0 0 0 1px #ffffff0a, 0 0 10px #ffffff0a;--theme-floating-bg:#202b26f5;--theme-floating-border:#f1eee62e;--theme-channel-active-bg:#ffffff08;--theme-channel-active-border:#f1eee657;--theme-channel-active-shadow:inset 0 0 0 1px #ffffff0a, 0 0 8px #ffffff08;--theme-channel-active-text:#f1eee6;--theme-marker-highlight:#ffffff14;--theme-inline-code-bg:#00000029;--theme-overlay-accent:#b9cba824;--theme-body-text-shadow:0 0 .6px #ffffff73, 0 0 1.5px #ffffff1f;--theme-title-text-shadow:0 0 .8px #ffffff59;--theme-avatar-ring:#f1eee62e}@supports (height:100dvh){:root{--viewport-height:100dvh}}@media (width<=767px){:root{--scene-frame-size:12px;--sidebar-width:100vw;--notebook-gap:18px;--header-height:64px;--composer-height:64px;--content-padding-x:16px}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s}}*{box-sizing:border-box;margin:0}html,body,#root{height:100%;min-height:var(--viewport-height)}html{background-color:var(--color-surface-app)}body{min-height:var(--viewport-height);font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-surface-app);color:var(--color-text-primary);line-height:var(--line-height-base);margin:0;overflow:hidden}#root{min-height:var(--viewport-height);isolation:isolate}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::selection{background-color:var(--theme-marker-highlight);color:var(--color-text-primary)}:where(.chat .chatMessage,.sidebar .sidebarChannels,.memberList .memberListBody,.pinnedMessages .pinnedMessagesList,.createDmList,.mentionAutocomplete .mentionAutocompleteList){-ms-overflow-style:none;scrollbar-width:none}:where(.chat .chatMessage,.sidebar .sidebarChannels,.memberList .memberListBody,.pinnedMessages .pinnedMessagesList,.createDmList,.mentionAutocomplete .mentionAutocompleteList)::-webkit-scrollbar{width:0;height:0;display:none}.u-hidden{display:none}.u-mb-3{margin-bottom:var(--space-3)}.u-mb-4{margin-bottom:var(--space-4)}.u-form-row{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.u-relative{position:relative}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
