@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)}}@media (max-width: 768px){.leave-time-picker-dropdown-mobile{max-width:92vw!important}.leave-time-picker-dropdown-mobile .ant-picker-panel-container{width:92vw;max-width:92vw}.leave-time-picker-dropdown-mobile .ant-picker-panels{flex-direction:column}.leave-time-picker-dropdown-mobile .ant-picker-panel,.leave-time-picker-dropdown-mobile .ant-picker-time-panel{width:100%}.leave-time-picker-dropdown-mobile .ant-picker-time-panel-column{width:50px}.leave-time-picker-dropdown-mobile .ant-picker-footer{padding:8px 12px}}.quick-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.quick-surname-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px}.quick-surname-btn{width:100%;height:28px;padding:0 4px}.quick-class-btn{height:auto;min-height:52px;padding:8px 10px;white-space:normal;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.25}.quick-class-btn-count{margin-top:2px;font-size:11px;opacity:.8}.quick-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.quick-category-btn{height:auto;min-height:52px;padding:8px 10px;white-space:normal;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.25}.quick-category-btn-count{margin-top:2px;font-size:11px;opacity:.8}.quick-student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:4px}.quick-student-btn{width:100%;padding:0 4px;height:28px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-main-tab-label{display:inline-flex;align-items:center;gap:4px}.daily-record-page.mobile .ant-card{border-radius:12px}.daily-record-page.mobile .ant-card-head{min-height:42px;padding:0 12px}.daily-record-page.mobile .ant-card-head-title{font-size:14px}.daily-record-page.mobile .ant-card-body{padding:12px}.daily-record-page.mobile .ant-btn{font-size:12px}.daily-record-page.mobile .ant-typography,.daily-record-page.mobile .ant-input,.daily-record-page.mobile .ant-select-selection-item,.daily-record-page.mobile .ant-select-item-option-content,.daily-record-page.mobile .ant-picker-input>input{font-size:12px!important}.daily-record-page.mobile .ant-tag{font-size:11px}.daily-record-page.mobile .mobile-tabs .ant-tabs-nav{margin-bottom:10px}.daily-record-page.mobile .mobile-tabs .ant-tabs-nav-wrap{overflow-x:auto!important;overflow-y:hidden;scrollbar-width:none}.daily-record-page.mobile .mobile-tabs .ant-tabs-nav-wrap::-webkit-scrollbar{display:none}.daily-record-page.mobile .mobile-tabs .ant-tabs-nav-list{flex-wrap:nowrap!important}.daily-record-page.mobile .mobile-tabs .ant-tabs-tab{margin:0 6px 0 0!important;padding:6px 8px!important;font-size:12px;white-space:nowrap}.daily-record-page.mobile .quick-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-record-page.mobile .quick-class-btn{min-height:56px;padding:8px}.daily-record-page.mobile .quick-student-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.daily-record-page.mobile .quick-student-btn{height:28px}.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}.score-display-container:fullscreen .main-header,body:fullscreen .score-display-container .main-header{margin:0 0 8px}.score-display-container:fullscreen .total-ranking-section,body:fullscreen .score-display-container .total-ranking-section{margin:8px 0}.score-display-container:fullscreen .top-rankings-fixed,body:fullscreen .score-display-container .top-rankings-fixed{padding:10px;margin-bottom:8px}.score-display-container:fullscreen .scrolling-rankings,body:fullscreen .score-display-container .scrolling-rankings{max-height:200px}.score-display-container:fullscreen .subject-rankings-section,body:fullscreen .score-display-container .subject-rankings-section{margin:4px 0}.score-display-container:fullscreen .subject-ranking-card,body:fullscreen .score-display-container .subject-ranking-card{height:auto;min-height:0}.score-display-container:fullscreen .subject-ranking-list,body:fullscreen .score-display-container .subject-ranking-list{max-height:none}.score-display-container:fullscreen .subject-ranking-card .ant-card-head,body:fullscreen .score-display-container .subject-ranking-card .ant-card-head{padding:2px 4px!important;min-height:26px}.score-display-container:fullscreen .subject-card-title,body:fullscreen .score-display-container .subject-card-title{font-size:9px!important;gap:2px!important}.score-display-container:fullscreen .subject-ranking-item-compact,body:fullscreen .score-display-container .subject-ranking-item-compact{padding:1px 2px;min-height:14px;font-size:8px;line-height:1.1}.score-display-container:fullscreen .rank-number-small,body:fullscreen .score-display-container .rank-number-small{font-size:7px;min-width:7px}.score-display-container:fullscreen .student-name-tiny,body:fullscreen .score-display-container .student-name-tiny{font-size:8px;line-height:1.1}.score-display-container:fullscreen .score-tiny,body:fullscreen .score-display-container .score-tiny{font-size:7px;min-width:14px}@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)}}.score-display-container .control-panel{position:fixed;top:auto!important;bottom:20px!important;right:20px;z-index:1000}.score-display-container .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}.score-display-container:fullscreen .control-panel,body:fullscreen .score-display-container .control-panel{top:auto!important;bottom:20px!important;right:20px}.main-header{text-align:center;margin:0 0 16px;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}.rank-clickable{cursor:pointer}.rank-clickable:active{transform:scale(.98)}.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;--scroll-container-height: 250px}.scrolling-content{padding:8px 8px 40px;animation:verticalScrollWithPause 60s linear infinite}@keyframes verticalScrollWithPause{0%{transform:translateY(0)}16.67%{transform:translateY(0)}83.33%{transform:translateY(calc(-100% + var(--scroll-container-height)))}to{transform:translateY(calc(-100% + var(--scroll-container-height)))}}.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;margin-bottom: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:auto;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:none;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-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.rank-zoom-card{background:#fffffffa;padding:28px 40px;border-radius:16px;text-align:center;min-width:320px;box-shadow:0 20px 60px #00000040;animation:rankZoomIn .18s ease-out}.rank-zoom-rank{font-size:18px;font-weight:700;color:#ff6b6b;margin-bottom:8px}.rank-zoom-name{font-size:28px;font-weight:800;color:#222;margin-bottom:6px}.rank-zoom-class{font-size:16px;color:#666;margin-bottom:12px}.rank-zoom-score{font-size:20px;font-weight:700;color:#2f54eb}@keyframes rankZoomIn{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.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:auto}.subject-ranking-list{max-height:none}}@media (max-width: 1440px){.main-title{font-size:2rem!important}.subject-ranking-card{height:auto}.subject-ranking-list{max-height:none}.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:auto}.subject-ranking-list{max-height:none}.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}.two-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 var(--scroll-duration, 60s) linear infinite;will-change:transform;transform:translateZ(0)}.column-content.scrolling:hover .records-container{animation-play-state:paused}@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:11px;color:#666;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.2}.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){.two-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){.two-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}.site-landing{--bg: #f5f1e8;--panel: rgba(255, 251, 243, .9);--panel-strong: #fffdf8;--line: rgba(82, 72, 54, .12);--text: #1e1d18;--muted: #6f6758;--primary: #a9481f;--primary-dark: #7c3413;--accent: #145b56;min-height:100vh;color:var(--text);background:radial-gradient(circle at top left,rgba(212,132,73,.22),transparent 28%),radial-gradient(circle at 90% 10%,rgba(20,91,86,.18),transparent 25%),linear-gradient(180deg,#f6f0e5,#f9f6ef 32%,#f4efe5)}.site-landing a{text-decoration:none}.site-landing__nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 36px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6f0e5db;border-bottom:1px solid rgba(82,72,54,.08)}.site-landing__brand{display:flex;align-items:center;gap:14px}.site-landing__brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fffdf8;font-size:22px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,#d87b3d 100%);box-shadow:0 14px 30px #a9481f38}.site-landing__brand-title{font-size:18px;font-weight:700}.site-landing__brand-subtitle{color:var(--muted);font-size:12px}.site-landing__nav-links{display:flex;gap:24px;font-size:14px}.site-landing__nav-links a{color:var(--muted)}.site-landing__ghost-link,.site-landing__primary-btn,.site-landing__secondary-btn{border-radius:999px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.site-landing__ghost-link{padding:10px 18px;color:var(--text);background:#ffffffa6;border:1px solid rgba(82,72,54,.1)}.site-landing__commercial-strip,.site-landing__hero,.site-landing__section,.site-landing__cta,.site-landing__footer{max-width:1240px;margin:0 auto}.site-landing__commercial-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:24px 36px 0}.site-landing__commercial-pill,.site-landing__commercial-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:999px;font-size:13px;border:1px solid rgba(82,72,54,.08)}.site-landing__commercial-pill{background:#ffffffb8;color:var(--muted)}.site-landing__commercial-link{margin-left:auto;color:#fffdf8;background:linear-gradient(135deg,var(--accent) 0%,#1f8176 100%);box-shadow:0 14px 30px #145b5633}.site-landing__hero{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding:64px 36px 42px}.site-landing__badge,.site-landing__capability-eyebrow,.site-landing__section-heading span,.site-landing__value-copy span,.site-landing__cta span,.site-landing__showcase-eyebrow{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(82,72,54,.08);color:var(--primary-dark);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-landing__hero h1{margin:18px 0;font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-.04em;max-width:10.5em}.site-landing__hero p,.site-landing__capability-card p,.site-landing__role-card p,.site-landing__showcase-copy p,.site-landing__value-copy p,.site-landing__benefit-card p,.site-landing__spotlight-card p{color:var(--muted);line-height:1.8;font-size:16px}.site-landing__hero-proof{display:grid;gap:10px;margin-top:22px;max-width:760px}.site-landing__hero-proof-item{position:relative;padding:13px 16px 13px 42px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(82,72,54,.08);color:var(--text);line-height:1.7}.site-landing__hero-proof-item:before{content:"";position:absolute;left:16px;top:18px;width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--accent) 0%,#2d8f84 100%);box-shadow:0 0 0 6px #145b561f}.site-landing__hero-actions{display:flex;gap:14px;margin-top:28px}.site-landing__primary-btn{display:inline-flex;align-items:center;justify-content:center;min-width:140px;padding:14px 22px;color:#fffdf8;background:linear-gradient(135deg,var(--primary) 0%,#d87b3d 100%);box-shadow:0 16px 34px #a9481f47}.site-landing__secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-width:140px;padding:14px 22px;color:var(--text);background:#ffffffb8;border:1px solid rgba(82,72,54,.1)}.site-landing__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}.site-landing__metric-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:#ffffffc7;border:1px solid rgba(82,72,54,.08);border-radius:20px}.site-landing__metric-card strong{font-size:22px}.site-landing__metric-card span{color:var(--muted);line-height:1.6;font-size:13px}.site-landing__deployment-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.site-landing__deployment-point{padding:10px 14px;border-radius:999px;background:#145b5614;border:1px solid rgba(20,91,86,.12);color:var(--accent);font-size:13px}.site-landing__dashboard-shell{position:relative;padding:18px;border-radius:28px;background:#2a2218e6;box-shadow:0 26px 60px #30261c47}.site-landing__shell-bar{display:flex;gap:8px;margin-bottom:16px}.site-landing__shell-bar span,.site-landing__placeholder-bar span{width:10px;height:10px;border-radius:50%;background:#fff5e58f}.site-landing__shell-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.site-landing__hero-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:118px;gap:14px}.site-landing__hero-float{position:absolute;z-index:2;max-width:220px;padding:14px 16px;border-radius:18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 36px #13110d3d}.site-landing__hero-float strong{display:block;margin-bottom:6px;font-size:15px}.site-landing__hero-float span{display:block;font-size:12px;line-height:1.6}.site-landing__hero-float--primary{top:-18px;right:26px;color:#fffdf8;background:#a9481fe6;border:1px solid rgba(255,255,255,.12)}.site-landing__hero-float--accent{bottom:26px;left:-18px;color:#ecfffb;background:#145b56eb;border:1px solid rgba(255,255,255,.12)}.site-landing__hero-shot,.site-landing__showcase-shot{position:relative;overflow:hidden;margin:0;border-radius:22px;background:#fffbf31a;border:1px solid rgba(255,255,255,.12)}.site-landing__hero-shot img,.site-landing__showcase-shot img{display:block;width:100%;height:100%;object-fit:cover}.site-landing__hero-shot:after,.site-landing__showcase-shot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#17120e05,#17120e8f)}.site-landing__hero-shot figcaption,.site-landing__showcase-shot figcaption{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;color:#fffdf8}.site-landing__hero-shot figcaption{display:flex;flex-direction:column;gap:6px}.site-landing__hero-shot figcaption strong{font-size:14px}.site-landing__hero-shot figcaption span,.site-landing__showcase-shot figcaption{font-size:12px;line-height:1.55;color:#fffdf8db}.site-landing__hero-shot--wide{grid-column:span 2}.site-landing__hero-shot--tall{grid-row:span 2}.site-landing__hero-shot--compact{min-height:118px}.site-landing__hero-shot--warm{box-shadow:0 16px 30px #c4703c29}.site-landing__hero-shot--accent{box-shadow:0 16px 30px #145b562e}.site-landing__visual-card{min-height:160px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fffbf3f0,#f5ebdce0);display:flex;flex-direction:column;justify-content:space-between}.site-landing__visual-card--tall{min-height:240px;grid-row:span 2}.site-landing__visual-card--accent{background:linear-gradient(160deg,#145b56eb,#0d3330f5);color:#f8f8f2}.site-landing__visual-title{font-size:15px;font-weight:700}.site-landing__visual-caption,.site-landing__visual-link{font-size:13px;line-height:1.7}.site-landing__visual-card--accent .site-landing__visual-caption,.site-landing__visual-card--accent .site-landing__visual-link{color:#f8f8f2cc}.site-landing__visual-link{padding-top:14px;border-top:1px solid rgba(248,248,242,.16)}.site-landing__mini-bars{display:flex;align-items:end;gap:10px;height:92px}.site-landing__mini-bars span{flex:1;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,#a9481feb,#d684498c)}.site-landing__visual-pills,.site-landing__chip-row{display:flex;flex-wrap:wrap;gap:8px}.site-landing__visual-pills span,.site-landing__chip-row span{padding:8px 12px;border-radius:999px;font-size:12px;background:#145b561a;color:var(--accent)}.site-landing__visual-table{display:grid;gap:10px;margin-top:16px}.site-landing__visual-table span{padding:10px 12px;border-radius:12px;font-size:13px;background:#ffffffb3}.site-landing__section{padding:42px 36px}.site-landing__section--soft{background:linear-gradient(180deg,#ffffff57,#ffffff2e);border-top:1px solid rgba(82,72,54,.06);border-bottom:1px solid rgba(82,72,54,.06)}.site-landing__section--decision,.site-landing__section--delivery,.site-landing__section--faq{padding-top:8px}.site-landing__section--spotlight{padding-top:14px}.site-landing__section--compare{padding-top:10px}.site-landing__section--closure{padding-top:6px}.site-landing__section-heading{max-width:760px;margin-bottom:24px}.site-landing__section-heading h2,.site-landing__value-copy h2,.site-landing__cta h2{margin:14px 0 0;font-size:clamp(28px,4vw,46px);line-height:1.12;letter-spacing:-.03em}.site-landing__capability-list,.site-landing__spotlight-grid,.site-landing__decision-grid,.site-landing__compare-list,.site-landing__delivery-grid,.site-landing__role-grid,.site-landing__ai-grid,.site-landing__scenario-grid,.site-landing__showcase-grid{display:grid;gap:18px}.site-landing__spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-landing__decision-grid,.site-landing__delivery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-landing__faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.site-landing__capability-list{grid-template-columns:repeat(3,minmax(0,1fr))}.site-landing__decision-card,.site-landing__spotlight-card,.site-landing__delivery-card,.site-landing__capability-card,.site-landing__role-card,.site-landing__ai-card,.site-landing__scenario-card,.site-landing__showcase-card{padding:24px;border-radius:26px;background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 38px #3f311f14}.site-landing__decision-card{min-height:180px;background:radial-gradient(circle at 100% 0,rgba(169,72,31,.12),transparent 32%),linear-gradient(180deg,#fffdf9f0,#f5efe5eb)}.site-landing__decision-card strong{display:block;margin-bottom:10px;font-size:22px}.site-landing__decision-card p{margin:0;color:var(--muted);line-height:1.85}.site-landing__delivery-card{min-height:190px;background:radial-gradient(circle at top right,rgba(20,91,86,.12),transparent 28%),linear-gradient(180deg,#f8fcfbf5,#f0f7f5f0)}.site-landing__delivery-card strong{display:block;margin-bottom:10px;font-size:22px}.site-landing__delivery-card p{margin:0;color:var(--muted);line-height:1.85}.site-landing__faq-card{padding:24px;border-radius:24px;background:#fffcf8d6;border:1px solid var(--line);box-shadow:0 18px 38px #3f311f14}.site-landing__faq-card strong{display:block;margin-bottom:10px;font-size:20px}.site-landing__faq-card p{margin:0;color:var(--muted);line-height:1.85}.site-landing__spotlight-card{position:relative;overflow:hidden;background:radial-gradient(circle at top right,rgba(20,91,86,.11),transparent 28%),linear-gradient(180deg,#fffcf7f2,#f7f1e9eb)}.site-landing__spotlight-card:after{content:"";position:absolute;inset:auto -30px -30px auto;width:140px;height:140px;border-radius:999px;background:#a9481f0f}.site-landing__spotlight-index{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;color:#fffdf8;font-weight:700;letter-spacing:.08em;background:linear-gradient(135deg,var(--primary) 0%,#d87b3d 100%);box-shadow:0 14px 26px #a9481f38}.site-landing__capability-card h3,.site-landing__spotlight-card h3,.site-landing__role-card h3,.site-landing__ai-card h3,.site-landing__scenario-card h3,.site-landing__showcase-copy h3{margin:14px 0 12px;font-size:24px;line-height:1.2}.site-landing__role-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.site-landing__ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-landing__scenario-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.site-landing__ai-card,.site-landing__scenario-card{min-height:220px}.site-landing__ai-card{background:linear-gradient(180deg,#fffbf3f0,#f6f0e8eb),linear-gradient(135deg,#145b560f,#a9481f0d)}.site-landing__scenario-card{background:linear-gradient(180deg,#ffffffd1,#fbf7f0e6)}.site-landing__ai-card p,.site-landing__scenario-card p{color:var(--muted);line-height:1.8;font-size:15px}.site-landing__role-card ul{margin:18px 0 0;padding-left:18px;color:var(--muted);line-height:1.8}.site-landing__closure-card{padding:28px;border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(20,91,86,.12),transparent 28%),linear-gradient(135deg,#251f19f5,#3d3022f5);color:#fffdf8;box-shadow:0 24px 54px #2b221838}.site-landing__closure-head{max-width:860px}.site-landing__closure-head span{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.1);color:#fffdf8db;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-landing__closure-head h2{margin:16px 0 0;font-size:clamp(28px,4vw,44px);line-height:1.14;letter-spacing:-.03em}.site-landing__closure-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:24px}.site-landing__closure-step{position:relative;min-height:118px;padding:18px 18px 18px 22px;border-radius:20px;background:#ffffff14;border:1px solid rgba(255,255,255,.08);line-height:1.8;color:#fffdf8eb}.site-landing__closure-step:before{content:"";position:absolute;left:16px;top:20px;width:4px;height:22px;border-radius:999px;background:linear-gradient(180deg,#f3b36c,#d87b3d)}.site-landing__compare-list{grid-template-columns:1fr}.site-landing__compare-card{display:grid;grid-template-columns:1fr 84px 1fr;gap:18px;align-items:stretch;padding:22px;border-radius:28px;background:#fffcf8d6;border:1px solid var(--line);box-shadow:0 18px 38px #3f311f14}.site-landing__compare-col{padding:22px;border-radius:22px;background:#ffffffbd;border:1px solid rgba(82,72,54,.08)}.site-landing__compare-col--accent{background:radial-gradient(circle at top right,rgba(20,91,86,.1),transparent 28%),linear-gradient(180deg,#f7fcfaf5,#f0f8f6f5)}.site-landing__compare-title{margin-bottom:14px;font-size:22px;font-weight:700}.site-landing__compare-col ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.9}.site-landing__compare-arrow{display:grid;place-items:center;font-size:28px;font-weight:700;color:var(--accent)}.site-landing__timeline{display:grid;gap:14px}.site-landing__timeline-item{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center;padding:16px 18px;border-radius:20px;background:#ffffffc7;border:1px solid var(--line)}.site-landing__timeline-index{display:inline-flex;justify-content:center;align-items:center;width:76px;height:54px;border-radius:18px;color:#fffdf8;background:linear-gradient(135deg,var(--accent) 0%,#1f8176 100%);font-weight:700;letter-spacing:.08em}.site-landing__timeline-content{font-size:18px;line-height:1.6}.site-landing__showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-landing__showcase-card{display:grid;gap:18px}.site-landing__showcase-copy{display:flex;flex-direction:column;gap:10px}.site-landing__showcase-placeholder{padding:14px;border-radius:22px;background:linear-gradient(180deg,#241e18eb,#3a2e21fa)}.site-landing__placeholder-window{min-height:260px;border-radius:18px;background:linear-gradient(180deg,#fffbf3fa,#f2ece1f5);padding:14px}.site-landing__placeholder-bar{display:flex;gap:8px;margin-bottom:20px}.site-landing__placeholder-text{display:flex;align-items:center;justify-content:center;min-height:190px;border-radius:14px;padding:18px;color:var(--muted);line-height:1.8;text-align:center;border:1px dashed rgba(82,72,54,.24);background:linear-gradient(135deg,rgba(20,91,86,.05) 0%,transparent 34%),linear-gradient(225deg,rgba(169,72,31,.05) 0%,transparent 30%)}.site-landing__showcase-media{padding:14px;border-radius:22px;background:linear-gradient(180deg,#241e18eb,#3a2e21fa)}.site-landing__showcase-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px;gap:12px}.site-landing__showcase-shot{min-height:160px}.site-landing__showcase-shot--wide{grid-column:span 2}.site-landing__showcase-shot--tall{grid-row:span 2}.site-landing__showcase-shot--stack{min-height:160px}.site-landing__showcase-shot figcaption{display:inline-flex;width:auto;max-width:calc(100% - 28px);padding:8px 12px;border-radius:999px;background:#13110d7a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-landing__showcase-scene{padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#145b5614,#145b560a);border:1px solid rgba(20,91,86,.12);color:var(--accent);line-height:1.8}.site-landing__section--value{display:grid;grid-template-columns:.96fr 1.04fr;gap:24px;align-items:start}.site-landing__value-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.site-landing__benefit-list{display:grid;gap:14px;margin-top:22px}.site-landing__benefit-card{padding:18px 20px;border-radius:20px;background:#ffffffbd;border:1px solid rgba(82,72,54,.08)}.site-landing__benefit-card strong{display:block;margin-bottom:8px;font-size:18px}.site-landing__benefit-card p{margin:0}.site-landing__value-panels div{display:flex;flex-direction:column;gap:10px;min-height:140px;padding:22px;border-radius:24px;background:#ffffffc2;border:1px solid var(--line)}.site-landing__value-panels strong{font-size:20px}.site-landing__value-panels span{color:var(--muted);line-height:1.75}.site-landing__cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px;padding:34px 36px 68px}.site-landing__cta-actions{display:flex;gap:12px;flex-shrink:0}.site-landing__footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:0 36px 42px;color:var(--muted)}.site-landing__footer strong{display:block;margin-bottom:6px;color:var(--text)}.site-landing__footer-links{display:flex;gap:18px}.site-landing__footer-links a{color:var(--muted)}.site-landing__ghost-link:hover,.site-landing__primary-btn:hover,.site-landing__secondary-btn:hover{transform:translateY(-1px)}@media (max-width: 1100px){.site-landing__hero,.site-landing__section--value,.site-landing__cta{grid-template-columns:1fr;display:grid}.site-landing__capability-list,.site-landing__spotlight-grid,.site-landing__decision-grid,.site-landing__compare-list,.site-landing__delivery-grid,.site-landing__faq-list,.site-landing__role-grid,.site-landing__ai-grid,.site-landing__scenario-grid,.site-landing__showcase-grid,.site-landing__value-panels,.site-landing__metrics,.site-landing__showcase-gallery,.site-landing__closure-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.site-landing__cta{justify-content:start}}@media (max-width: 860px){.site-landing__nav{flex-wrap:wrap;padding:18px 20px}.site-landing__nav-links{order:3;width:100%;justify-content:space-between;gap:10px;overflow-x:auto}.site-landing__hero,.site-landing__section,.site-landing__cta,.site-landing__footer,.site-landing__commercial-strip{padding-left:20px;padding-right:20px}.site-landing__capability-list,.site-landing__spotlight-grid,.site-landing__decision-grid,.site-landing__compare-list,.site-landing__delivery-grid,.site-landing__faq-list,.site-landing__role-grid,.site-landing__ai-grid,.site-landing__scenario-grid,.site-landing__showcase-grid,.site-landing__value-panels,.site-landing__metrics,.site-landing__shell-grid,.site-landing__hero-gallery,.site-landing__showcase-gallery,.site-landing__closure-flow{grid-template-columns:1fr}.site-landing__hero-shot--wide,.site-landing__showcase-shot--wide{grid-column:span 1}.site-landing__hero-shot--tall,.site-landing__showcase-shot--tall{grid-row:span 1}.site-landing__hero-float{position:static;max-width:none;margin-bottom:12px}.site-landing__compare-card{grid-template-columns:1fr}.site-landing__compare-arrow{min-height:52px;font-size:24px;transform:rotate(90deg)}.site-landing__timeline-item{grid-template-columns:1fr}.site-landing__timeline-index{width:100%}.site-landing__hero-actions,.site-landing__cta-actions,.site-landing__footer,.site-landing__nav-actions,.site-landing__commercial-strip{flex-direction:column;align-items:stretch}.site-landing__primary-btn,.site-landing__secondary-btn,.site-landing__ghost-link,.site-landing__commercial-link{width:100%;text-align:center}.site-landing__commercial-link{margin-left:0}}.guide-page{--bg: #f3efe7;--panel: rgba(255, 251, 244, .92);--panel-strong: #fffdfa;--line: rgba(77, 66, 49, .12);--text: #1f1a14;--muted: #6e6457;--primary: #9f431d;--primary-dark: #7a3212;--accent: #135b55;min-height:100vh;color:var(--text);background:radial-gradient(circle at top left,rgba(159,67,29,.18),transparent 28%),radial-gradient(circle at 100% 0,rgba(19,91,85,.16),transparent 26%),linear-gradient(180deg,#f5f1e8,#f7f3ec 38%,#f2ede4)}.guide-page__header,.guide-page__main{max-width:1320px;margin:0 auto}.guide-page__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 36px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f1e8e0;border-bottom:1px solid rgba(77,66,49,.08)}.guide-page__brand{display:flex;align-items:center;gap:14px}.guide-page__brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fffdfa;font-size:22px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,#d27b48 100%);box-shadow:0 16px 34px #9f431d3d}.guide-page__brand-title{font-size:18px;font-weight:700}.guide-page__brand-subtitle{color:var(--muted);font-size:12px}.guide-page__header-actions{display:flex;gap:12px}.guide-page__ghost-link,.guide-page__primary-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:999px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.guide-page__ghost-link{color:var(--text);background:#ffffffad;border:1px solid rgba(77,66,49,.1)}.guide-page__primary-link{color:#fffdfa;background:linear-gradient(135deg,var(--primary) 0%,#d27b48 100%);box-shadow:0 14px 30px #9f431d42}.guide-page__main{padding:42px 36px 72px}.guide-page__hero{display:grid;grid-template-columns:1.02fr .98fr;gap:24px;align-items:start;margin-bottom:32px}.guide-page__hero-copy,.guide-page__hero-panel,.guide-page__module-card{border-radius:28px;background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 40px #3c312114}.guide-page__hero-copy{padding:32px}.guide-page__badge,.guide-page__section-head span,.guide-page__module-meta span,.guide-page__path-hint span{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-dark);background:#ffffffb8;border:1px solid rgba(77,66,49,.08)}.guide-page__hero-copy h1{margin:18px 0 14px;font-size:clamp(34px,4.6vw,62px);line-height:1.06;letter-spacing:-.04em}.guide-page__hero-copy p,.guide-page__section-head p,.guide-page__module-body p{color:var(--muted);line-height:1.8;font-size:16px}.guide-page__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}.guide-page__stats div{padding:16px 18px;border-radius:18px;background:#ffffffc7;border:1px solid rgba(77,66,49,.08)}.guide-page__stats strong{display:block;font-size:20px;margin-bottom:8px}.guide-page__stats span{color:var(--muted);font-size:13px;line-height:1.65}.guide-page__hero-panel{padding:24px;background:linear-gradient(180deg,#fffdfaf0,#f6efe5f0)}.guide-page__tab-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.guide-page__tab{border:0;border-radius:999px;padding:12px 18px;background:#ffffffc2;color:var(--muted);font-size:14px;font-weight:700;cursor:pointer}.guide-page__tab.is-active{color:#fffdfa;background:linear-gradient(135deg,var(--accent) 0%,#1d7d73 100%)}.guide-page__menu-groups{display:grid;gap:12px}.guide-page__menu-group{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(77,66,49,.08)}.guide-page__menu-chip{padding:8px 12px;border-radius:999px;font-size:13px;color:var(--accent);background:#135b551a}.guide-page__section{margin-top:22px}.guide-page__section-head{max-width:860px;margin-bottom:22px}.guide-page__section-head h2{margin:14px 0 12px;font-size:clamp(28px,4vw,46px);line-height:1.12;letter-spacing:-.03em}.guide-page__module-list{display:grid;gap:18px}.guide-page__catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.guide-page__workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.guide-page__catalog-card{padding:18px 20px;border-radius:22px;background:#ffffffc2;border:1px solid var(--line);box-shadow:0 14px 30px #3c31210f}.guide-page__catalog-card strong{display:block;margin-bottom:8px;font-size:18px}.guide-page__catalog-card p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}.guide-page__workflow-card{padding:20px 22px;border-radius:22px;background:linear-gradient(180deg,#fffaf4eb,#f5ede1f0);border:1px solid var(--line);box-shadow:0 14px 30px #3c31210f}.guide-page__workflow-card strong,.guide-page__steps strong{display:block;margin-bottom:10px;font-size:18px}.guide-page__workflow-card ol,.guide-page__steps ol{margin:0;padding-left:20px;color:var(--muted);line-height:1.8}.guide-page__module-card{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px;padding:20px}.guide-page__module-copy{display:grid;grid-template-columns:70px 1fr;gap:16px}.guide-page__module-index{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;color:#fffdfa;background:linear-gradient(135deg,var(--primary) 0%,#d27b48 100%);font-size:20px;font-weight:700}.guide-page__module-body h3{margin:14px 0 10px;font-size:28px;line-height:1.18}.guide-page__module-meta,.guide-page__path-hint{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.guide-page__module-meta code,.guide-page__path-hint code{padding:8px 12px;border-radius:12px;background:#135b5514;color:var(--accent);font-size:13px}.guide-page__path-hint{margin:14px 0}.guide-page__module-body ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.75}.guide-page__steps{margin-top:16px;padding:16px 18px;border-radius:18px;background:#135b550f;border:1px solid rgba(19,91,85,.08)}.guide-page__focus-panel{margin-top:18px;padding:18px;border-radius:20px;background:linear-gradient(180deg,#9f431d0d,#135b550d);border:1px solid rgba(77,66,49,.1)}.guide-page__focus-panel>p{margin:8px 0 0}.guide-page__focus-block{margin-top:14px;padding:14px 16px;border-radius:16px;background:#ffffffb3;border:1px solid rgba(77,66,49,.08)}.guide-page__focus-block span{display:inline-flex;align-items:center;margin-bottom:8px;padding:6px 10px;border-radius:999px;font-size:12px;color:var(--accent);background:#135b551a}.guide-page__focus-block ul,.guide-page__focus-block ol{margin:0;padding-left:20px;color:var(--muted);line-height:1.8}.guide-page__module-media{position:relative;min-height:0;padding:10px;display:flex;align-items:flex-start;justify-content:center;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#fffdf9f5,#f4eee5f5);border:1px solid rgba(77,66,49,.08)}.guide-page__module-media img{display:block;width:100%;height:auto;object-fit:contain;object-position:top center;border-radius:16px;background:#fff}.guide-page__module-media--phone{max-height:760px}.guide-page__module-media--phone img{width:auto;height:100%;max-width:100%;margin:0 auto;object-fit:contain}.guide-page__module-media--phone-compact{max-height:420px;padding:12px}.guide-page__module-media--phone-compact img{width:100%;height:396px;max-width:none;max-height:none;object-fit:cover;object-position:top center}.guide-page__image-mask{position:absolute;border-radius:12px;background:repeating-linear-gradient(45deg,#565656f2 0,#565656f2 10px,#707070f2 10px,#707070f2 20px);box-shadow:inset 0 0 0 1px #ffffff24}.guide-page__placeholder{min-height:280px;display:grid;place-items:center;color:#fffdfad1;font-size:16px}.guide-page__ghost-link:hover,.guide-page__primary-link:hover,.guide-page__tab:hover{transform:translateY(-1px)}@media (max-width: 1100px){.guide-page__hero,.guide-page__catalog-grid,.guide-page__workflow-grid,.guide-page__module-card,.guide-page__stats{grid-template-columns:1fr}}@media (max-width: 860px){.guide-page__header,.guide-page__main{padding-left:20px;padding-right:20px}.guide-page__header{flex-direction:column;align-items:stretch}.guide-page__header-actions{flex-direction:column}.guide-page__ghost-link,.guide-page__primary-link{width:100%}.guide-page__module-copy{grid-template-columns:1fr}.guide-page__module-index{width:100%;height:52px}}.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}.leave-delete-confirm-modal .ant-modal-confirm-btns{display:flex;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.leave-delete-confirm-modal .ant-modal-confirm-btns .ant-btn{margin-inline-start:0!important;white-space:nowrap;flex:0 0 auto}.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)}.leave-requests-table .ant-table-thead>tr>th{font-size:12px!important;padding:6px 8px!important}.leave-requests-table .ant-table-tbody>tr>td{font-size:12px!important;padding:6px 8px!important}.leave-requests-table .ant-btn{min-height:24px!important;height:24px!important;padding:0 6px!important;font-size:12px!important}.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}}
