#root,body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:100%;margin:0;overflow:hidden;padding:0}body{background:#fff;color:#000;transition:background-color .3s ease,color .3s ease}body.dark-mode{background:#36393f;color:#dcddde}.page-container{--controls-height:50px;display:flex;height:100dvh}.main-content{display:flex;flex:1 1;flex-direction:column;height:100%;overflow:hidden;position:relative}#controls{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f0f0f0e6;border-radius:20px;box-shadow:0 1px 5px #0000001a;left:10px;max-width:calc(100vw - 20px);overflow:visible;padding:5px;position:fixed;top:10px;transition:background-color .3s ease;z-index:1002}#controls,#controls-inner{align-items:center;display:flex;flex-wrap:nowrap;gap:5px}#controls-inner{overflow-x:auto;scrollbar-width:none}#controls-inner::-webkit-scrollbar{display:none}body.dark-mode #controls{background:#1e1e1ecc}#controls button{background:#eee;border:1px solid #ddd;border-radius:15px;color:#333;cursor:pointer;font-size:.9em;padding:4px 10px;transition:background-color .3s ease,color .3s ease,border-color .3s ease}body.dark-mode #controls button{background:#4f545c;border-color:#555;color:#dcddde}#logoutBtn{background-color:#ed4245!important;border:none!important;border-radius:4px!important;color:#fff!important;margin-left:10px!important}.admin-mode-badge{align-items:center;background:#e74c3c;border-radius:14px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:700;height:28px;padding:0 8px;white-space:nowrap}.dropdown{display:inline-block;position:relative}.dropbtn{background:#eee;border:1px solid #ddd;border-radius:15px;color:#333;cursor:pointer;font-size:.9em;padding:4px 10px}body.dark-mode .dropbtn{background:#4f545c;border-color:#555;color:#dcddde}.dropdown-content{background-color:#f9f9f9;border-radius:8px;box-shadow:0 8px 16px 0 #00000040;display:none;min-width:150px;padding:5px 0;position:fixed;z-index:9999}body.dark-mode .dropdown-content{background-color:#2f3136;border:1px solid #444}.dropdown-content label{align-items:center;color:#000;cursor:pointer;display:flex;font-size:.9em;padding:8px 12px;text-decoration:none}body.dark-mode .dropdown-content label{color:#dcddde}.dropdown-content label:hover{background-color:#f1f1f1}body.dark-mode .dropdown-content label:hover{background-color:#40444b}#pinned{background:#fef7dd;border-bottom:1px solid #e3e3e3;cursor:pointer;flex-shrink:0;padding:10px;transition:background-color .3s ease,border-color .3s ease,color .3s ease}body.dark-mode #pinned{background:#2f3136;border-bottom:1px solid #40444b;color:#fff}#pinned.collapsed span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#pinned.new-pin{border-left:3px solid #e74c3c}.pin-edit-btn{background:none;border:none;cursor:pointer;font-size:.9em;opacity:.7;padding:0 4px}.pin-edit-btn:hover{opacity:1}.pin-edit-textarea{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:.9em;padding:6px;resize:vertical;width:100%}body.dark-mode .pin-edit-textarea{background:#40444b;border-color:#555;color:#fff}.pin-save-btn{background:#5865f2;color:#fff}.pin-cancel-btn,.pin-save-btn{border:none;border-radius:5px;cursor:pointer;font-size:.85em;padding:4px 12px}.pin-cancel-btn{background:#eee;color:#333}body.dark-mode .pin-cancel-btn{background:#555;color:#eee}#chat{box-sizing:border-box;flex-grow:1;overflow-y:scroll;padding:0 10px 10px;position:relative;transition:background-color .3s ease}body.dark-mode #chat{background:#36393f}.drag-overlay{align-items:center;background-color:#5865f21a;border:4px dashed #5865f2;bottom:0;display:none;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:9999}.drag-overlay.active{display:flex}.drag-overlay:after{background:#ffffffe6;border-radius:10px;box-shadow:0 4px 15px #0000001a;color:#5865f2;content:"여기에 파일을 드롭하여 업로드";font-size:1.5em;font-weight:700;padding:20px}body.dark-mode .drag-overlay:after{background:#282828e6;color:#5865f2}.date-separator{color:#999;font-size:.8em;margin:20px 0;position:relative;text-align:center}.date-separator:before{border-top:1px solid #ccc;content:"";left:0;position:absolute;right:0;top:50%;transition:border-color .3s ease;z-index:0}body.dark-mode .date-separator:before{border-top-color:#4f545c}.date-separator span{background:#fff;padding:0 10px;position:relative;transition:background-color .3s ease;z-index:1}body.dark-mode .date-separator span{background:#36393f}.message-container{display:flex;padding:2px 10px 2px 20px;position:relative;transition:background-color .1s}.message-container:first-of-type{margin-top:10px}.message-container+.message-container:not(.grouped){margin-top:12px}.message-container:hover{background-color:#00000005}body.dark-mode .message-container:hover{background-color:#ffffff05}.message-container.grouped{padding-bottom:2px;padding-left:72px;padding-top:2px}.message-container.highlight{background-color:#5865f233;transition:background-color .5s}.avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2em;font-weight:700;height:40px;justify-content:center;left:20px;margin-right:12px;margin-top:2px;position:absolute;width:40px}.message-container.grouped .avatar{display:none}.message-content{flex-grow:1;min-width:0;padding-left:52px}.message-container.grouped .message-content{padding-left:0}.message-header{align-items:center;display:flex;margin-bottom:2px}.message-header strong{color:#060607;font-size:1em;font-weight:500;margin-right:8px;transition:color .3s ease}body.dark-mode .message-header strong{color:#fff}.message-header .time{color:#72767d;font-size:.75em}.message-body{word-wrap:break-word;line-height:1.375rem;-webkit-user-select:text;user-select:text}.message-body p{margin-block-end:0;margin-block-start:0}.message-body h1{font-size:1.4em;line-height:1.3;margin:4px 0}.message-body h2{font-size:1.25em;line-height:1.3;margin:4px 0}.message-body h3{font-size:1.1em;line-height:1.3;margin:3px 0}.message-body h4,.message-body h5,.message-body h6{font-size:1em;line-height:1.3;margin:2px 0}@media (max-width:767px){.message-body h1{font-size:1.15em}.message-body h2{font-size:1.05em}.message-body h3,.message-body h4,.message-body h5,.message-body h6{font-size:1em}}.message-body a{color:#0068e0;text-decoration:none}.message-body a:hover{text-decoration:underline}body.dark-mode .message-body a{color:#589bff}.message-body a.disabled-chat-link{color:inherit;cursor:default;opacity:.75;pointer-events:none;text-decoration:none}.message-deleted-placeholder{color:#72767d;font-size:.9em;font-style:italic}.message-container.deleted-by-user .message-body{color:#999;text-decoration:line-through}body.dark-mode .message-container.deleted-by-user .message-body{color:#72767d}.message-container.deleted-by-admin{background-color:#ed42450d}body.dark-mode .message-container.deleted-by-admin{background-color:#ed42451a}.message-container.deleted-by-admin .message-body{color:#ed4245;text-decoration:line-through}.message-container.admin-archive-view .message-body{color:inherit!important;opacity:.85;text-decoration:none!important}.message-container.admin-archive-view .message-actions{display:flex!important}body.dark-mode .message-container.admin-archive-view{background-color:#ed424514}.rollback-btn{color:#2dc770!important;font-size:20px!important}.message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.like-btn{align-items:center;background-color:#0000000d;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;padding:2px 8px;transition:background-color .3s ease}body.dark-mode .like-btn{background-color:#2f3136}.like-btn.liked{background-color:#5865f233;border-color:#5865f2}body.dark-mode .like-btn.liked{border-color:#7289da}.like-btn:hover{background-color:#0000001a}.like-count{font-size:.9em;font-weight:500;margin-left:4px}.react-picker-popup{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #80808033;border-radius:12px;box-shadow:0 2px 12px #00000026;display:flex;gap:2px;padding:4px 6px;position:absolute;right:0;top:100%;white-space:nowrap;z-index:101}body.dark-mode .react-picker-popup{background:#2f3136;border-color:#444}.react-picker-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:1.3em;line-height:1;padding:2px 4px;transition:background .15s}.react-picker-btn:hover{background:#0000001a}body.dark-mode .react-picker-btn:hover{background:#ffffff1a}.message-actions{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 5px #0000001a;display:none;position:absolute;right:10px;top:-16px;transition:background-color .3s ease,border-color .3s ease;z-index:10}body.dark-mode .message-actions{background-color:#2f3136;border-color:#222}.message-container:hover .message-actions{display:flex}.action-btn{background:none;border:none;cursor:pointer;font-size:20px;padding:4px 8px;transition:background-color .2s}.action-btn:hover{background-color:#0000001a}body.dark-mode .action-btn:hover{background-color:#ffffff1a}.reply-quote{align-items:center;cursor:pointer;display:flex;margin-bottom:4px;padding:2px 0}.reply-bar{border-left:2px solid #ced4da;border-radius:8px 0 0 0;border-top:2px solid #ced4da;height:12px;margin-right:8px;transition:border-color .3s ease;width:24px}body.dark-mode .reply-bar{border-color:#4f545c}.reply-avatar-sm{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:.7em;font-weight:700;height:16px;justify-content:center;margin-right:4px;width:16px}.reply-quote strong{color:#5865f2;font-size:.9em;margin-right:6px}.reply-text{color:#6a7480;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.dark-mode .reply-text{color:#b9bbbe}.code-block-container{background-color:#f6f8fa;border:1px solid #ccc;border-radius:6px;margin:8px 0;position:relative;transition:background-color .3s ease,border-color .3s ease}body.dark-mode .code-block-container{background-color:#2f3136;border-color:#202225}.code-header{align-items:center;background-color:#e3e5e8;border-bottom:1px solid #ccc;border-top-left-radius:6px;border-top-right-radius:6px;color:#555;display:flex;font-size:.85em;justify-content:space-between;padding:8px 140px 8px 12px;position:sticky;top:0;transition:background-color .3s ease,color .3s ease,border-color .3s ease;z-index:9}body.dark-mode .code-header{background-color:#202225;border-bottom-color:#2f3136;color:#b9bbbe}.code-controls{display:flex;gap:8px;opacity:0;transition:opacity .2s ease-in-out}.code-block-container:hover .code-controls,.code-header:hover .code-controls{opacity:1}@media (max-width:767px){.code-controls{opacity:1}}.code-controls button{background:#fff;border:1px solid #aaa;border-radius:4px;color:#333;cursor:pointer;font-size:.9em;padding:6px 12px;transition:all .2s}body.dark-mode .code-controls button{background:#36393f;border-color:#555;color:#dcddde}.code-controls button:hover{background-color:#5865f2;border-color:#5865f2;color:#fff}.code-content-wrapper{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s ease-out}.code-block-container.collapsed .code-content-wrapper{grid-template-rows:0fr}.code-content-inner{overflow:hidden}.code-block-container pre{border-bottom-left-radius:6px;border-bottom-right-radius:6px;margin:0;overflow-x:auto;padding:10px}.code-block-container.collapsed .code-header{border-bottom:none;border-radius:6px}.message-body code:not(pre code){background-color:#00000014;border-radius:3px;font-family:Consolas,Courier New,monospace;font-size:85%;margin:0;padding:.2em .4em}body.dark-mode .message-body code:not(pre code){background-color:#202225}.input-area-container{position:relative;z-index:100}.format-toolbar{animation:fadeIn .2s ease-out;background-color:#2f3136;border-radius:6px;bottom:100%;box-shadow:0 4px 12px #0000004d;display:flex;gap:8px;left:20px;margin-bottom:8px;padding:6px 10px;position:absolute;z-index:10001}.format-toolbar button{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:4px;color:#dcddde;cursor:pointer;font-size:14px;font-weight:700;min-width:30px;padding:4px 10px}.format-toolbar button:hover{background-color:#5865f2;border-color:#5865f2;color:#fff}.format-toolbar.mobile{background-color:#e3e5e8;border-radius:0;box-shadow:none;justify-content:center;margin-bottom:0;position:static;width:100%}body.dark-mode .format-toolbar.mobile{background-color:#2f3136}.format-toolbar.mobile button{background:none;border:none;color:#4f545c}body.dark-mode .format-toolbar.mobile button{color:#b9bbbe}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}#form{align-items:center;background:#f2f3f5;box-sizing:border-box;display:flex;padding:10px 20px;transition:background-color .3s ease,border-color .3s ease}body.dark-mode #form{background:#40444b;border-top:1px solid #3a3e43}#message{background-color:#ebedef;border:none;border-radius:8px;flex:1 1;font-family:inherit;font-size:1em;line-height:1.4;max-height:200px;min-width:0;overflow-y:auto;padding:10px 14px;resize:none;transition:background-color .3s ease,color .3s ease}body.dark-mode #message{background:#484d54;color:#dcddde}#fileBtn,#send{align-items:center;background-color:#5865f2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1em;height:44px;justify-content:center;margin-left:8px;padding:0;width:44px}@media (max-width:767px){#form{padding:8px 10px}#fileBtn,#send{height:40px;width:40px}}.mobile-format-trigger{align-items:center;background-color:#5865f2;border:none;border-radius:50%;box-shadow:0 2px 6px #0003;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1em;height:44px;justify-content:center;width:44px}#replying-banner{align-items:center;background:#e3e5e8;box-sizing:border-box;color:#333;display:flex;font-size:.9em;justify-content:space-between;padding:8px 12px;transition:background-color .3s ease,color .3s ease}body.dark-mode #replying-banner{background:#2f3136;color:#ddd}#cancel-reply{background:none;border:none;color:#888;cursor:pointer;font-size:20px}body.dark-mode #cancel-reply{color:#bbb}.system{color:#888;font-style:italic;padding:5px 0;text-align:center}#passwordModal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}#passwordModalContent{background:#fff;border-radius:12px;box-shadow:0 0 24px #00000059;max-width:380px;padding:28px 32px;text-align:center;transition:background-color .3s ease;width:calc(100% - 32px)}body.dark-mode #passwordModalContent{background:#2f3136}#passwordModalContent h2{font-size:1.4em;margin-bottom:4px}#passwordModalContent input{background:inherit;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;color:inherit;display:block;font-size:1em;margin:8px 0;padding:10px 12px;width:100%}body.dark-mode #passwordModalContent input{background:#40444b;border-color:#444;color:#fff}#passwordModalContent input:focus{border-color:#5865f2;box-shadow:0 0 0 2px #5865f233;outline:none}#passwordSubmit{background:#5865f2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1em;font-weight:600;margin-top:10px;padding:10px;transition:background .2s;width:100%}#passwordSubmit:hover{background:#4752c4}#passwordSubmit:disabled{cursor:not-allowed;opacity:.6}#passwordError{color:#ed4245;font-size:.85em;margin-top:8px;min-height:20px}.channel-item.private{color:#b8860b}.channel-item.private .channel-hash{opacity:1}body.dark-mode .channel-item.private{color:#f0c040}.channel-item.private.active{background:#b8860bb3;color:#fff}body.dark-mode .channel-item.private.active{background:#f0c0404d;color:#fff}.channel-category-header{cursor:default;font-size:.7rem;font-weight:700;letter-spacing:.07em;list-style:none;opacity:.5;padding:14px 10px 4px;text-transform:uppercase;-webkit-user-select:none;user-select:none}#pc-user-toggle{background-color:#eee;border:1px solid #ccc;border-radius:8px 0 0 8px;border-right:none;cursor:pointer;display:none;padding:10px 5px;position:fixed;right:10px;top:50%;transform:translateY(-50%);transition:background-color .3s ease,border-color .3s ease;z-index:1003}body.dark-mode #pc-user-toggle{background:#333;border-color:#555;color:#fff}#mobile-user-toggle{display:none}@media (min-width:768px){#userListContainer{background:#f2f3f5;border-left:1px solid #ddd;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;height:100dvh;transition:width .2s,border .2s,background-color .3s ease;width:240px;z-index:1001}body.dark-mode #userListContainer{background:#2f3136;border-left-color:#27292d}#userListContainer.collapsed{border-left:1px solid #ddd;cursor:pointer;overflow:hidden;width:28px}body.dark-mode #userListContainer.collapsed{border-left-color:#27292d}#userListContainer.collapsed:hover #toggleUserList{background:#d4d6da}body.dark-mode #userListContainer.collapsed:hover #toggleUserList{background:#3a3d42}#userListContainer.collapsed #toggleUserList{align-items:center;background:#e9e9e9;display:flex;font-size:1.3em;font-weight:700;height:100%;justify-content:center;margin:0;opacity:.75;padding:0;transition:background .15s;width:28px;writing-mode:initial}body.dark-mode #userListContainer.collapsed #toggleUserList{background:#292b2f;color:#fff}#toggleUserList{background:#e9e9e9;color:#333;cursor:pointer;font-weight:700;margin:0;padding:10px;transition:background-color .3s ease,color .3s ease;-webkit-user-select:none;user-select:none}body.dark-mode #toggleUserList{background:#292b2f;color:#fff}#userList{list-style:none;margin:0;overflow-y:auto;padding:4px 8px;white-space:nowrap}#userList li{border-radius:4px;color:#6a7480;margin-bottom:3px;padding:2px 4px}#userList li:hover{background:#0000000f}body.dark-mode #userList li{color:#96989d}body.dark-mode #userList li:hover{background:#ffffff12}#pc-user-toggle.visible{display:block}}@media (max-width:767px){#userListContainer{background:#f9f9f9;border-left:1px solid #ccc;box-shadow:-2px 0 10px #0003;display:flex;flex-direction:column;height:100dvh;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease-in-out;width:200px;z-index:1001}body.dark-mode #userListContainer{background:#222;border-left:1px solid #555}#userListContainer.open{transform:translateX(0)}#toggleUserList{display:block;padding-top:60px;padding-top:calc(var(--controls-height, 52px) + 8px);text-align:center}#mobile-user-toggle{align-items:center;background-color:#fffc;border:1px solid #ccc;border-radius:50%;box-shadow:0 1px 5px #0000001a;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:fixed;right:10px;top:10px;width:40px;z-index:1003}body.dark-mode #mobile-user-toggle{background-color:#1e1e1ecc;border-color:#555}}.upload-progress-container{background-color:#e9ecef;border-top:1px solid #dee2e6;font-size:.9em;padding:8px 12px;transition:background-color .3s ease,border-color .3s ease}body.dark-mode .upload-progress-container{background-color:#343a40;border-top-color:#495057}.upload-progress-text{color:#495057;display:flex;justify-content:space-between;margin-bottom:4px}body.dark-mode .upload-progress-text{color:#adb5bd}.upload-progress-bar-wrapper{background-color:#ced4da;border-radius:3px;height:6px;overflow:hidden;transition:background-color .3s ease;width:100%}body.dark-mode .upload-progress-bar-wrapper{background-color:#495057}.upload-progress-bar{background-color:#007bff;border-radius:3px;height:100%;transition:width .2s ease-in-out}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10050}.modal-content.preview-modal{background:#fff;border-radius:8px;display:flex;flex-direction:column;max-height:90vh;max-width:800px;padding:20px;transition:background-color .3s ease,color .3s ease;width:90%}body.dark-mode .modal-content.preview-modal{background:#36393f;color:#dcddde}.preview-modal h3{margin-bottom:15px;margin-top:0}.preview-grid-container{background:#f9f9f9;border-radius:8px;flex:1 1;margin-bottom:20px;overflow-y:auto;padding:4px;transition:background-color .3s ease}body.dark-mode .preview-grid-container{background:#2f3136}.preview-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.preview-item-wrapper{display:flex;flex-direction:column;gap:5px}.preview-item{align-items:center;aspect-ratio:1;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;display:flex;justify-content:center;overflow:hidden;position:relative;transition:background-color .3s ease,border-color .3s ease}body.dark-mode .preview-item{background:#2f3136;border-color:#40444b}.preview-media{height:100%;object-fit:cover;width:100%}.video-badge{color:#fffc;font-size:2rem;left:50%;pointer-events:none;position:absolute;text-shadow:0 0 10px #00000080;top:50%;transform:translate(-50%,-50%)}.file-placeholder{font-size:.8em;padding:5px;text-align:center;word-break:break-all}.reorder-controls{display:flex;justify-content:space-between}.reorder-controls button{background:#e3e5e8;border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.8em;margin:0 2px;padding:2px 8px;transition:background-color .3s ease}.reorder-controls button:disabled{cursor:default;opacity:.3}body.dark-mode .reorder-controls button{background:#4f545c;color:#dcddde}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:1em;padding:8px 20px}.cancel-btn{background-color:#e3e5e8;color:#4f545c;transition:background-color .3s ease,color .3s ease}body.dark-mode .cancel-btn{background-color:#4f545c;color:#dcddde}.confirm-btn{background-color:#5865f2;color:#fff}.confirm-btn:hover{background-color:#4752c4}.media-bundle-container{margin-top:5px;max-width:260px}.grid-1 .media-item{height:auto;max-height:300px;min-height:0;min-height:auto}.grid-1 .media-thumb{display:block;height:auto;max-height:300px;object-fit:contain;width:100%}@media (max-width:767px){.media-bundle-container{max-width:min(200px,60vw)}.media-item{min-height:70px}.grid-1 .media-item,.grid-1 .media-thumb{max-height:220px}}.media-grid{grid-gap:4px;border-radius:12px;display:grid;gap:4px;overflow:hidden}.grid-1{grid-template-columns:1fr}.grid-2,.grid-3{grid-template-columns:1fr 1fr}.grid-3{grid-template-rows:1fr 1fr}.grid-3 .media-item:first-child{grid-row:span 2}.grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.media-item{background:#000;cursor:pointer;height:100%;min-height:100px;overflow:hidden;position:relative;width:100%}.media-thumb{height:100%;object-fit:cover;transition:transform .2s;width:100%}.media-item:hover .media-thumb{transform:scale(1.05)}.more-overlay{align-items:center;background:#00000080;bottom:0;color:#fff;display:flex;font-size:1.5rem;font-weight:700;justify-content:center;left:0;position:absolute;right:0;top:0}.bundle-actions{margin-top:8px}.bundle-download-all{background:#f2f3f5;border:1px solid #ddd;border-radius:4px;color:#4f545c;cursor:pointer;font-size:.9em;padding:6px;transition:background .2s,background-color .3s ease,border-color .3s ease;width:100%}.bundle-download-all:hover{background:#e3e5e8}body.dark-mode .bundle-download-all{background:#2f3136;border-color:#202225;color:#b9bbbe}body.dark-mode .bundle-download-all:hover{background:#40444b}.lightbox-overlay{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10060}.lightbox-content{align-items:center;display:flex;flex-direction:column;max-height:85vh;max-width:95vw;position:relative}.lightbox-media{border-radius:4px;box-shadow:0 5px 30px #00000080;max-height:75vh;max-width:100%}.lightbox-info{color:#fff;font-size:.9em;margin-top:10px;text-align:center}.lightbox-close{align-items:center;background:#0009;border:2px solid #fff6;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.6rem;height:44px;justify-content:center;line-height:1;position:fixed;right:12px;top:12px;transition:background .2s;width:44px;z-index:10061}.lightbox-close:hover{background:#fff3}.lightbox-download{background:#fff3;border:1px solid #fff6;border-radius:20px;color:#fff;cursor:pointer;margin-top:10px;padding:8px 16px;transition:background .2s}.lightbox-download:hover{background:#ffffff4d}.lightbox-nav{background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;padding:10px 15px;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#000c}.lightbox-nav.prev{left:-60px}.lightbox-nav.next{right:-60px}@media (max-width:768px){.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}}.message-container.mentioned{background-color:#faa61a1a;border-left:2px solid #faa61a;padding-left:18px}body.dark-mode .message-container.mentioned{background-color:#faa61a1a;border-left-color:#faa61a}.message-container.mentioned.grouped{border-left:2px solid #faa61a;padding-left:70px}#chat .mention-chip{background-color:#007bff26;border-radius:3px;color:#007bff!important;cursor:pointer;display:inline-block;font-weight:700;line-height:normal;padding:0 4px;position:relative;text-decoration:none;transition:all .2s ease}#chat .mention-chip.global{background-color:#faa61a26;color:#faa61a!important}body.dark-mode #chat .mention-chip{background-color:#007bff40;color:#58a6ff!important}body.dark-mode #chat .mention-chip.global{background-color:#faa61a40;color:#faa61a!important}#chat .mention-chip:hover{background-color:#007bff;color:#fff!important;text-decoration:underline}#chat .mention-chip.global:hover{background-color:#faa61a;color:#fff!important}.mention-popup{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;bottom:100%;box-shadow:0 4px 15px #0003;display:none;flex-direction:row;gap:8px;left:50%;margin-bottom:6px;padding:6px 10px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.mention-popup:after{border:5px solid #0000;border-top-color:#fff;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}body.dark-mode .mention-popup:after{border-color:#18191c #0000 #0000}body.dark-mode .mention-popup{background-color:#18191c;border-color:#202225;color:#fff}.mention-chip:hover .mention-popup{animation:fadeInTooltip .2s ease-out;display:flex}@keyframes fadeInTooltip{0%{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%)}}.mention-popup-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.mention-popup-name{color:#000;font-size:.95em;font-weight:700}body.dark-mode .mention-popup-name{color:#fff}.mention-autocomplete{background:#fff;border:1px solid #ddd;border-radius:6px;bottom:100%;box-shadow:0 -4px 10px #0000001a;display:flex;flex-direction:column;left:0;margin-bottom:10px;max-height:200px;overflow-y:auto;pointer-events:auto;position:absolute;width:200px;z-index:10002}body.dark-mode .mention-autocomplete{background:#2f3136;border-color:#202225}.mention-item{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.9em;gap:8px;padding:8px 12px}body.dark-mode .mention-item{color:#dcddde}.mention-item.active,.mention-item:hover{background-color:#f2f3f5}body.dark-mode .mention-item.active,body.dark-mode .mention-item:hover{background-color:#40444b}.mention-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:.8em;font-weight:700;height:24px;justify-content:center;width:24px}#channelSidebar{background:#f2f3f5;border-right:1px solid #ddd;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;height:100dvh;min-width:200px;overflow:hidden;padding-top:45px;transition:background-color .3s ease,border-color .3s ease;width:200px}body.dark-mode #channelSidebar{background:#2b2d31;border-right-color:#ffffff12}#channelSidebarHeader{font-size:.72rem;font-weight:700;letter-spacing:.06em;opacity:.5;padding:16px 12px 8px;text-transform:uppercase;-webkit-user-select:none;user-select:none}#channelFilter{padding:4px 8px 6px}#channelFilter input{background:#0000000f;border:1px solid #80808040;border-radius:5px;box-sizing:border-box;color:inherit;font-size:.8rem;outline:none;padding:4px 8px;width:100%}#channelFilter input:focus{border-color:#80808080}body.dark-mode #channelFilter input{background:#ffffff14}.channel-item.announcement .channel-hash{opacity:1}#channelEmpty{font-size:.82rem;line-height:1.6;opacity:.45;padding:12px;white-space:pre-line}#channelList{flex:1 1;list-style:none;margin:0;overflow-y:auto;padding:0 6px}.channel-item{align-items:center;cursor:pointer;display:flex;font-size:.92rem;gap:6px;opacity:.6;padding:6px 8px;transition:background .12s,opacity .12s;-webkit-user-select:none;user-select:none}.channel-item:hover{background:#0000000d;opacity:.9}.channel-item.active{background:#00000014;font-weight:600;opacity:1}body.dark-mode .channel-item:hover{background:#ffffff12}body.dark-mode .channel-item.active{background:#ffffff21}.channel-hash{flex-shrink:0;font-weight:700;opacity:.5}.channel-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-badge{align-items:center;background:#72767d;border-radius:9px;color:#fff;display:flex;flex-shrink:0;font-size:.72rem;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.channel-badge.mention{background:#ed4245}.channel-item.has-unread{font-weight:600;opacity:1}#mobile-channel-toggle{display:none}#channelOverlay{background:#0006;display:none;inset:0;position:fixed;z-index:1003}#channelOverlay.open{display:block}@media (max-width:767px){#channelSidebar{box-shadow:2px 0 12px #00000040;height:100dvh;left:0;padding-top:55px;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease-in-out,background-color .3s ease;width:200px;z-index:1004}#channelSidebar.open{transform:translateX(0)}#mobile-channel-toggle{align-items:center;background-color:#ffffffd9;border:1px solid #ccc;border-radius:50%;box-shadow:0 1px 5px #00000026;color:#4f545c;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;left:10px;position:fixed;top:10px;width:40px;z-index:1005}body.dark-mode #mobile-channel-toggle{background-color:#1e1e1ed9;border-color:#555;color:#dcddde}#controls{-webkit-overflow-scrolling:touch;left:58px;max-width:calc(100vw - 116px);overflow-x:auto;overflow-y:visible;scrollbar-width:none}#controls::-webkit-scrollbar{display:none}#controls .dropbtn,#controls button{flex-shrink:0;font-size:.75em;padding:4px 7px;white-space:nowrap}.admin-mode-badge{font-size:.7rem;height:24px;max-width:78px;overflow:hidden;padding:0 6px;text-overflow:ellipsis}#logoutBtn{margin-left:4px!important}.page-container{--controls-height:52px}.main-content{width:100%}}.link-toast{animation:fadeIn .2s ease-out;background:#000000bf;border-radius:20px;color:#fff;font-size:.85rem;left:50%;margin:0 auto 4px;padding:6px 16px;pointer-events:none;position:sticky;top:8px;transform:translateX(-50%);width:fit-content;z-index:100}.channel-autocomplete{border-left:3px solid #5865f2}.channel-mention-chip{background-color:#5865f226;border-radius:3px;color:#5865f2;cursor:pointer;display:inline-block;font-weight:700;padding:0 4px;transition:all .15s ease}.channel-mention-chip:hover{background-color:#5865f2;color:#fff;text-decoration:underline}body.dark-mode .channel-mention-chip{background-color:#5865f240;color:#7289da}body.dark-mode .channel-mention-chip:hover{background-color:#5865f2;color:#fff}.chat-link-preview{align-items:center;background:#5865f214;border-left:3px solid #5865f2;border-radius:4px;cursor:pointer;display:flex;flex-wrap:wrap;gap:6px;max-width:380px;padding:7px 12px;transition:background .15s}.chat-link-preview:hover{background:#5865f229}body.dark-mode .chat-link-preview{background:#5865f21f}body.dark-mode .chat-link-preview:hover{background:#5865f238}.chat-link-channel{color:#5865f2;flex-shrink:0;font-size:.78rem;font-weight:700}.chat-link-arrow{color:#5865f2;flex-shrink:0;font-size:.9rem}.chat-link-author{flex-shrink:0;font-size:.78rem;font-weight:600;opacity:.7}.chat-link-author:after{content:":"}.chat-link-text{flex:1 1;font-size:.85rem;min-width:0;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.chat-link-preview{max-width:100%}}.edited-label{font-size:.72rem;font-weight:400;margin-left:6px;opacity:.45}.edit-area{background:#f2f3f5;border:1px solid #5865f2;border-radius:6px;margin-top:4px;overflow:hidden}body.dark-mode .edit-area{background:#40444b;border-color:#5865f2}.edit-area .format-toolbar{background:#0000000a;border-bottom:1px solid #5865f233;border-radius:0;box-shadow:none;gap:4px;justify-content:flex-start;margin-bottom:0;padding:3px 6px;position:static;width:100%}body.dark-mode .edit-area .format-toolbar{background:#ffffff0a;border-bottom-color:#5865f24d}.edit-area .format-toolbar button{background:none;border:none;color:#4f545c;font-size:13px;padding:3px 8px}body.dark-mode .edit-area .format-toolbar button{color:#b9bbbe}.edit-area .format-toolbar button:hover{background:#5865f2;border-radius:3px;color:#fff}.edit-textarea{background:#0000;border:none;box-sizing:border-box;color:inherit;display:block;font-family:inherit;font-size:1em;line-height:1.4;min-height:90px;outline:none;padding:8px 10px;resize:vertical;width:100%}body.dark-mode .edit-textarea{color:#dcddde}.edit-actions{align-items:center;display:flex;gap:8px;margin-top:4px;padding:0 2px 4px}.edit-hint{flex:1 1;font-size:.75rem;opacity:.5}.edit-save-btn{background:#5865f2;color:#fff}.edit-cancel-btn,.edit-save-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85em;padding:4px 12px}.edit-cancel-btn{background:#e3e5e8;color:#4f545c}body.dark-mode .edit-cancel-btn{background:#4f545c;color:#dcddde}.read-line{color:#ed4245;font-size:.75rem;font-weight:600;margin:12px 0;position:relative;text-align:center}.read-line:before{border-top:1px solid #ed4245;content:"";left:0;opacity:.4;position:absolute;right:0;top:50%;z-index:0}.read-line span{background:#fff;padding:0 10px;position:relative;z-index:1}body.dark-mode .read-line span{background:#36393f}.user-item{border-radius:4px;cursor:pointer;padding:2px 4px;transition:background .1s}.user-item:hover{background:#5865f226;color:#5865f2}body.dark-mode .user-item:hover{background:#5865f240}.toast-container{bottom:24px;flex-direction:column;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:99999}.toast-container,.toast-item{align-items:center;display:flex;gap:8px}.toast-item{animation:toast-in .2s ease;border-radius:20px;box-shadow:0 4px 16px #0000002e;font-size:.88em;font-weight:500;max-width:calc(100vw - 48px);overflow:hidden;padding:10px 18px;text-overflow:ellipsis;white-space:nowrap}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast-error{background:#ed4245;color:#fff}.toast-success{background:#2dc770;color:#fff}.toast-info{background:#4f545c;color:#fff}body.dark-mode .toast-info{background:#72767d}.toast-icon{flex-shrink:0;font-size:.9em}.confirm-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:99998}.confirm-box{animation:toast-in .15s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000038;max-width:360px;min-width:260px;padding:24px 28px}body.dark-mode .confirm-box{background:#2f3136}.confirm-msg{color:#060607;font-size:.95em;line-height:1.5;margin:0 0 20px;text-align:center}body.dark-mode .confirm-msg{color:#dcddde}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-cancel{background:#eee;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;font-size:.9em;padding:7px 18px}body.dark-mode .confirm-cancel{background:#4f545c;border-color:#555;color:#dcddde}.confirm-ok{background:#ed4245;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;font-weight:500;padding:7px 18px}.confirm-ok:hover{background:#c03537}.sound-volume-row{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:8px;margin-top:2px;padding:6px 12px 10px}body.dark-mode .sound-volume-row{border-top-color:#444}.sound-volume-label{color:#333;flex-shrink:0;font-size:.82em;white-space:nowrap}body.dark-mode .sound-volume-label{color:#dcddde}.sound-volume-slider{accent-color:#5865f2;cursor:pointer;flex:1 1;height:4px;max-width:120px;min-width:80px}.sound-volume-value{color:#5865f2;flex-shrink:0;font-size:.78em;font-weight:600;min-width:30px;text-align:right}body.dark-mode .sound-volume-value{color:#7289da}.load-more-indicator{color:#888;color:var(--color-text-tertiary,#888);font-size:.82em;opacity:.7;padding:10px;text-align:center;-webkit-user-select:none;user-select:none}.load-more-indicator.clickable{cursor:pointer;opacity:.85;transition:opacity .15s}.load-more-indicator.clickable:hover{color:#5865f2;opacity:1}body.dark-mode .load-more-indicator{color:#aaa}.link-preview-card{background:#f2f3f5;border-left:4px solid #5865f2;border-radius:4px;color:inherit;display:block;margin-top:6px;max-width:440px;overflow:hidden;text-decoration:none;transition:background .15s}.link-preview-card:hover{background:#e8eaed}body.dark-mode .link-preview-card{background:#2f3136}body.dark-mode .link-preview-card:hover{background:#36393f}.link-preview-body{padding:10px 12px}.link-preview-site{align-items:center;color:#5865f2;display:flex;font-size:.75em;font-weight:600;gap:5px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.dark-mode .link-preview-site{color:#7289da}.link-preview-favicon{flex-shrink:0;height:14px;object-fit:contain;width:14px}.link-preview-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#060607;display:-webkit-box;font-size:.88em;font-weight:700;margin-bottom:3px;overflow:hidden}body.dark-mode .link-preview-title{color:#fff}.link-preview-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#4f5660;display:-webkit-box;font-size:.8em;margin-bottom:6px;overflow:hidden}body.dark-mode .link-preview-desc{color:#8e9297}.link-preview-image-wrapper{border-radius:3px;margin-top:8px;max-height:200px;overflow:hidden}.link-preview-image{display:block;max-height:200px;object-fit:cover;width:100%}body.dark-mode .search-panel{background:#2f3136!important;border-left-color:#27292d!important}body.dark-mode .search-panel-header{border-bottom-color:#40444b!important}body.dark-mode .search-panel input{background:#40444b!important;border-color:#555!important;color:#dcddde!important}body.dark-mode .search-panel input::placeholder{color:#72767d}body.dark-mode .search-panel-close-btn{background:#4f545c!important;color:#dcddde!important}body.dark-mode .search-panel-item{border-bottom-color:#40444b!important}body.dark-mode .search-panel-item:hover{background:#ffffff0a}body.dark-mode .search-panel-empty,body.dark-mode .search-panel-meta{color:#72767d!important}.typing-indicator{background-color:#fff;bottom:-10px;color:#888;font-size:.8em;font-style:italic;font-weight:500;left:0;margin-left:-10px;margin-right:-10px;padding:6px 16px 12px;pointer-events:none;position:sticky;transition:background-color .3s ease;z-index:50}body.dark-mode .typing-indicator{background-color:#36393f;color:#aaa}:root{--discord-bg-base:#f2f3f5;--discord-bg-chat:#fff;--discord-bg-panel:#f2f3f5;--discord-bg-panel-dark:#e3e5e8;--discord-bg-hover:#e9eaed;--discord-bg-active:#dfe1e5;--discord-border:#d6d9de;--discord-text:#1f2328;--discord-muted:#5f6670;--discord-brand:#5865f2}body.dark-mode{--discord-bg-base:#313338;--discord-bg-chat:#313338;--discord-bg-panel:#2b2d31;--discord-bg-panel-dark:#232428;--discord-bg-hover:#35373c;--discord-bg-active:#404249;--discord-border:#1f2023;--discord-text:#dbdee1;--discord-muted:#949ba4;color:#1f2328;color:var(--discord-text)}.page-container,body.dark-mode{background:#f2f3f5;background:var(--discord-bg-base)}.page-container.resizing,body.is-panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.panel-resizer{background:#0000;cursor:col-resize;flex:0 0 5px;height:100dvh;position:relative;width:5px;z-index:900}.panel-resizer:after{background:#ffffff0f;bottom:0;content:"";left:2px;position:absolute;top:50px;top:var(--controls-height,50px);transition:background .12s,width .12s,left .12s;width:1px}.page-container.resizing .panel-resizer:after,.panel-resizer:hover:after{background:#5865f2;background:var(--discord-brand);left:1px;width:3px}@media (max-width:767px){.panel-resizer{display:none}}body.dark-mode #channelSidebar,body.dark-mode #userListContainer{background:#f2f3f5;background:var(--discord-bg-panel);border-color:#d6d9de;border-color:var(--discord-border)}#channelSidebar{min-width:240px;padding-top:50px;padding-top:var(--controls-height,50px);width:240px}#channelSidebarHeader{color:#5f6670;color:var(--discord-muted);letter-spacing:0;opacity:1;padding:14px 12px 8px}#channelFilter{padding:0 10px 10px}#channelFilter input{background:#fff;border:0;border-radius:4px;color:#1f2328;color:var(--discord-text);font-size:.86rem;height:32px}body.dark-mode #channelFilter input{background:#1e1f22}#channelList{padding:0 8px 12px}.channel-category-header{letter-spacing:0;padding:18px 8px 6px}.channel-category-header,.channel-item{color:#5f6670;color:var(--discord-muted);opacity:1}.channel-item{border-radius:4px;font-weight:500;min-height:32px;padding:5px 8px}.channel-item.private,body.dark-mode .channel-item.private{color:#5f6670;color:var(--discord-muted)}.channel-item.private .channel-name{font-weight:500}.channel-item:hover,body.dark-mode .channel-item:hover{background:#e9eaed;background:var(--discord-bg-hover);color:#1f2328;color:var(--discord-text);opacity:1}.channel-item.active,.channel-item.private.active{background:#dfe1e5;background:var(--discord-bg-active);color:#1f2328;color:var(--discord-text);font-weight:600}.channel-item.has-unread,body.dark-mode .channel-item.active,body.dark-mode .channel-item.private.active{color:#fff}.channel-hash{opacity:.72;text-align:center;width:18px}.main-content{min-width:320px}.main-content,.main-content>header{background:#fff;background:var(--discord-bg-chat)}.main-content>header{border-bottom:1px solid #d6d9de;border-bottom:1px solid var(--discord-border);box-shadow:0 1px 0 #fff9;min-height:48px}.main-content>header h2{color:#1f2328;color:var(--discord-text);font-size:1rem;font-weight:700;margin:0!important;padding:14px 18px 12px;text-align:left!important}#chat{padding:10px 0 12px}#chat,body.dark-mode #chat{background:#fff;background:var(--discord-bg-chat)}.message-container{padding-left:18px;padding-right:16px}.message-container.grouped{padding-left:70px}.message-container:hover,body.dark-mode .message-container:hover{background:#e9eaed;background:var(--discord-bg-hover)}#pinned,.message-body,.message-header .time,.message-header strong,body.dark-mode .message-body,body.dark-mode .message-header strong{color:#1f2328;color:var(--discord-text)}#pinned{background:#fff8df;border-bottom:1px solid #d6d9de;border-bottom:1px solid var(--discord-border);padding:8px 18px}body.dark-mode #pinned{background:#232428f5;border-bottom-color:#0000004d}#form{padding:12px 18px 18px}#form,body.dark-mode #form{background:#fff;background:var(--discord-bg-chat)}body.dark-mode #form{border-top:0}#message,body.dark-mode #message{background:#f0f2f5;border-radius:8px;color:#1f2328;color:var(--discord-text)}body.dark-mode #message{background:#383a40}#message::placeholder{color:#5f6670;color:var(--discord-muted)}@media (min-width:768px){#userListContainer{background:#f2f3f5;background:var(--discord-bg-panel);border-left:1px solid #d6d9de;border-left:1px solid var(--discord-border);transition:background-color .2s ease,width .04s linear;width:260px}#userListContainer.collapsed{background:#e3e5e8;background:var(--discord-bg-panel-dark);border-left:0;width:32px}#userListContainer.collapsed #toggleUserList{width:32px}#toggleUserList,#userListContainer.collapsed #toggleUserList{background:#e3e5e8;background:var(--discord-bg-panel-dark);color:#5f6670;color:var(--discord-muted)}#toggleUserList{border-bottom:1px solid #d6d9de;border-bottom:1px solid var(--discord-border);padding:8px 10px;text-align:right}#toggleUserList:hover{color:#fff}.member-panel-title{border-bottom:1px solid #0003;padding:14px 14px 8px}.member-panel-channel{color:#1f2328;color:var(--discord-text);display:block;font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-panel-count{color:#5f6670;color:var(--discord-muted);display:block;font-size:.74rem;margin-top:3px}#userList{padding:4px 8px 8px!important}#userList li,.user-item{border-radius:4px;color:#5f6670!important;color:var(--discord-muted)!important;font-weight:500;min-height:32px;padding:5px 8px!important}#userList li:hover,.user-item:hover,body.dark-mode #userList li:hover{background:#e9eaed;background:var(--discord-bg-hover);color:#1f2328!important;color:var(--discord-text)!important}#systemMessageList,#userListHeader,.user-list-header{display:none}}
/*# sourceMappingURL=main.ac206802.css.map*/