@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.challenge-info-container{padding:24px;background:#f0f2f5;min-height:calc(100vh - 64px)}.challenge-info-container .ant-card{margin-bottom:16px;border-radius:8px;box-shadow:0 1px 2px #00000008}.challenge-info-container .ant-statistic{text-align:center}.challenge-info-container .ant-table-small{font-size:13px}.challenge-info-container .ant-badge{vertical-align:middle}.challenge-info-container .ant-avatar{background-color:#1890ff}.challenge-info-container .ant-table-cell{padding:12px 8px!important}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.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.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.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;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 ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .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-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 pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{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-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:0px}.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:0px;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}.score-display-container{min-height:100vh;position:relative;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb,#f5576c,#4facfe);background-size:400% 400%;animation:gradientShift 15s ease infinite;padding:20px;overflow:hidden}.score-display-container:fullscreen{padding:10px;position:fixed;top:0;left:0;width:100vw!important;height:100vh!important;z-index:9999}body:fullscreen .score-display-container{padding:10px;position:fixed;top:0;left:0;width:100vw!important;height:100vh!important;z-index:9999}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.score-display-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.fireworks:before,.fireworks:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:gold;animation:firework 3s ease-in-out infinite}.fireworks:before{top:20%;left:10%;animation-delay:0s}.fireworks:after{top:30%;right:15%;animation-delay:1.5s}@keyframes firework{0%{transform:scale(0);opacity:1}50%{transform:scale(8);opacity:.8}to{transform:scale(20);opacity:0}}.celebration-stars{position:absolute;width:100%;height:100%}.celebration-stars:before,.celebration-stars:after{content:"✨";position:absolute;font-size:20px;animation:twinkle 2s ease-in-out infinite}.celebration-stars:before{top:15%;right:20%;animation-delay:.5s}.celebration-stars:after{bottom:25%;left:25%;animation-delay:1s}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.control-panel{position:absolute;top:20px;right:20px;z-index:1000}.control-buttons{display:flex;gap:12px;background:#ffffffe6;padding:12px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000001a}.main-header{text-align:center;margin:60px 0 20px;position:relative;z-index:10}.main-title{color:#fff!important;font-size:2.5rem!important;font-weight:700!important;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin-bottom:15px!important;animation:titleGlow 3s ease-in-out infinite}.title-icon{color:gold;margin-right:15px;animation:bounce 2s ease-in-out infinite}@keyframes titleGlow{0%,to{text-shadow:2px 2px 4px rgba(0,0,0,.3)}50%{text-shadow:2px 2px 20px rgba(255,215,0,.8)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.exam-meta{display:flex;justify-content:center;align-items:center;gap:20px}.exam-type-tag{font-size:16px!important;padding:8px 16px!important;border-radius:20px!important;font-weight:700!important;box-shadow:0 4px 8px #0003}.exam-indicators{display:flex;gap:8px}.indicator{width:12px;height:12px;border-radius:50%;background:#ffffff4d;transition:all .3s ease}.indicator.active{background:gold;transform:scale(1.3);box-shadow:0 0 10px #ffd70099}.total-ranking-section{margin:20px 0;position:relative;z-index:10}.total-ranking-card{background:#fffffff2!important;border-radius:20px!important;box-shadow:0 8px 32px #0000001a!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)!important}.ranking-header{display:flex;align-items:center;gap:8px;color:#333!important;font-size:18px!important;font-weight:700!important}.ranking-icon{color:gold!important;font-size:20px!important}.top-rankings-fixed{margin-bottom:16px;padding:16px;background:linear-gradient(135deg,#ffd7001a,#ffa5000d);border-radius:12px;border:2px solid rgba(255,215,0,.2);display:flex;flex-direction:column;align-items:center;justify-content:center}.ranking-item-compact{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin:4px 0;border-radius:8px;transition:all .3s ease;min-height:48px;overflow:hidden;word-wrap:break-word}.ranking-item-wide{padding:10px 16px;min-height:52px}.ranking-item-compact:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.rank-section{display:flex;align-items:center;gap:6px;min-width:50px;flex-shrink:0}.rank-number{font-weight:700;font-size:16px;min-width:20px;text-align:center}.student-section{display:flex;align-items:center;gap:8px;flex:1;margin:0 8px;min-width:0;overflow:hidden}.student-avatar-compact{flex-shrink:0}.student-info-compact{flex:1;min-width:0;overflow:hidden}.student-name-compact{font-weight:700;font-size:14px;line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-class-compact{font-size:11px;opacity:.8;line-height:1;white-space:nowrap;overflow:visible}.score-section{text-align:right;min-width:60px;flex-shrink:0}.score-compact{font-weight:700;font-size:16px}.scrolling-rankings{margin-top:16px;max-height:250px;overflow:hidden;position:relative}.scrolling-content{padding:8px;animation:verticalScrollWithPause 60s linear infinite}@keyframes verticalScrollWithPause{0%{transform:translateY(0)}16.67%{transform:translateY(0)}83.33%{transform:translateY(-60%)}to{transform:translateY(-60%)}}.ranking-item-mini{display:flex;align-items:center;justify-content:space-between;padding:2px 4px;margin:1px 0;border-radius:4px;transition:all .3s ease;min-height:26px;font-size:10px;width:100%}.rank-mini{font-weight:700;min-width:14px;text-align:center;font-size:9px;flex-shrink:0}.avatar-mini{flex-shrink:0;margin:0 2px}.name-mini{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 2px;font-size:11px;min-width:0}.score-mini{font-weight:700;font-size:9px;min-width:24px;text-align:right;flex-shrink:0}.encouragement-message{margin-top:20px;padding:20px 16px;text-align:center;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);border-radius:12px;box-shadow:0 4px 16px #0000001a;min-height:60px;display:flex;align-items:center;justify-content:center}.encouragement-text{color:#fff;font-size:16px;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.2);animation:encouragementGlow 3s ease-in-out infinite;line-height:1.6}@keyframes encouragementGlow{0%,to{text-shadow:1px 1px 2px rgba(0,0,0,.2)}50%{text-shadow:1px 1px 20px rgba(255,255,255,.6)}}.subject-rankings-section{margin:20px 0;position:relative;z-index:10}.nine-columns-layout{display:flex;gap:8px;width:100%;justify-content:space-between}.column-item{flex:1;min-width:0;width:calc(100% / 9 - 8px)}.subject-ranking-card{background:#fffffff2!important;border-radius:12px!important;box-shadow:0 4px 16px #0000001a!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)!important;height:420px;overflow:hidden}.subject-ranking-card .ant-card-head{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-bottom:none!important;border-radius:12px 12px 0 0!important;padding:4px 8px!important}.subject-card-title{color:#fff!important;font-size:12px!important;font-weight:700!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:4px!important;flex-wrap:wrap!important}.subject-icon{color:gold!important;font-size:14px!important}.subject-ranking-list{max-height:340px;overflow:hidden}.subject-ranking-item-compact{display:flex;align-items:center;justify-content:space-between;padding:2px 4px;margin:1px 0;border-radius:4px;font-size:10px;transition:all .3s ease;min-height:18px}.rank-number-small{font-weight:700;min-width:10px;font-size:9px;text-align:center;flex-shrink:0}.student-avatar-tiny{flex-shrink:0;margin:0 2px}.student-info-tiny{flex:1;min-width:0;display:flex;align-items:center;justify-content:center}.student-name-tiny{font-weight:600;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;text-align:center}.score-tiny{font-weight:700;font-size:9px;line-height:1;min-width:20px;text-align:right;flex-shrink:0}.ranking-item-compact:nth-child(1){animation-delay:.1s}.ranking-item-compact:nth-child(2){animation-delay:.2s}.ranking-item-compact:nth-child(3){animation-delay:.3s}.ranking-item-compact{animation:slideInUp .6s ease forwards}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.footer-stats{position:relative;z-index:10;margin-top:20px;padding:15px 20px;background:#ffffffe6;border-radius:15px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 6px 24px #0000001a}.stat-item{text-align:center;padding:8px 16px;background:#fffc;border-radius:12px;box-shadow:0 4px 16px #0000001a}.stat-number{color:#ff6b6b!important;font-weight:700!important;font-size:16px!important;margin-left:8px!important}.score-display-loading,.score-display-error,.score-display-empty{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.score-display-loading .ant-spin{color:#fff}.score-display-loading .ant-spin-text{color:#fff!important}@media (max-width: 1920px){.main-title{font-size:2.2rem!important}.subject-ranking-card{height:400px}.subject-ranking-list{max-height:320px}}@media (max-width: 1440px){.main-title{font-size:2rem!important}.subject-ranking-card{height:380px}.subject-ranking-list{max-height:300px}.ranking-item-compact{padding:8px 10px}.ranking-item-mini{padding:3px 6px;min-height:28px}.nine-columns-layout{gap:6px}.column-item{width:calc(100% / 9 - 6px)}.subject-ranking-item-compact{padding:4px;min-height:20px}}@media (max-width: 1024px){.score-display-container{padding:15px}.main-title{font-size:1.8rem!important}.subject-ranking-card{height:360px}.subject-ranking-list{max-height:280px}.ranking-item-compact{padding:6px 8px;font-size:12px;min-height:40px}.ranking-item-mini{padding:3px 6px;font-size:11px;min-height:26px}.student-name-compact{font-size:13px}.score-compact{font-size:14px}.nine-columns-layout{gap:4px}.column-item{width:calc(100% / 9 - 4px)}.subject-card-title{font-size:10px!important}.student-name-tiny,.score-tiny{font-size:8px}.subject-ranking-item-compact{padding:3px;min-height:18px}.name-mini{font-size:10px!important}}.punishment-display-container{position:relative;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);overflow-x:hidden;font-family:Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.punishment-display-background{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0}.floating-icons:before,.floating-icons:after{content:"";position:absolute;width:100px;height:100px;background:#ffffff1a;border-radius:50%;animation:float 6s ease-in-out infinite}.floating-icons:before{top:20%;left:10%;animation-delay:0s}.floating-icons:after{top:60%;right:15%;animation-delay:3s}.gradient-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%)}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.control-panel{position:fixed;top:20px;right:20px;z-index:1000;display:flex;gap:10px}.control-buttons{display:flex;gap:10px}.main-header{position:relative;z-index:1;text-align:center;padding:40px 20px 20px;color:#fff}.main-title{color:#fff!important;font-size:2.5em!important;font-weight:700!important;margin-bottom:20px!important;text-shadow:2px 2px 4px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;gap:15px}.title-icon{font-size:1.2em;color:gold;animation:pulse 2s infinite}.time-filter-buttons{display:flex;justify-content:center;gap:15px;margin-top:20px;flex-wrap:wrap}.time-filter-buttons .ant-btn{border-radius:20px;font-weight:600;box-shadow:0 2px 8px #0000001a}.time-filter-buttons .ant-btn-primary{background:linear-gradient(135deg,#1890ff,#096dd9);border:none}.time-filter-buttons .ant-btn-default{background:#ffffffe6;border:1px solid rgba(255,255,255,.3);color:#333}.time-filter-buttons .ant-btn-default:hover{background:#fff;border-color:#1890ff;color:#1890ff;transform:translateY(-2px)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.punishment-records-section{position:relative;z-index:1;padding:20px;margin:0 20px}.three-columns-container{display:flex;gap:20px;height:70vh;background:#fffffff2;border-radius:15px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:20px}.record-column{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.column-header{padding:15px 20px;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border-bottom:3px solid #52c41a;display:flex;justify-content:space-between;align-items:center}.column-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#333}.column-title .anticon{font-size:20px}.record-count{background:#0000001a;color:#333;padding:4px 12px;border-radius:12px;font-weight:700;font-size:14px}.column-content{flex:1;overflow:hidden;position:relative}.records-container{padding:10px}.column-content.scrolling .records-container{animation:scrollUp 60s linear infinite}@keyframes scrollUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.record-item{padding:12px;margin-bottom:8px;border-radius:8px;transition:all .3s ease;border-left:4px solid transparent;cursor:pointer}.record-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.record-item.praise{background:linear-gradient(135deg,#f6ffed,#d9f7be);border-left-color:#52c41a}.record-item.criticism{background:linear-gradient(135deg,#fffbe6,#fff1b8);border-left-color:#faad14}.record-item.serious_violation{background:linear-gradient(135deg,#fff2f0,#ffccc7);border-left-color:#ff4d4f}.record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.student-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.student-avatar{flex-shrink:0}.student-details{min-width:0;flex:1}.student-name{font-weight:700;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-class{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-score{font-weight:700;font-size:16px;color:#333;flex-shrink:0}.record-content{margin-bottom:6px}.category-name .ant-tag{margin:0;font-size:11px}.record-comment{font-size:12px;color:#555;margin-bottom:4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.record-event{font-size:11px;color:#777;margin-bottom:6px;line-height:1.2;font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.record-footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#999;margin-top:auto}.record-footer:has(.evaluation-date:only-child){justify-content:flex-start}.evaluation-date{font-weight:500}.evaluator-name{font-style:italic}.record-location{font-size:10px;color:#aaa;margin-top:4px;font-style:italic}.encouragement-section{position:relative;z-index:1;padding:20px;margin:20px}.encouragement-content{background:#ffffff1a;border-radius:15px;padding:20px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.encouragement-text{font-size:18px;color:#fff;font-weight:500;text-shadow:1px 1px 2px rgba(0,0,0,.3);animation:glow 3s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:1px 1px 2px rgba(0,0,0,.3)}to{text-shadow:1px 1px 2px rgba(0,0,0,.3),0 0 10px rgba(255,255,255,.3)}}.punishment-display-loading,.punishment-display-error,.punishment-display-empty{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.punishment-display-loading .ant-spin-text,.punishment-display-error .ant-alert,.punishment-display-empty .ant-empty{color:#fff}.punishment-display-container:fullscreen{background:linear-gradient(135deg,#667eea,#764ba2)}.punishment-display-container:fullscreen .main-title{font-size:3em!important}.punishment-display-container:fullscreen .stat-number{font-size:28px}.punishment-display-container:fullscreen .encouragement-text{font-size:22px}@media (max-width: 1200px){.three-columns-container{gap:15px;padding:15px}.column-header{padding:12px 15px}.column-title{font-size:16px}.record-item{padding:10px}.student-name{font-size:13px}.record-score{font-size:14px}}@media (max-width: 768px){.three-columns-container{flex-direction:column;height:auto;gap:10px;padding:10px}.record-column{height:300px}.main-title{font-size:1.8em!important;flex-direction:column;gap:10px}.statistics-overview .ant-row{justify-content:center}.stat-item{padding:10px 15px}.stat-number{font-size:20px}.encouragement-text{font-size:16px}.column-content.scrolling .records-container{animation-duration:40s}}@media (max-width: 480px){.control-panel{top:10px;right:10px}.main-header{padding:20px 10px 10px}.punishment-records-section{padding:10px;margin:0 10px}.encouragement-section{padding:10px;margin:10px}.record-column{height:250px}.column-header{padding:10px}.column-title{font-size:14px}.column-title .anticon{font-size:16px}.record-item{padding:8px;margin-bottom:6px}.student-name{font-size:12px}.student-class{font-size:11px}.record-score{font-size:13px}}.column-content::-webkit-scrollbar{width:4px}.column-content::-webkit-scrollbar-track{background:#0000001a;border-radius:2px}.column-content::-webkit-scrollbar-thumb{background:#0003;border-radius:2px}.column-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.App{text-align:center}*{box-sizing:border-box}.ant-layout{min-height:100vh}.ant-layout-sider{box-shadow:2px 0 6px #00152959}.ant-layout-header{box-shadow:0 1px 4px #00152914}.ant-layout-content{background:#f0f2f5}.ant-menu-dark{background:#001529}.ant-menu-dark .ant-menu-item-selected{background-color:#1890ff}.ant-menu-dark .ant-menu-item:hover{background-color:#1890ff33}.logo{height:64px;display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;font-size:18px;border-bottom:1px solid rgba(255,255,255,.2);margin:0 16px}@media (max-width: 768px){.ant-layout-sider{position:fixed!important;z-index:1000;height:100vh}.ant-layout{margin-left:0!important}.logo{font-size:14px}}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background:#f0f2f5}.dashboard-card{margin-bottom:16px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.dashboard-card .ant-card-head{border-bottom:1px solid #f0f0f0}.stat-card{text-align:center;padding:24px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:16px}.stat-card h3{color:#fff;margin-bottom:8px}.stat-card .stat-number{font-size:32px;font-weight:700;margin-bottom:8px}.admin-theme{--primary-color: #1890ff;--secondary-color: #722ed1}.student-theme{--primary-color: #52c41a;--secondary-color: #13c2c2}.teacher-theme{--primary-color: #722ed1;--secondary-color: #eb2f96}.display-theme{--primary-color: #fa8c16;--secondary-color: #faad14}.ant-table-thead>tr>th{background:#fafafa;font-weight:600}.ant-table-tbody>tr:hover>td{background:#e6f7ff}.action-button{margin-right:8px;margin-bottom:8px}.form-container{max-width:600px;margin:0 auto;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.page-title{font-size:24px;font-weight:700;margin-bottom:24px;color:#262626}.content-wrapper{padding:24px;background:#fff;border-radius:8px;min-height:400px}.empty-state{text-align:center;padding:48px 24px;color:#999}.empty-state .anticon{font-size:48px;margin-bottom:16px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 0;border-bottom:1px solid #f0f0f0}.toolbar-left{display:flex;align-items:center;gap:16px}.toolbar-right{display:flex;align-items:center;gap:8px}.status-tag{border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500}.status-active{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-inactive{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.status-disabled{background:#f5f5f5;color:#999;border:1px solid #d9d9d9}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-role-row{display:flex;gap:0}.login-role-btn{flex:1 1 0;text-align:center;white-space:nowrap}.login-container .ant-card{width:100%}.site-layout-content{min-height:280px;padding:24px;background:#fff}.logo{height:32px;margin:16px;background:#ffffff4d}.ant-layout-sider-children .logo{height:32px;margin:16px;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.site-layout .site-layout-background{background:#fff}.ant-layout-header h1{color:#fff;margin:0}.card-container p{margin:0}.scrolling-notice{padding:0 16px;height:40px;line-height:40px;background:#f5f5f5;border-bottom:1px solid #e8e8e8}.ant-pro-table .ant-pro-table-search{margin-bottom:16px;padding:24px 24px 0}.classroom-display-container{padding:24px}.classroom-display-container .ant-card{margin-bottom:16px}.homework-scan-container{display:flex;flex-direction:column;align-items:center}.homework-scan-container .camera-container{width:100%;max-width:500px;margin-bottom:24px}.homework-scan-container .student-info{width:100%;max-width:500px}.mobile-menu-button{display:none!important}@media (max-width: 768px){.ant-layout-sider{display:none!important}.ant-layout{margin-left:0!important}.mobile-menu-button{display:flex!important;align-items:center;justify-content:center;background:transparent!important;border:none!important;box-shadow:none!important;color:#000000a6!important;transition:color .3s}.mobile-menu-button:hover{color:#1890ff!important;background:#0000000f!important}.ant-layout-content{padding:12px 8px!important;margin:12px 8px!important}.ant-card{margin-bottom:12px!important}.ant-table{font-size:12px}.ant-form-item-label{padding-bottom:4px!important}.mobile-hidden{display:none!important}.mobile-block{display:block!important}.mobile-flex{display:flex!important}.ant-row{margin-right:0!important;margin-left:0!important}.ant-col{padding-right:4px!important;padding-left:4px!important}.ant-layout-header{padding:0 16px!important}.ant-layout-header>div{font-size:16px!important}.ant-drawer-header{padding:12px 16px!important}.ant-drawer-body{padding:0!important}.ant-btn-group{flex-wrap:wrap;gap:4px}.ant-btn-sm{font-size:12px!important;padding:4px 8px!important;height:auto!important}.ant-form-item{margin-bottom:16px!important}.ant-modal{margin:0;max-width:calc(100vw - 16px)}.ant-modal-content{border-radius:8px}.ant-table-tbody>tr>td{padding:8px!important;font-size:12px!important}.ant-table-thead>tr>th{padding:8px!important;font-size:12px!important;font-weight:600}.ant-card-head{padding:12px 16px!important;min-height:auto!important}.ant-card-body{padding:16px!important}.ant-statistic{text-align:center}.ant-statistic-content{font-size:20px!important}.ant-menu-item{height:48px!important;line-height:48px!important;margin:0!important}.ant-menu-submenu>.ant-menu-submenu-title{height:48px!important;line-height:48px!important}.ant-layout-header .ant-typography h1,.ant-layout-header .ant-typography h2,.ant-layout-header .ant-typography h3{margin:0!important;font-size:16px!important;font-weight:600}.ant-dropdown-menu{min-width:120px!important}.ant-dropdown-menu-item{padding:8px 12px!important;font-size:14px!important}.ant-btn,.ant-menu-item,.ant-dropdown-menu-item,.ant-pagination-item{min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}.ant-menu-item a{display:flex!important;align-items:center!important;width:100%!important;height:100%!important}.ant-tabs-tab{padding:8px 12px!important;font-size:14px!important}.ant-tabs-content-holder{padding:0!important}.ant-timeline-item-content{margin-left:16px!important}.ant-timeline-item-tail{left:4px!important}.ant-upload{width:100%!important}.ant-form-item-control{margin-bottom:8px!important}.ant-card-head-title{font-size:16px!important;font-weight:600!important}.ant-card .ant-avatar{margin-bottom:12px!important}.ant-alert{padding:8px 12px!important;margin-bottom:12px!important}.ant-alert-description{font-size:12px!important}.ant-timeline{margin:0!important;padding:8px 0!important}.ant-timeline-item{padding-bottom:12px!important}}@media (max-width: 480px){.login-role-row{flex-wrap:wrap}.login-role-btn{flex:1 1 50%;font-size:12px}.ant-layout-header{padding:0 12px!important}.ant-layout-content{padding:8px!important;margin:8px 4px!important}.ant-card{margin-bottom:8px}.ant-table{font-size:11px}.ant-btn{height:32px;padding:4px 8px;font-size:12px}.ant-input{padding:4px 8px}.ant-select{min-height:32px}}.dark-theme{--bg-color: #1f1f1f;--text-color: #f0f0f0;--border-color: #303030;--component-bg: #262626;--hover-color: #1890ff}.dark-theme body{background-color:var(--bg-color);color:var(--text-color)}.dark-theme .ant-layout{background-color:var(--bg-color)}.dark-theme .ant-layout-header{background-color:var(--component-bg);border-bottom:1px solid var(--border-color)}.dark-theme .ant-layout-sider{background-color:var(--component-bg);border-right:1px solid var(--border-color)}.dark-theme .ant-layout-footer{background-color:var(--component-bg);border-top:1px solid var(--border-color)}.dark-theme .ant-card{background-color:var(--component-bg);border:1px solid var(--border-color)}.dark-theme .ant-card-head{border-bottom:1px solid var(--border-color)}.dark-theme .ant-table{background-color:var(--component-bg);color:var(--text-color)}.dark-theme .ant-table-thead>tr>th{background-color:var(--component-bg);color:var(--text-color);border-bottom:1px solid var(--border-color)}.dark-theme .ant-table-tbody>tr>td{border-bottom:1px solid var(--border-color)}.dark-theme .ant-form-item-label>label{color:var(--text-color)}.dark-theme .ant-input,.dark-theme .ant-select-selector,.dark-theme .ant-picker,.dark-theme .ant-input-number,.dark-theme .ant-input-affix-wrapper{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color)}.dark-theme .ant-btn{border:1px solid var(--border-color)}.dark-theme .ant-btn-primary{background-color:#1890ff;border-color:#1890ff}.dark-theme .ant-menu{background-color:var(--component-bg);color:var(--text-color);border-right:1px solid var(--border-color)}.dark-theme .ant-menu-item{color:var(--text-color)}.dark-theme .ant-menu-item-selected{background-color:#1890ff;color:#fff}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s}.page-loading{display:flex;justify-content:center;align-items:center;height:100vh;width:100vw;position:fixed;top:0;left:0;background-color:#ffffffb3;z-index:9999}.dark-theme .page-loading{background-color:#000000b3}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (min-width: 769px) and (max-width: 1024px){.ant-layout-content{padding:20px 12px!important;margin:20px 12px!important}.ant-card-body{padding:20px!important}}@media (max-width: 768px){.ant-layout-sider{display:none!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.ant-btn,.ant-menu-item,.ant-dropdown-menu-item,.ant-pagination-item{min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}.ant-menu-item a{display:flex!important;align-items:center!important;width:100%!important;height:100%!important}.ant-tabs-tab{padding:8px 12px!important;font-size:14px!important}.ant-tabs-content-holder{padding:0!important}.ant-timeline-item-content{margin-left:16px!important}.ant-timeline-item-tail{left:4px!important}.ant-upload{width:100%!important}.ant-form-item-control{margin-bottom:8px!important}.ant-card-head-title{font-size:16px!important;font-weight:600!important}.ant-card .ant-avatar{margin-bottom:12px!important}.ant-alert{padding:8px 12px!important;margin-bottom:12px!important}.ant-alert-description{font-size:12px!important}.ant-timeline{margin:0!important;padding:8px 0!important}.ant-timeline-item{padding-bottom:12px!important}}
