.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"\2022"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"\2611"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"\2610"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}:root{--accent-rgb: 124, 108, 252;--accent: #7c6cfc;--accent-hover: #8f82fd;--accent-soft: rgba(124, 108, 252, .12);--accent-soft-hover: rgba(124, 108, 252, .2);--accent-glow: rgba(124, 108, 252, .25);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--success: #22d3a0;--success-soft: rgba(34, 211, 160, .12);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .12);--info: #3b82f6;--info-soft: rgba(59, 130, 246, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 50%;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 260px;--thread-width: 340px;--header-height: 56px;--composer-min-height: 100px;--body-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-font: "Plus Jakarta Sans", "Inter", sans-serif;--code-font: "JetBrains Mono", "Fira Code", Consolas, monospace}body.midnight-theme{--bg-deepest: #0f1117;--bg-sidebar: rgba(18, 20, 30, .94);--bg-main: #0f1117;--bg-surface: var(--card-bg);--bg-elevated: var(--elevated-bg);--bg-hover: var(--hover-bg);--bg-active: var(--active-bg);--bg-primary: var(--sidebar-bg);--bg-secondary: var(--card-bg);--sidebar-bg: rgba(18, 20, 30, .94);--sidebar-glass: rgba(18, 20, 30, .6);--content-bg: #0f1117;--card-bg: rgba(26, 28, 42, .85);--card-border: rgba(255, 255, 255, .06);--elevated-bg: #1b1d2e;--elevated-border: rgba(255, 255, 255, .08);--hover-bg: rgba(255, 255, 255, .04);--active-bg: rgba(124, 108, 252, .15);--glass-bg: rgba(26, 28, 42, .6);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(16px);--text-primary: #e8eaf0;--text-secondary: #9298b0;--text-muted: #5c6380;--text-inverse: #0f1117;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--border-accent: rgba(124, 108, 252, .4);--accent: #7c6cfc;--accent-rgb: 124, 108, 252;--accent-hover: #8f82fd;--accent-soft: rgba(124, 108, 252, .12);--accent-soft-hover: rgba(124, 108, 252, .2);--accent-glow: rgba(124, 108, 252, .25);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--accent-gradient: linear-gradient(135deg, #7c6cfc, #5b8def);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .25);--shadow-md: 0 6px 20px rgba(0, 0, 0, .35);--shadow-lg: 0 15px 45px rgba(0, 0, 0, .45);--shadow-glow: 0 0 20px rgba(124, 108, 252, .2);--shadow-card: 0 4px 16px rgba(0, 0, 0, .3);--shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .4);--heading-font: "Plus Jakarta Sans", "Inter", sans-serif}body.obsidian-theme{--bg-deepest: #000000;--bg-sidebar: rgba(0, 0, 0, .96);--bg-main: #000000;--bg-surface: var(--card-bg);--bg-elevated: var(--elevated-bg);--bg-hover: var(--hover-bg);--bg-active: var(--active-bg);--bg-primary: var(--sidebar-bg);--bg-secondary: var(--card-bg);--sidebar-bg: rgba(0, 0, 0, .96);--sidebar-glass: rgba(0, 0, 0, .7);--content-bg: #000000;--card-bg: rgba(8, 8, 10, .9);--card-border: rgba(255, 255, 255, .05);--elevated-bg: #0a0a0a;--elevated-border: rgba(255, 255, 255, .07);--hover-bg: rgba(255, 255, 255, .03);--active-bg: rgba(34, 211, 160, .15);--glass-bg: rgba(0, 0, 0, .7);--glass-border: rgba(255, 255, 255, .06);--glass-blur: blur(16px);--text-primary: #f0f2f5;--text-secondary: #a0a4b0;--text-muted: #5a5e6a;--text-inverse: #000000;--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--border-accent: rgba(34, 211, 160, .4);--accent: #22d3a0;--accent-rgb: 34, 211, 160;--accent-hover: #34d399;--accent-soft: rgba(34, 211, 160, .12);--accent-soft-hover: rgba(34, 211, 160, .2);--accent-glow: rgba(34, 211, 160, .25);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--accent-gradient: linear-gradient(135deg, #22d3a0, #06b6d4);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .4);--shadow-md: 0 6px 20px rgba(0, 0, 0, .55);--shadow-lg: 0 15px 45px rgba(0, 0, 0, .65);--shadow-glow: 0 0 20px rgba(34, 211, 160, .2);--shadow-card: 0 4px 16px rgba(0, 0, 0, .5);--shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .6);--heading-font: "Space Grotesk", "Inter", sans-serif}body.twilight-theme{--bg-deepest: #160c12;--bg-sidebar: rgba(22, 12, 18, .94);--bg-main: #160c12;--bg-surface: var(--card-bg);--bg-elevated: var(--elevated-bg);--bg-hover: var(--hover-bg);--bg-active: var(--active-bg);--bg-primary: var(--sidebar-bg);--bg-secondary: var(--card-bg);--sidebar-bg: rgba(22, 12, 18, .94);--sidebar-glass: rgba(22, 12, 18, .6);--content-bg: #160c12;--card-bg: rgba(30, 16, 24, .85);--card-border: rgba(255, 255, 255, .06);--elevated-bg: #22141c;--elevated-border: rgba(255, 255, 255, .08);--hover-bg: rgba(255, 255, 255, .04);--active-bg: rgba(251, 113, 133, .15);--glass-bg: rgba(30, 16, 24, .6);--glass-border: rgba(255, 255, 255, .07);--glass-blur: blur(16px);--text-primary: #f0e4e6;--text-secondary: #c4a8ae;--text-muted: #8a6a72;--text-inverse: #160c12;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .14);--border-accent: rgba(251, 113, 133, .4);--accent: #fb7185;--accent-rgb: 251, 113, 133;--accent-hover: #fda4af;--accent-soft: rgba(251, 113, 133, .12);--accent-soft-hover: rgba(251, 113, 133, .2);--accent-glow: rgba(251, 113, 133, .25);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--accent-gradient: linear-gradient(135deg, #fb7185, #f97316);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .25);--shadow-md: 0 6px 20px rgba(0, 0, 0, .35);--shadow-lg: 0 15px 45px rgba(0, 0, 0, .45);--shadow-glow: 0 0 20px rgba(251, 113, 133, .2);--shadow-card: 0 4px 16px rgba(0, 0, 0, .3);--shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .4);--heading-font: "Plus Jakarta Sans", "Inter", sans-serif}body.nord-theme{--bg-deepest: #242933;--bg-sidebar: rgba(36, 41, 51, .94);--bg-main: #242933;--bg-surface: var(--card-bg);--bg-elevated: var(--elevated-bg);--bg-hover: var(--hover-bg);--bg-active: var(--active-bg);--bg-primary: var(--sidebar-bg);--bg-secondary: var(--card-bg);--sidebar-bg: rgba(36, 41, 51, .94);--sidebar-glass: rgba(36, 41, 51, .6);--content-bg: #242933;--card-bg: rgba(46, 52, 64, .85);--card-border: rgba(255, 255, 255, .06);--elevated-bg: #363e4e;--elevated-border: rgba(255, 255, 255, .08);--hover-bg: rgba(255, 255, 255, .04);--active-bg: rgba(136, 192, 208, .15);--glass-bg: rgba(46, 52, 64, .6);--glass-border: rgba(255, 255, 255, .07);--glass-blur: blur(16px);--text-primary: #e5e9f0;--text-secondary: #b0b8c8;--text-muted: #737c96;--text-inverse: #242933;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .14);--border-accent: rgba(136, 192, 208, .4);--accent: #88c0d0;--accent-rgb: 136, 192, 208;--accent-hover: #8fbcbb;--accent-soft: rgba(136, 192, 208, .12);--accent-soft-hover: rgba(136, 192, 208, .2);--accent-glow: rgba(136, 192, 208, .25);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--accent-gradient: linear-gradient(135deg, #88c0d0, #81a1c1);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .2);--shadow-md: 0 6px 20px rgba(0, 0, 0, .3);--shadow-lg: 0 15px 45px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(136, 192, 208, .2);--shadow-card: 0 4px 16px rgba(0, 0, 0, .25);--shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .35);--heading-font: "Inter Tight", "Inter", sans-serif}body.crystal-theme{--bg-deepest: #f4f6fb;--bg-sidebar: rgba(255, 255, 255, .92);--bg-main: #f4f6fb;--bg-surface: var(--card-bg);--bg-elevated: var(--elevated-bg);--bg-hover: var(--hover-bg);--bg-active: var(--active-bg);--bg-primary: var(--sidebar-bg);--bg-secondary: var(--card-bg);--sidebar-bg: rgba(255, 255, 255, .92);--sidebar-glass: rgba(255, 255, 255, .7);--content-bg: #f4f6fb;--card-bg: rgba(255, 255, 255, .9);--card-border: rgba(0, 0, 0, .04);--elevated-bg: #ffffff;--elevated-border: rgba(0, 0, 0, .06);--hover-bg: rgba(0, 0, 0, .03);--active-bg: rgba(79, 70, 229, .1);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .06);--glass-blur: blur(16px);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #ffffff;--border: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .12);--border-accent: rgba(79, 70, 229, .35);--accent: #4f46e5;--accent-rgb: 79, 70, 229;--accent-hover: #6366f1;--accent-soft: rgba(79, 70, 229, .08);--accent-soft-hover: rgba(79, 70, 229, .14);--accent-glow: rgba(79, 70, 229, .15);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--accent-gradient: linear-gradient(135deg, #4f46e5, #6366f1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(0, 0, 0, .07);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(79, 70, 229, .12);--shadow-card: 0 2px 10px rgba(0, 0, 0, .05);--shadow-card-hover: 0 6px 24px rgba(0, 0, 0, .08);--heading-font: "Plus Jakarta Sans", "Inter", sans-serif}body.warm-theme{--bg-deepest: #f5ede5;--bg-sidebar: rgba(250, 242, 235, .92);--bg-main: #f5ede5;--bg-surface: var(--card-bg);--bg-elevated: var(--elevated-bg);--bg-hover: var(--hover-bg);--bg-active: var(--active-bg);--bg-primary: var(--sidebar-bg);--bg-secondary: var(--card-bg);--sidebar-bg: rgba(250, 242, 235, .92);--sidebar-glass: rgba(250, 242, 235, .7);--content-bg: #f5ede5;--card-bg: rgba(255, 248, 242, .92);--card-border: rgba(0, 0, 0, .04);--elevated-bg: #fff8f0;--elevated-border: rgba(0, 0, 0, .06);--hover-bg: rgba(0, 0, 0, .03);--active-bg: rgba(194, 65, 12, .1);--glass-bg: rgba(255, 248, 242, .7);--glass-border: rgba(0, 0, 0, .05);--glass-blur: blur(16px);--text-primary: #292524;--text-secondary: #57534e;--text-muted: #a8a29e;--text-inverse: #ffffff;--border: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .12);--border-accent: rgba(194, 65, 12, .35);--accent: #c2410c;--accent-rgb: 194, 65, 12;--accent-hover: #ea580c;--accent-soft: rgba(194, 65, 12, .08);--accent-soft-hover: rgba(194, 65, 12, .14);--accent-glow: rgba(194, 65, 12, .15);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--accent-gradient: linear-gradient(135deg, #c2410c, #ea580c);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(0, 0, 0, .07);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(194, 65, 12, .12);--shadow-card: 0 2px 10px rgba(0, 0, 0, .05);--shadow-card-hover: 0 6px 24px rgba(0, 0, 0, .08);--heading-font: "DM Serif Display", "Georgia", serif}body.mocha-theme{--bg-deepest: #f0e8da;--bg-sidebar: rgba(248, 241, 232, .92);--bg-main: #f0e8da;--bg-surface: var(--card-bg);--bg-elevated: var(--elevated-bg);--bg-hover: var(--hover-bg);--bg-active: var(--active-bg);--bg-primary: var(--sidebar-bg);--bg-secondary: var(--card-bg);--sidebar-bg: rgba(248, 241, 232, .92);--sidebar-glass: rgba(248, 241, 232, .7);--content-bg: #f0e8da;--card-bg: rgba(252, 248, 242, .92);--card-border: rgba(0, 0, 0, .04);--elevated-bg: #fcf8f2;--elevated-border: rgba(0, 0, 0, .06);--hover-bg: rgba(0, 0, 0, .03);--active-bg: rgba(184, 134, 11, .1);--glass-bg: rgba(252, 248, 242, .7);--glass-border: rgba(0, 0, 0, .05);--glass-blur: blur(16px);--text-primary: #1c1917;--text-secondary: #57534e;--text-muted: #a8a29e;--text-inverse: #ffffff;--border: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .12);--border-accent: rgba(184, 134, 11, .35);--accent: #b8860b;--accent-rgb: 184, 134, 11;--accent-hover: #d4a017;--accent-soft: rgba(184, 134, 11, .08);--accent-soft-hover: rgba(184, 134, 11, .14);--accent-glow: rgba(184, 134, 11, .15);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--accent-gradient: linear-gradient(135deg, #b8860b, #d4a017);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 14px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(184, 134, 11, .12);--shadow-card: 0 2px 10px rgba(0, 0, 0, .06);--shadow-card-hover: 0 6px 24px rgba(0, 0, 0, .1);--heading-font: "Instrument Serif", "Georgia", serif}body.mint-theme{--bg-deepest: #ecfdf5;--bg-sidebar: rgba(255, 255, 255, .92);--bg-main: #ecfdf5;--bg-surface: var(--card-bg);--bg-elevated: var(--elevated-bg);--bg-hover: var(--hover-bg);--bg-active: var(--active-bg);--bg-primary: var(--sidebar-bg);--bg-secondary: var(--card-bg);--sidebar-bg: rgba(255, 255, 255, .92);--sidebar-glass: rgba(255, 255, 255, .7);--content-bg: #ecfdf5;--card-bg: rgba(255, 255, 255, .92);--card-border: rgba(0, 0, 0, .04);--elevated-bg: #ffffff;--elevated-border: rgba(0, 0, 0, .06);--hover-bg: rgba(0, 0, 0, .03);--active-bg: rgba(13, 148, 136, .1);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .05);--glass-blur: blur(16px);--text-primary: #134e4a;--text-secondary: #3b6b66;--text-muted: #7aa8a0;--text-inverse: #ffffff;--border: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .12);--border-accent: rgba(13, 148, 136, .35);--accent: #0d9488;--accent-rgb: 13, 148, 136;--accent-hover: #14b8a6;--accent-soft: rgba(13, 148, 136, .08);--accent-soft-hover: rgba(13, 148, 136, .14);--accent-glow: rgba(13, 148, 136, .15);--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-hover));--accent-gradient: linear-gradient(135deg, #0d9488, #14b8a6);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .09);--shadow-glow: 0 0 20px rgba(13, 148, 136, .12);--shadow-card: 0 2px 10px rgba(0, 0, 0, .04);--shadow-card-hover: 0 6px 24px rgba(0, 0, 0, .07);--heading-font: "Plus Jakarta Sans", "Inter", sans-serif}body.high-contrast-theme{--bg-deepest: #000000;--bg-sidebar: #0a0a0a;--bg-main: #000000;--bg-surface: #111111;--bg-elevated: #1a1a1a;--bg-hover: #1a1a1a;--bg-active: #222222;--bg-primary: #0a0a0a;--bg-secondary: #111111;--sidebar-bg: #0a0a0a;--sidebar-glass: #0a0a0a;--content-bg: #000000;--card-bg: #111111;--card-border: rgba(255, 255, 255, .1);--elevated-bg: #1a1a1a;--elevated-border: rgba(255, 255, 255, .12);--hover-bg: #1a1a1a;--active-bg: rgba(255, 215, 0, .12);--glass-bg: #111111;--glass-border: rgba(255, 255, 255, .1);--glass-blur: none;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #888888;--text-inverse: #000000;--border: rgba(255, 255, 255, .12);--border-hover: rgba(255, 255, 255, .25);--border-accent: rgba(255, 215, 0, .5);--accent: #ffd700;--accent-rgb: 255, 215, 0;--accent-hover: #ffe44d;--accent-soft: rgba(255, 215, 0, .15);--accent-soft-hover: rgba(255, 215, 0, .25);--accent-glow: rgba(255, 215, 0, .3);--accent-gradient: linear-gradient(135deg, #ffd700, #ffb300);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .5);--shadow-md: 0 6px 20px rgba(0, 0, 0, .6);--shadow-lg: 0 15px 45px rgba(0, 0, 0, .7);--shadow-glow: 0 0 20px rgba(255, 215, 0, .25);--shadow-card: 0 4px 16px rgba(0, 0, 0, .5);--shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .6);--heading-font: "Inter", sans-serif}body.aura-theme{--bg-deepest: #0f0a1a;--bg-sidebar: rgba(16, 10, 30, .94);--bg-main: #0f0a1a;--bg-surface: rgba(26, 18, 46, .85);--bg-elevated: #1f1638;--bg-hover: rgba(255, 255, 255, .04);--bg-active: rgba(192, 132, 252, .15);--bg-primary: rgba(16, 10, 30, .94);--bg-secondary: rgba(26, 18, 46, .85);--sidebar-bg: rgba(16, 10, 30, .94);--sidebar-glass: rgba(16, 10, 30, .6);--content-bg: #0f0a1a;--card-bg: rgba(26, 18, 46, .85);--card-border: rgba(255, 255, 255, .06);--elevated-bg: #1f1638;--elevated-border: rgba(255, 255, 255, .08);--hover-bg: rgba(255, 255, 255, .04);--active-bg: rgba(192, 132, 252, .15);--glass-bg: rgba(26, 18, 46, .6);--glass-border: rgba(255, 255, 255, .07);--glass-blur: blur(16px);--text-primary: #e8e0f0;--text-secondary: #b8a8d0;--text-muted: #7860a0;--text-inverse: #0f0a1a;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .14);--border-accent: rgba(192, 132, 252, .4);--accent: #c084fc;--accent-rgb: 192, 132, 252;--accent-hover: #d4a0ff;--accent-soft: rgba(192, 132, 252, .12);--accent-soft-hover: rgba(192, 132, 252, .2);--accent-glow: rgba(192, 132, 252, .25);--accent-gradient: linear-gradient(135deg, #c084fc, #818cf8);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 15px 45px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(192, 132, 252, .25);--shadow-card: 0 4px 16px rgba(0, 0, 0, .35);--shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .45);--heading-font: "Plus Jakarta Sans", "Inter", sans-serif}body.stone-theme{--bg-deepest: #f1f5f9;--bg-sidebar: rgba(248, 250, 252, .92);--bg-main: #f1f5f9;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-hover: rgba(0, 0, 0, .03);--bg-active: rgba(100, 116, 139, .1);--bg-primary: rgba(248, 250, 252, .92);--bg-secondary: #ffffff;--sidebar-bg: rgba(248, 250, 252, .92);--sidebar-glass: rgba(255, 255, 255, .7);--content-bg: #f1f5f9;--card-bg: #ffffff;--card-border: rgba(0, 0, 0, .04);--elevated-bg: #ffffff;--elevated-border: rgba(0, 0, 0, .06);--hover-bg: rgba(0, 0, 0, .03);--active-bg: rgba(100, 116, 139, .1);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .05);--glass-blur: blur(16px);--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #ffffff;--border: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .12);--border-accent: rgba(100, 116, 139, .35);--accent: #64748b;--accent-rgb: 100, 116, 139;--accent-hover: #475569;--accent-soft: rgba(100, 116, 139, .08);--accent-soft-hover: rgba(100, 116, 139, .14);--accent-glow: rgba(100, 116, 139, .15);--accent-gradient: linear-gradient(135deg, #64748b, #475569);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .09);--shadow-glow: 0 0 20px rgba(100, 116, 139, .12);--shadow-card: 0 2px 10px rgba(0, 0, 0, .04);--shadow-card-hover: 0 6px 24px rgba(0, 0, 0, .07);--heading-font: "Inter Tight", "Inter", sans-serif}body.paper-theme{--bg-deepest: #f5f0eb;--bg-sidebar: rgba(250, 245, 240, .92);--bg-main: #f5f0eb;--bg-surface: #fffcf7;--bg-elevated: #fffcf7;--bg-hover: rgba(0, 0, 0, .03);--bg-active: rgba(139, 105, 20, .1);--bg-primary: rgba(250, 245, 240, .92);--bg-secondary: #fffcf7;--sidebar-bg: rgba(250, 245, 240, .92);--sidebar-glass: rgba(255, 252, 247, .7);--content-bg: #f5f0eb;--card-bg: #fffcf7;--card-border: rgba(0, 0, 0, .04);--elevated-bg: #fffcf7;--elevated-border: rgba(0, 0, 0, .06);--hover-bg: rgba(0, 0, 0, .03);--active-bg: rgba(139, 105, 20, .1);--glass-bg: rgba(255, 252, 247, .7);--glass-border: rgba(0, 0, 0, .05);--glass-blur: blur(16px);--text-primary: #2d2a26;--text-secondary: #6b5e53;--text-muted: #a09080;--text-inverse: #ffffff;--border: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .12);--border-accent: rgba(139, 105, 20, .35);--accent: #8b6914;--accent-rgb: 139, 105, 20;--accent-hover: #a07d1e;--accent-soft: rgba(139, 105, 20, .08);--accent-soft-hover: rgba(139, 105, 20, .14);--accent-glow: rgba(139, 105, 20, .15);--accent-gradient: linear-gradient(135deg, #8b6914, #a07d1e);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(0, 0, 0, .07);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(139, 105, 20, .12);--shadow-card: 0 2px 10px rgba(0, 0, 0, .05);--shadow-card-hover: 0 6px 24px rgba(0, 0, 0, .08);--heading-font: "DM Serif Display", "Georgia", serif}body{transition:background-color .3s ease,color .3s ease}.sidebar,.main-content,.thread-panel,.composer,.modal,.channel-header,.sidebar-header,.sidebar-section,.channel-item,.message,.composer-wrapper,.toast,.sb-modal,.theme-modal,.login-card{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}@media(prefers-reduced-motion:reduce){body,.sidebar,.main-content,.thread-panel,.composer,.modal,.channel-header,.sidebar-header,.channel-item,.message,.composer-wrapper{transition:none!important}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-deepest);color:var(--text-primary);overflow:hidden;position:fixed;inset:0;width:100%;height:100vh;height:-webkit-fill-available;height:100dvh;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-soft);color:var(--text-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.hidden{display:none!important}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.markdown-content,.message-text,.markdown-preview-container{line-height:1.5;word-break:break-word;color:var(--text-primary)}.markdown-content p,.message-text p,.markdown-preview-container p{margin:0 0 10px}.markdown-content h1,.markdown-content h2,.markdown-content h3,.message-text h1,.message-text h2,.message-text h3,.markdown-preview-container h1,.markdown-preview-container h2,.markdown-preview-container h3{margin:18px 0 10px;color:var(--text-primary);font-weight:700}.markdown-content h1,.message-text h1,.markdown-preview-container h1{font-size:1.5rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:6px}.markdown-content h2,.message-text h2,.markdown-preview-container h2{font-size:1.25rem}.markdown-content h3,.message-text h3,.markdown-preview-container h3{font-size:1.1rem}.markdown-content ul,.markdown-content ol,.message-text ul,.message-text ol,.markdown-preview-container ul,.markdown-preview-container ol{margin:12px 0 12px 24px;padding:0}.markdown-content li,.message-text li,.markdown-preview-container li{margin-bottom:4px}.markdown-content code:not(.shiki),.message-text code:not(.shiki),.markdown-preview-container code:not(.shiki){font-family:JetBrains Mono,Consolas,Courier New,monospace;background:#ffffff0d;color:#c77200;padding:2px 6px;border-radius:4px;font-size:.9em}.markdown-content pre:not(.shiki),.message-text pre:not(.shiki),.markdown-preview-container pre:not(.shiki){background:#0f172a;border:1px solid #334155;border-radius:8px;padding:14px;margin:16px 0;overflow-x:auto}.message-text blockquote,.markdown-preview-container blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);padding:8px 16px;margin:12px 0;border-radius:0 6px 6px 0}pre.shiki{background:#0d1117!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px!important;padding:16px!important;margin:16px 0!important;overflow-x:auto!important;white-space:pre!important}pre.shiki code,pre.shiki span{background:transparent!important}.hljs{display:block;overflow-x:auto;padding:10px 12px;background:transparent;color:#e6eef6}.hljs-comment,.hljs-quote{color:#8b99a6;font-style:italic}.hljs-keyword,.hljs-selector-tag{color:#ffb86b;font-weight:600}.hljs-number,.hljs-literal,.hljs-variable,.hljs-attr{color:#ff9ec3}.hljs-string,.hljs-doctag{color:#a7f3d0}.hljs-title,.hljs-section,.hljs-name{color:#9be7ff;font-weight:700}.hljs-deletion{background:#ff00001a}.hljs-addition{background:#00ff881a}@keyframes dropBounce{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;background:var(--accent-gradient);color:#fff;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 1px 2px #0000001a,inset 0 1px #ffffff1a,var(--shadow-glow)}.btn-primary:hover{background:var(--accent-gradient);filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 3px 6px #00000026,inset 0 1px #fff3,0 0 28px #7c6cfc4d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-deepest);background-image:radial-gradient(ellipse at 20% 50%,rgba(124,108,252,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(37,99,235,.06) 0%,transparent 50%)}.login-card{width:100%;max-width:380px;padding:40px 36px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg),0 0 40px #00000026;animation:scaleIn .5s cubic-bezier(.16,1,.3,1)}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{display:inline-flex;margin-bottom:16px}.login-logo h1{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--info));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{color:var(--text-muted);font-size:.85rem;margin-top:6px}.login-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input{padding:11px 14px;background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:.95rem;outline:none;transition:all var(--transition-fast);box-shadow:inset 0 1px 3px #00000026}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-error{color:var(--danger);font-size:.82rem;text-align:center;padding:8px;background:#f8717114;border-radius:var(--radius-sm)}.app{display:flex;min-height:100vh;min-height:-webkit-fill-available;height:100%;overflow:hidden}html.keyboard-open .app{height:var(--app-height, 100%);min-height:unset}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:all var(--transition-base);overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);height:100%;box-shadow:1px 0 #ffffff05;backdrop-filter:var(--glass-blur, blur(16px));-webkit-backdrop-filter:var(--glass-blur, blur(16px));-webkit-backdrop-filter:blur(20px)}.flutter-wrapper,.flutter-wrapper body,.flutter-wrapper .app{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;overflow:hidden;margin:0;padding:0}.flutter-wrapper .sidebar{height:100%!important}.sidebar.collapsed{width:0;min-width:0;border-right:none}.sidebar-header{padding:24px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);min-height:95px;background:#ffffff03}.workspace-info{display:flex;align-items:center;gap:12px}.workspace-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:0 4px 12px #0003,inset 0 1px 1px #ffffff0d}.workspace-name{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);display:flex;align-items:center;gap:8px}.version-badge{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--bg-surface);color:var(--text-muted);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:0 1px 2px #0000001a;margin-top:1px}.user-status{font-size:.78rem;font-weight:500;color:var(--success);opacity:.9;margin-top:2px;display:block}.sidebar-collapse-btn{opacity:.5}.sidebar-collapse-btn:hover{opacity:1}.sidebar-search{padding:12px 16px;display:flex;align-items:center;gap:10px;color:var(--text-muted);opacity:.85;transition:opacity .2s}.sidebar-search:focus-within{opacity:1}.sidebar-search input{flex:1;background:none;border:none;color:var(--text-primary);font-family:inherit;font-size:.9rem;font-weight:500;outline:none}.sidebar-search input::placeholder{color:var(--text-muted)}.sidebar-section{padding:8px 0}.section-header{display:flex;align-items:center;gap:6px;padding:12px 16px 6px;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:color var(--transition-fast)}.section-header:hover{color:var(--text-secondary)}.section-chevron{transition:transform var(--transition-fast)}.section-header.collapsed .section-chevron{transform:rotate(-90deg)}.add-btn{margin-left:auto;width:24px;height:24px;opacity:0;transition:opacity var(--transition-fast)}.section-header:hover .add-btn{opacity:1}.sidebar-scroll-area{flex:1;overflow-y:auto;min-height:0}.channel-list{list-style:none;padding:4px 12px}.channel-item{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);position:relative;margin-bottom:1px}.channel-item.has-tasks{color:var(--text-primary);font-weight:600}.channel-item:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.02)}.channel-item.active{background:var(--accent);color:#fff!important;font-weight:600;box-shadow:0 2px 8px #00000026}.channel-item .channel-hash{color:var(--text-muted);font-weight:400;font-size:1.1rem;width:14px;text-align:center}.fav-btn,.group-btn{margin-left:auto;width:24px;height:24px;opacity:0;transition:all var(--transition-fast);color:var(--text-muted)}.group-btn{margin-left:0;margin-right:-4px}@media(hover:none){.fav-btn,.group-btn{opacity:.4}}.channel-item:hover .fav-btn,.channel-item:hover .group-btn{opacity:1}.fav-btn:hover{transform:scale(1.2);color:#fbbf24}.group-btn:hover{transform:scale(1.1);color:var(--accent)}.fav-btn.active{opacity:1;color:#fbbf24}.channel-item .unread-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.dm-placeholder{opacity:.4;pointer-events:none}.dm-avatar{font-size:1.1rem}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-main);position:relative}.channel-header{height:calc(var(--header-height) + env(safe-area-inset-top));min-height:calc(var(--header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:10}.mobile-menu-btn{display:none}.channel-header-info{flex:1;min-width:0}.channel-title{font-size:1.05rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-desc{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-header-actions{display:flex;align-items:center;gap:4px}.task-btn{position:relative}.task-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--warning);color:#fff;font-size:.65rem;font-weight:700;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000040;pointer-events:none}.channel-search-bar{display:flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:var(--radius-md);padding:4px 10px;animation:searchSlideIn .2s ease;box-shadow:0 0 0 3px var(--accent-soft)}.channel-search-bar .search-icon{flex-shrink:0;color:var(--text-muted)}.channel-search-input{width:140px;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.88rem;font-family:inherit;line-height:1.5}.channel-search-input::placeholder{color:var(--text-muted)}@media(min-width:600px){.channel-search-input{width:200px}}.search-clear-btn{display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border:none;border-radius:var(--radius-full);width:22px;height:22px;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.search-clear-btn:hover{background:var(--bg-active);color:var(--text-primary)}.icon-btn.active{background:var(--accent-soft);color:var(--accent)}@keyframes searchSlideIn{0%{opacity:0;transform:scaleX(.8);transform-origin:right}to{opacity:1;transform:scaleX(1);transform-origin:right}}.search-highlight{background:#fbbf244d;color:inherit;border-radius:2px;padding:0 1px}.search-results-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent-soft);border-bottom:1px solid var(--border-accent);color:var(--accent);font-size:.82rem;font-weight:600;animation:fadeIn .2s ease}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.messages-list{padding:16px 20px;display:flex;flex-direction:column;gap:2px;min-height:100%}.messages-loading{display:none}.loading-spinner{width:32px;height:32px;border:3px solid var(--bg-elevated);border-top-color:var(--accent);border-radius:var(--radius-full);animation:spin .7s linear infinite}.date-divider{display:flex;align-items:center;gap:16px;margin:16px 0 8px}.date-divider:before,.date-divider:after{content:"";flex:1;height:1px;background:var(--border)}.date-divider span{font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap;padding:4px 12px;background:var(--bg-surface);border-radius:var(--radius-full);border:1px solid var(--border)}.message{display:flex;gap:12px;padding:8px 12px;border-radius:var(--radius-md);transition:background var(--transition-fast);animation:fadeIn .3s ease;position:relative}.message:hover{background:var(--bg-surface)}.message-avatar{width:36px;height:36px;border-radius:var(--radius-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),#5b4cd4)}.message-avatar.color-1{background:linear-gradient(135deg,#f97316,#ef4444)}.message-avatar.color-2{background:linear-gradient(135deg,#06b6d4,#3b82f6)}.message-avatar.color-3{background:linear-gradient(135deg,#10b981,#059669)}.message-avatar.color-4{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.message-avatar.color-5{background:linear-gradient(135deg,#f43f5e,#e11d48)}.message-avatar.color-6{background:linear-gradient(135deg,#eab308,#f59e0b)}.message-body{flex:1;min-width:0}.message-header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.message-author{font-weight:600;font-size:.9rem;color:var(--text-primary)}.message-time{font-size:.7rem;color:var(--text-muted)}.message-text{font-size:.92rem;line-height:1.55;color:var(--text-primary);word-break:break-word;max-width:100%;overflow-x:auto}.message-text img,.markdown-content img,.markdown-preview-container img{max-width:100%;height:auto;border-radius:var(--radius-sm)}@media(max-width:600px){.message-text img{max-width:100%!important}}.message-text code{background:var(--bg-elevated);padding:1px 5px;border-radius:4px;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.85em;color:var(--danger)}.message-text strong{font-weight:700}.message-text em{font-style:italic;color:var(--text-secondary)}.message-text a{color:var(--accent);text-decoration:none}.message-text a:hover{text-decoration:underline}.message-actions{position:absolute;top:-12px;right:12px;display:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);overflow:hidden}.message:hover .message-actions{display:flex}.msg-action-btn{width:32px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.msg-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.message-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.reaction-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--accent-soft);border:1px solid var(--border-accent);border-radius:var(--radius-full);font-size:.78rem;cursor:pointer;transition:all var(--transition-fast)}.reaction-badge:hover{background:var(--accent-glow);transform:scale(1.05)}.reaction-badge.active{border-color:var(--accent);background:var(--accent-soft)}.reaction-badge .reaction-count{color:var(--accent);font-weight:600}.message-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.image-skeleton-wrapper{position:relative;border-radius:var(--radius-md);overflow:hidden;min-width:120px;min-height:160px;max-width:320px;max-height:240px;aspect-ratio:4/3;width:100%;background:var(--bg-elevated)}.image-skeleton-pulse{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg-elevated) 0%,rgba(255,255,255,.05) 40%,var(--bg-elevated) 100%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:inherit}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.message-image-thumb{display:block;position:relative;z-index:1;max-width:320px;max-height:240px;width:100%;height:auto;border-radius:var(--radius-md);cursor:pointer;object-fit:cover;border:1px solid var(--border);opacity:0;content-visibility:auto;transition:opacity .4s ease,border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.message-image-thumb.loaded{opacity:1}.message-image-thumb.loaded~.image-skeleton-pulse,.image-skeleton-wrapper:has(.loaded) .image-skeleton-pulse{display:none}.message-image-thumb:hover{border-color:var(--accent);box-shadow:var(--shadow-glow);transform:scale(1.01)}.link-preview{margin-top:8px;max-width:420px;padding:12px 14px;background:var(--bg-surface);border-left:3px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;display:flex;flex-direction:column;gap:6px;transition:background var(--transition-fast)}.link-preview:hover{background:var(--bg-elevated)}.link-preview-domain{font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.link-preview-title{font-size:.88rem;font-weight:600;color:var(--accent);line-height:1.3}.link-preview-title:hover{text-decoration:underline}.link-preview-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-preview-image-container{margin-top:6px;border-radius:var(--radius-sm);overflow:hidden;max-height:200px;border:1px solid var(--border)}.link-preview-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.link-preview:hover .link-preview-image{transform:scale(1.03)}.message-thread-indicator{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;background:var(--accent-soft);border-radius:var(--radius-sm);font-size:.78rem;color:var(--accent);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.message-thread-indicator:hover{background:var(--accent-glow)}.message-thread-indicator svg{width:14px;height:14px}.message.compact{padding-top:2px;padding-bottom:2px}.message.compact .message-avatar{visibility:hidden;width:36px}.message.compact .message-header{display:none}.drop-overlay{position:absolute;inset:0;background:#0f1117e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.drop-overlay-content{text-align:center;color:var(--accent);animation:dropBounce .4s ease}.drop-overlay-content h3{font-size:1.4rem;margin-top:12px}.drop-overlay-content p{color:var(--text-muted);margin-top:6px;font-size:.85rem}.image-preview-bar{padding:10px 20px;border-top:1px solid var(--border);background:var(--bg-surface)}.image-preview-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.preview-thumb-wrapper{position:relative;flex-shrink:0}.preview-thumb{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:2px solid var(--border);transition:border-color var(--transition-fast)}.preview-thumb:hover{border-color:var(--accent)}.preview-remove-btn{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:var(--radius-full);background:var(--danger);border:2px solid var(--bg-surface);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition-fast)}.preview-remove-btn:hover{transform:scale(1.1)}.composer-wrapper{position:relative;padding:0 16px 4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.composer{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast)}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),0 0 20px var(--accent-glow)}.composer-toolbar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border)}.toolbar-btn{width:30px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn.active{background:var(--accent-soft);color:var(--accent)}.toolbar-separator{width:1px;height:18px;background:var(--border);margin:0 4px}.composer-input-wrapper{display:flex;align-items:flex-end;padding:4px 8px 6px}.message-input{flex:1;min-height:38px;max-height:160px;padding:8px 10px;color:var(--text-primary);font-family:inherit;font-size:16px;line-height:1.5;outline:none;overflow-y:auto;word-break:break-word;resize:none}.message-input:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.send-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex-shrink:0;transition:all var(--transition-fast);opacity:.5;box-shadow:0 2px 8px var(--accent-glow)}.send-btn:not(:disabled){opacity:1}.send-btn:not(:disabled):hover{transform:scale(1.08);box-shadow:0 4px 16px var(--accent-glow)}.send-btn:disabled{cursor:not-allowed}app-thread-panel{height:100%;overflow:hidden}.thread-panel{width:var(--thread-width);min-width:var(--thread-width);height:100%;max-height:100%;border-left:1px solid var(--border);background:var(--bg-sidebar);display:flex;flex-direction:column;animation:slideInRight .3s ease;padding-bottom:env(safe-area-inset-bottom)}.thread-header{height:calc(var(--header-height) + env(safe-area-inset-top));min-height:calc(var(--header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.thread-header h3{font-size:1rem;font-weight:700}.thread-parent-msg{padding:16px;border-bottom:1px solid var(--border);max-height:40vh;overflow-y:auto}.thread-divider{padding:8px 16px;display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-muted);font-weight:500}.thread-divider:after{content:"";flex:1;height:1px;background:var(--border)}.thread-replies{flex:1;overflow-y:auto;padding:8px 0}.thread-composer{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end}.thread-input{flex:1;min-height:36px;max-height:80px;padding:8px 12px;background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);font-size:16px;resize:none}.thread-input:focus{border-color:var(--accent)}.modal-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}.modal{width:90%;max-width:440px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 40px #0003;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.modal-sm{max-width:360px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1.05rem;font-weight:700}.modal-form{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.image-viewer-overlay{position:fixed;inset:0;background:#000000eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease;cursor:zoom-out}.image-viewer-close{position:absolute;top:16px;right:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;transition:background var(--transition-fast);z-index:1}.image-viewer-close:hover{background:#fff3}#image-viewer-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-md);animation:scaleIn .3s ease}.emoji-picker{position:absolute;bottom:calc(var(--composer-min-height) + 10px);left:20px;width:320px;max-height:300px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:500;display:flex;flex-direction:column;animation:scaleIn .2s ease;overflow:hidden}.emoji-picker-header{padding:10px 12px;border-bottom:1px solid var(--border)}.emoji-search-input{width:100%;padding:8px 12px;background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.85rem;outline:none}.emoji-search-input:focus{border-color:var(--accent)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;overflow-y:auto;max-height:220px}.emoji-btn{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);font-size:1.3rem;cursor:pointer;transition:all var(--transition-fast)}.emoji-btn:hover{background:var(--bg-hover);transform:scale(1.15)}@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:500;transform:translate(-100%);transition:transform var(--transition-base);width:var(--sidebar-width);min-width:var(--sidebar-width)}.sidebar.collapsed{width:var(--sidebar-width);min-width:var(--sidebar-width)}.sidebar.mobile-open{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:499;opacity:1;transition:opacity var(--transition-base);display:block;cursor:pointer;touch-action:manipulation}.sidebar-collapse-btn{display:none}.mobile-menu-btn{display:flex;width:40px;height:40px;margin-right:-8px}.thread-panel{position:fixed;right:0;top:0;bottom:0;z-index:501;box-shadow:var(--shadow-lg)}}@media(max-width:600px){.emoji-picker{width:calc(100vw - 40px);left:20px}.message{padding-right:24px;padding-left:10px}.message-image-thumb,.link-preview{max-width:100%}.message-input,.form-group input,.emoji-search-input,.thread-input{font-size:16px!important}}.toast-container{position:fixed;bottom:20px;right:20px;z-index:3000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 18px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:.85rem;color:var(--text-primary);display:flex;align-items:center;gap:10px;animation:slideInRight .3s ease;min-width:240px}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}.toast.info{border-left:3px solid var(--info)}.toast-close{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem}.reaction-picker{position:absolute;bottom:100%;right:0;display:flex;gap:2px;padding:6px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:50;animation:scaleIn .15s ease}.reaction-picker-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);font-size:1.1rem;cursor:pointer;transition:all var(--transition-fast)}.reaction-picker-btn:hover{background:var(--bg-hover);transform:scale(1.2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-muted);animation:fadeIn .5s ease}.empty-state svg{width:64px;height:64px;margin-bottom:16px;opacity:.3}.empty-state h3{font-size:1.1rem;color:var(--text-secondary);margin-bottom:6px}.empty-state p{font-size:.85rem;max-width:300px}pre.shiki code,pre.shiki span{background:transparent!important;font-size:12px}.file-link-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-elevated, #1e293b);padding:3px 6px 3px 8px;border-radius:6px;font-size:.85rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;border:1px solid var(--border, rgba(148, 163, 184, .2));transition:all .2s ease;white-space:nowrap;vertical-align:middle;margin:0 4px}.file-link-badge:hover{border-color:var(--accent, #3b82f6);box-shadow:0 0 5px #3b82f633}.file-link-icon{color:var(--text-muted, #94a3b8);display:flex;align-items:center}.file-link-name{color:var(--text-primary, #e2e8f0);font-weight:500}.file-link-lines{color:var(--accent, #3b82f6);font-size:.8rem;font-weight:600}.file-link-copy{background:transparent;border:none;color:var(--text-muted, #94a3b8);cursor:pointer;padding:2px;margin-left:2px;display:inline-flex;align-items:center;border-radius:4px;transition:all .2s ease}.file-link-copy:hover{background:#ffffff1a;color:var(--text-primary, #e2e8f0)}.file-link-badge.copied{border-color:var(--success, #10b981);background:#10b9811a}.file-link-badge.copied .file-link-name,.file-link-badge.copied .file-link-icon,.file-link-badge.copied .file-link-lines,.file-link-badge.copied .file-link-copy{color:var(--success, #10b981)!important}.file-link-badge.copied .file-link-icon svg,.file-link-badge.copied .file-link-copy svg{stroke:var(--success, #10b981)!important}
