/*!
 * Cropper.js v1.6.2
 * https://fengyuanchen.github.io/cropperjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2024-04-21T07:43:02.731Z
 */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media(min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media(min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media(min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.dialog-overlay[data-v-73c6c3cb]{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a143273;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}.dialog-overlay.show[data-v-73c6c3cb]{opacity:1;pointer-events:auto}.dialog-box[data-v-73c6c3cb]{background:#fffffff2;border-radius:24px;padding:28px 24px 22px;width:90%;max-width:360px;box-shadow:0 12px 40px #ce93d859;text-align:center;transform:translateY(16px) scale(.96);transition:transform .25s ease}.dialog-overlay.show .dialog-box[data-v-73c6c3cb]{transform:translateY(0) scale(1)}.dialog-title[data-v-73c6c3cb]{font-size:1.15rem;font-weight:700;color:#880e4f;margin-bottom:12px}.dialog-message[data-v-73c6c3cb]{font-size:.95rem;color:#666;margin-bottom:20px;line-height:1.5}.dialog-box input[data-v-73c6c3cb]{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #e1bee7;border-radius:14px;font-size:.95rem;outline:none;margin-bottom:20px;transition:border-color .2s}.dialog-box input[data-v-73c6c3cb]:focus{border-color:#ba68c8}.dialog-actions[data-v-73c6c3cb]{display:flex;gap:12px;justify-content:center}.dialog-btn[data-v-73c6c3cb]{flex:1;padding:10px 18px;border:none;border-radius:14px;font-size:.92rem;font-weight:700;cursor:pointer;transition:all .2s}.dialog-btn-confirm[data-v-73c6c3cb]{background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff}.dialog-btn-confirm[data-v-73c6c3cb]:hover{box-shadow:0 4px 14px #f48fb166}.dialog-btn-cancel[data-v-73c6c3cb]{background:#f3e5f5;color:#880e4f}.dialog-btn-cancel[data-v-73c6c3cb]:hover{background:#e1bee7}.review-layout[data-v-3b4594e6]{display:flex;gap:20px;align-items:flex-start}.review-sidebar[data-v-3b4594e6]{width:180px;flex-shrink:0;background:#ffffffe6;border-radius:20px;padding:16px;box-shadow:0 6px 24px #ce93d826}.review-sidebar-title[data-v-3b4594e6]{font-size:1rem;font-weight:700;color:#880e4f;margin-bottom:14px;padding-left:8px}.review-menu-item[data-v-3b4594e6]{width:100%;display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:8px;border:none;border-radius:14px;background:transparent;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s}.review-menu-item[data-v-3b4594e6]:hover{background:#f3e5f5;color:#8e24aa}.review-menu-item.active[data-v-3b4594e6]{background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;box-shadow:0 4px 12px #f48fb14d}.review-content[data-v-3b4594e6]{flex:1;min-width:0}@media(max-width:640px){.review-layout[data-v-3b4594e6]{flex-direction:column}.review-sidebar[data-v-3b4594e6]{width:100%;display:flex;flex-wrap:wrap;gap:8px}.review-sidebar-title[data-v-3b4594e6]{width:100%;margin-bottom:8px}.review-menu-item[data-v-3b4594e6]{width:auto;flex:1;min-width:90px;margin-bottom:0}}.login-page[data-v-f16cf494]{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:20px}.login-card[data-v-f16cf494]{background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;padding:40px 32px;width:100%;max-width:380px;box-shadow:0 8px 32px #ce93d840;text-align:center}.login-card h1[data-v-f16cf494]{margin:0 0 8px;font-size:1.6rem;color:#880e4f}.login-sub[data-v-f16cf494]{color:#888;margin-bottom:24px}.login-error[data-v-f16cf494]{background:#ffebee;color:#c62828;padding:10px 14px;border-radius:12px;font-size:.85rem;margin-bottom:16px}.login-card input[data-v-f16cf494]{width:100%;margin-bottom:12px;padding:12px 16px;border:1px solid #e1bee7;border-radius:14px;font-size:.95rem;outline:none;transition:border-color .2s;box-sizing:border-box}.login-card input[data-v-f16cf494]:focus{border-color:#ba68c8}.btn-submit[data-v-f16cf494]{width:100%;padding:12px;border:none;border-radius:14px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;font-size:1rem;cursor:pointer;margin-top:8px;transition:all .2s}.btn-submit[data-v-f16cf494]:hover{box-shadow:0 4px 16px #f48fb166}.login-toggle[data-v-f16cf494]{margin-top:18px;font-size:.85rem;color:#666}.login-toggle a[data-v-f16cf494]{color:#ab47bc;margin-left:6px;text-decoration:none}.btn-back-login[data-v-f16cf494]{margin-top:16px;background:none;border:none;color:#999;cursor:pointer;font-size:.85rem}/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * 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:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.quill-editor[data-v-8ab1090c] .ql-toolbar{border-radius:12px 12px 0 0;border-color:#f48fb159;background:#fff}.quill-editor[data-v-8ab1090c] .ql-container{border-radius:0 0 12px 12px;border-color:#f48fb159;background:#fff;min-height:180px;font-size:.95rem}.quill-editor[data-v-8ab1090c] .ql-editor{min-height:180px}.quill-editor[data-v-8ab1090c] .ql-editor.ql-blank:before{color:#bbb;font-style:normal}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans SC,Zen Maru Gothic,sans-serif;background:linear-gradient(135deg,#fce4ec,#f3e5f5,#e8eaf6);min-height:100vh;color:#4a4a4a;overflow-x:hidden;position:relative;padding-bottom:100px}.butterfly-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.butterfly{position:absolute;top:-40px;font-size:20px;animation:fall linear infinite;opacity:.7}.butterfly:nth-child(1){left:5%;animation-duration:8s;animation-delay:0s;font-size:18px}.butterfly:nth-child(2){left:15%;animation-duration:10s;animation-delay:1s;font-size:22px}.butterfly:nth-child(3){left:25%;animation-duration:9s;animation-delay:2s;font-size:16px}.butterfly:nth-child(4){left:35%;animation-duration:11s;animation-delay:.5s;font-size:20px}.butterfly:nth-child(5){left:45%;animation-duration:7s;animation-delay:1.5s;font-size:24px}.butterfly:nth-child(6){left:55%;animation-duration:9s;animation-delay:3s;font-size:18px}.butterfly:nth-child(7){left:65%;animation-duration:12s;animation-delay:.8s;font-size:20px}.butterfly:nth-child(8){left:75%;animation-duration:8s;animation-delay:2.5s;font-size:22px}.butterfly:nth-child(9){left:85%;animation-duration:10s;animation-delay:1.2s;font-size:16px}.butterfly:nth-child(10){left:92%;animation-duration:9s;animation-delay:.3s;font-size:20px}@keyframes fall{0%{transform:translateY(-10vh) rotate(0);opacity:.8}70%{opacity:.6}to{transform:translateY(110vh) rotate(720deg);opacity:0}}header{position:relative;z-index:1;text-align:center;padding:60px 20px 40px;background:linear-gradient(180deg,rgba(248,187,208,.4) 0%,transparent 100%)}.header-avatar{width:120px;height:120px;border-radius:50%;border:4px solid #f48fb1;box-shadow:0 0 20px #f48fb180;margin-bottom:16px;background:#fff;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.header-avatar img{width:100%;height:100%;object-fit:cover}.header-avatar .avatar-emoji{font-size:60px}.avatar-upload-btn{position:absolute;bottom:2px;right:2px;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;border:2px solid #fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.avatar-upload-btn:hover{transform:scale(1.1)}header h1{font-size:2.4rem;color:#ad1457;text-shadow:0 2px 8px rgba(173,20,87,.15);letter-spacing:2px}header h1 .sparkle{display:inline-block;animation:sparkle 1.5s ease-in-out infinite alternate}@keyframes sparkle{0%{transform:scale(1) rotate(0)}to{transform:scale(1.2) rotate(15deg)}}header .subtitle{margin-top:8px;font-size:1rem;color:#7e57c2;letter-spacing:1px}.top-navbar{position:fixed;top:0;left:0;width:100%;z-index:100;background:#ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 2px 16px #ad14571a;border-bottom:2px solid rgba(244,143,177,.25);display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px}.top-navbar .nav-brand{font-size:1.05rem;font-weight:700;color:#ad1457;letter-spacing:1px;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:6px;text-decoration:none}.top-navbar .nav-brand .brand-icon{font-size:1.3rem}.top-navbar .nav-links{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow:visible}.top-navbar .nav-links button,.top-navbar .nav-links a{padding:7px 18px;border-radius:20px;font-size:.84rem;font-weight:700;border:2px solid transparent;cursor:pointer;transition:all .3s;background:transparent;color:#ad1457;white-space:nowrap;position:relative;text-decoration:none;display:inline-flex;align-items:center}.top-navbar .nav-links button:hover,.top-navbar .nav-links a:hover{background:#f48fb11f;transform:translateY(-1px)}.top-navbar .nav-links button.active,.top-navbar .nav-links a.active,.top-navbar .nav-links a.router-link-active{background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;border-color:transparent;box-shadow:0 3px 10px #f48fb159}.nav-sub-wrap{position:relative;overflow:visible}.nav-sub-trigger{display:flex;align-items:center;gap:4px}.nav-sub-trigger .sub-arrow{font-size:.6rem;transition:transform .2s;display:inline-block}.nav-sub-wrap.open .nav-sub-trigger .sub-arrow{transform:rotate(180deg)}.nav-sub-menu{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:160px;background:#fff;border-radius:12px;box-shadow:0 8px 28px #00000026;border:1px solid rgba(244,143,177,.2);overflow:hidden;z-index:1000;padding:4px 0}.nav-sub-wrap.open .nav-sub-menu{display:block}.nav-sub-menu:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff}.nav-sub-item{display:flex;align-items:center;gap:8px;padding:9px 16px;font-size:.82rem;color:#4a4a4a;cursor:pointer;transition:background .15s;border:none;background:none;width:100%;text-align:left;font-family:inherit;font-weight:600;white-space:nowrap}.nav-sub-item:hover{background:#fce4ec;color:#ad1457}.nav-sub-item.active,.nav-sub-item.router-link-active{background:linear-gradient(135deg,#f48fb126,#ce93d826);color:#ad1457}.nav-sub-item .sub-icon{font-size:.95rem;width:20px;text-align:center}.nav-sub-item .sub-badge{font-size:.68rem;padding:1px 7px;border-radius:8px;background:#fff3e0;color:#e65100;font-weight:700;margin-left:auto}.top-navbar .nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.top-navbar .nav-right .btn-sm{padding:6px 16px;border-radius:16px;font-size:.8rem;font-weight:700;cursor:pointer;border:2px solid #f48fb1;transition:all .3s}.top-navbar .nav-right .btn-login{background:#ffffffbf;color:#ad1457}.top-navbar .nav-right .btn-login:hover{background:#f48fb1;color:#fff}.top-navbar .nav-right .btn-logout{background:#ffffff80;color:#999;border-color:#ddd}.top-navbar .nav-right .btn-logout:hover{background:#ffcdd2;color:#c62828;border-color:#ef9a9a}.top-navbar .nav-right .user-name{font-size:.85rem;color:#ad1457;font-weight:700}.top-navbar .nav-right .role-badge{font-size:.65rem;padding:1px 8px;border-radius:8px;background:#f3e5f5;color:#7b1fa2;margin-left:4px;font-weight:700}.user-stats{display:flex;align-items:center;gap:6px;margin-right:6px}.user-stats .stat-points,.user-stats .stat-level{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:10px;background:#ffffffd9;color:#ad1457;border:1px solid rgba(244,143,177,.35);white-space:nowrap}.user-stats .stat-level{background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;border-color:transparent}.nav-avatar-wrap{position:relative}.nav-avatar-btn{width:36px;height:36px;border-radius:50%;border:2px solid #f48fb1;background:#fff;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.nav-avatar-btn:hover{border-color:#ce93d8;box-shadow:0 2px 10px #f48fb166}.nav-avatar-btn img{width:100%;height:100%;object-fit:cover}.nav-avatar-btn .avatar-emoji{font-size:18px}.nav-dropdown{display:none;position:absolute;top:44px;right:0;width:200px;background:#fff;border-radius:14px;box-shadow:0 8px 28px #00000026;border:1px solid rgba(244,143,177,.25);overflow:hidden;z-index:300}.nav-dropdown.show{display:block}.nav-dropdown-header{padding:12px 14px;background:linear-gradient(135deg,#fce4ec,#f3e5f5);border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:10px}.nav-dropdown-header .dd-avatar{width:38px;height:38px;border-radius:50%;border:2px solid #f48fb1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;flex-shrink:0}.nav-dropdown-header .dd-avatar img{width:100%;height:100%;object-fit:cover}.nav-dropdown-header .dd-info{flex:1;min-width:0}.nav-dropdown-header .dd-name{font-size:.85rem;font-weight:700;color:#ad1457;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-dropdown-header .dd-role{font-size:.7rem;color:#7e57c2}.nav-dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:.84rem;color:#4a4a4a;cursor:pointer;transition:background .2s;border:none;background:none;width:100%;text-align:left;font-family:inherit}.nav-dropdown-item:hover{background:#fce4ec}.nav-dropdown-item .dd-icon{font-size:1rem;width:20px;text-align:center}.nav-dropdown-divider{height:1px;background:#f0f0f0;margin:2px 0}.nav-dropdown-item.danger{color:#e53935}.nav-dropdown-item.danger:hover{background:#ffebee}.pending-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff9800;margin-left:4px;vertical-align:middle}.nav-spacer{height:56px}@media(max-width:700px){.top-navbar{padding:0 12px;height:50px}.top-navbar .nav-brand{font-size:.9rem}.top-navbar .nav-links button{padding:5px 12px;font-size:.78rem}.nav-spacer{height:50px}}.bell-wrap{position:relative;cursor:pointer;font-size:1.3rem;padding:4px 8px;transition:transform .2s}.bell-wrap:hover{transform:scale(1.15)}.bell-dot{position:absolute;top:2px;right:4px;width:10px;height:10px;border-radius:50%;background:#e53935;border:2px solid #fff;display:none}.bell-dot.show{display:block;animation:pulse .8s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.msg-panel{display:none;position:fixed;top:60px;right:20px;width:360px;max-height:500px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;z-index:200;overflow:hidden}.msg-panel.show{display:block}.msg-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #f0f0f0;background:linear-gradient(135deg,#fce4ec,#f3e5f5)}.msg-panel-header h3{font-size:.95rem;color:#ad1457}.msg-panel-header button{background:none;border:none;font-size:.8rem;color:#7e57c2;cursor:pointer;font-weight:700}.msg-list{max-height:400px;overflow-y:auto}.msg-item{padding:12px 18px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background .2s}.msg-item:hover{background:#fce4ec}.msg-item.unread{background:#fff3e0;border-left:3px solid #ff9800}.msg-item .msg-title{font-size:.88rem;font-weight:700;color:#333;margin-bottom:4px}.msg-item .msg-body{font-size:.8rem;color:#777;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:all .3s}.msg-item.expanded .msg-body{-webkit-line-clamp:unset;display:block;color:#444;line-height:1.7}.msg-item .msg-time{font-size:.72rem;color:#bbb;margin-top:4px}.msg-item .msg-read-mark{display:inline-block;font-size:.7rem;color:#4caf50;margin-left:8px;font-weight:700}.msg-item .msg-type{font-size:.68rem;padding:1px 6px;border-radius:8px;margin-left:6px}.msg-type-announcement{background:#e3f2fd;color:#1565c0}.msg-type-private{background:#f3e5f5;color:#7b1fa2}.msg-empty{text-align:center;padding:40px 20px;color:#bbb;font-size:.88rem}.msg-reply-btn{padding:3px 10px;border-radius:10px;font-size:.72rem;font-weight:700;cursor:pointer;border:1px solid #f48fb1;background:#fff;color:#ad1457;margin-left:8px}.msg-reply-btn:hover{background:#fce4ec}nav#navTags.tag-sidebar{position:fixed;top:56px;left:0;width:150px;height:calc(100vh - 56px);z-index:50;display:none;flex-direction:column;gap:10px;padding:20px 12px;overflow-y:auto;background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:2px solid rgba(244,143,177,.25)}nav#navTags.tag-sidebar.show{display:flex}nav#navTags.tag-sidebar a{display:block;padding:9px 14px;border-radius:16px;background:#ffffffbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ad1457;text-decoration:none;font-weight:700;font-size:.86rem;border:2px solid #f48fb1;transition:all .3s;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nav#navTags.tag-sidebar a:hover{background:#f48fb1;color:#fff;transform:translate(4px);box-shadow:0 4px 12px #f48fb166}nav#navTags.tag-sidebar a.active{background:#f48fb1;color:#fff;box-shadow:0 4px 12px #f48fb166}main{position:relative;z-index:1;max-width:800px;margin:0 auto;padding:0 20px 60px}.has-sidebar main{margin-left:170px;margin-right:auto}.has-sidebar .park-section,.has-sidebar .section-wrap{margin-left:170px;margin-right:auto}.btn-load-more{display:block;margin:20px auto;padding:12px 36px;border-radius:24px;background:#fffc;color:#ad1457;font-size:.95rem;font-weight:700;border:2px solid #f48fb1;cursor:pointer;transition:all .3s}.btn-load-more:hover{background:#f48fb1;color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px #f48fb166}.btn-load-more:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.post-card{background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:30px;margin-bottom:28px;border:2px solid rgba(244,143,177,.3);box-shadow:0 8px 32px #ad145714;transition:all .3s;position:relative;overflow:hidden}.post-card:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:linear-gradient(180deg,#f48fb1,#ce93d8);border-radius:3px 0 0 3px}.post-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #ad145726;border-color:#f48fb1}.post-card .tag{display:inline-block;padding:3px 12px;border-radius:12px;font-size:.75rem;font-weight:700;margin-right:8px;margin-bottom:10px}.tag-pink{background:#fce4ec;color:#c62828}.tag-purple{background:#f3e5f5;color:#6a1b9a}.tag-blue{background:#e3f2fd;color:#1565c0}.tag-green{background:#e8f5e9;color:#2e7d32}.post-card h2{font-size:1.4rem;color:#880e4f;margin-bottom:10px;line-height:1.5;cursor:pointer}.post-card h2:hover{color:#ad1457}.post-card .meta{font-size:.82rem;color:#9e9e9e;margin-bottom:14px}.post-card .meta span{margin-right:16px}.post-card .excerpt{font-size:.95rem;line-height:1.8;color:#555}.post-card .full-content{display:none;font-size:.95rem;line-height:1.9;color:#444;margin-top:16px;padding-top:16px;padding-left:12px;border-top:1px dashed #f48fb1}.post-card .full-content.show{display:block}.post-card .full-content img{max-width:100%;border-radius:12px;margin:8px 0;cursor:zoom-in}.post-card .full-content.nsfw img{filter:blur(24px) brightness(.7);cursor:pointer;transition:filter .3s}.post-card .full-content.nsfw img:hover{filter:blur(20px) brightness(.75)}.post-card .full-content.nsfw:after{content:"🔞 点击显示图片";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#0009;color:#fff;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:700;pointer-events:none}.post-card .full-content{position:relative}.post-card .excerpt img{max-width:100%;border-radius:12px}.post-card .read-more{display:inline-block;margin-top:16px;padding:8px 20px;border-radius:20px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;text-decoration:none;font-size:.85rem;font-weight:700;transition:all .3s;box-shadow:0 3px 10px #f48fb14d;cursor:pointer;border:none}.post-card .read-more:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f48fb180}.post-author{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.85rem}.post-author .author-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;overflow:hidden}.post-author .author-avatar img{width:28px;height:28px;border-radius:50%;object-fit:cover}.post-author .author-name{font-weight:700;color:#7e57c2}.btn-author-follow{margin-left:4px;padding:2px 10px;border:none;border-radius:10px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-author-follow.following{background:#f3e5f5;color:#880e4f}.btn-author-follow:hover{box-shadow:0 2px 8px #f48fb159}.status-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:.72rem;font-weight:700;margin-left:8px}.status-pending{background:#fff3e0;color:#e65100}.status-rejected{background:#ffebee;color:#c62828}.status-approved{background:#e8f5e9;color:#2e7d32}.btn-like{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:16px;background:#fffc;border:2px solid #f48fb1;color:#ad1457;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .3s;margin-top:12px}.btn-like:hover{background:#fce4ec;transform:translateY(-1px);box-shadow:0 3px 10px #f48fb14d}.btn-like.liked{background:#f48fb1;color:#fff;border-color:#f48fb1}.btn-like .like-icon{font-size:1rem;transition:transform .3s}.btn-like:active .like-icon{transform:scale(1.4)}.comments-section{margin-top:20px;padding-top:16px;border-top:2px dashed rgba(244,143,177,.3)}.comments-section h3{font-size:.95rem;color:#ad1457;margin-bottom:12px}.comment-item{padding:10px 14px;background:#fce4ec40;border-radius:12px;margin-bottom:8px;font-size:.88rem;position:relative}.comment-item .c-nick{font-weight:700;color:#7e57c2;margin-right:8px}.comment-item .c-time{font-size:.75rem;color:#bbb;margin-left:8px}.comment-item .c-text{color:#555;margin-top:4px}.comment-form{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.comment-form input,.comment-form textarea{border:2px solid rgba(244,143,177,.3);border-radius:12px;padding:8px 12px;font-size:.85rem;font-family:inherit;outline:none;transition:border-color .3s}.comment-form input:focus,.comment-form textarea:focus{border-color:#f48fb1}.comment-form input{width:120px}.comment-form textarea{flex:1;min-width:200px;min-height:36px;resize:vertical}.comment-form button{padding:8px 18px;border-radius:16px;background:linear-gradient(135deg,#ce93d8,#f48fb1);color:#fff;border:none;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .3s}.comment-form button:hover{transform:translateY(-1px);box-shadow:0 3px 10px #ce93d866}.btn-delete{background:none;border:none;color:#e57373;font-size:.78rem;cursor:pointer;padding:2px 8px;border-radius:8px;transition:all .2s}.btn-delete:hover{background:#ffebee;color:#c62828}.btn-delete-post{position:absolute;top:14px;right:14px;font-size:.82rem;padding:4px 12px}.btn-report{background:none;border:none;color:#ffb74d;font-size:.78rem;cursor:pointer;padding:2px 8px;border-radius:8px;transition:all .2s}.btn-report:hover{background:#fff3e0;color:#ef6c00}.post-card .btn-report{position:absolute;top:14px;right:76px;font-size:.82rem;padding:4px 12px}.comment-item .btn-delete{position:absolute;top:8px;right:8px}.park-section{display:none;max-width:800px;margin:0 auto;padding:0 20px 60px;position:relative;z-index:1}.park-section.show{display:block}.park-empty{text-align:center;padding:60px 20px;color:#999;font-size:1rem}.fab-refresh{position:fixed;bottom:28px;right:28px;z-index:90;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;border:none;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 16px #f48fb173;transition:all .3s;display:flex;align-items:center;justify-content:center;padding:0}.fab-refresh:hover{transform:scale(1.1) rotate(180deg);box-shadow:0 6px 22px #f48fb18c}.fab-refresh:active{transform:scale(.95)}.fab-top{position:fixed;bottom:88px;right:28px;z-index:90;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#90caf9,#64b5f6);color:#fff;border:none;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 16px #90caf973;transition:all .3s;display:flex;align-items:center;justify-content:center;padding:0}.fab-top:hover{transform:scale(1.1);box-shadow:0 6px 22px #90caf98c}.fab-top:active{transform:scale(.95)}.section-wrap{display:none;max-width:800px;margin:0 auto;padding:0 20px 60px;position:relative;z-index:1}.section-wrap.show{display:block}.btn-back{background:none;border:none;color:#ce93d8;font-size:.9rem;cursor:pointer;padding:8px 0;margin-bottom:12px;display:flex;align-items:center;gap:4px;transition:color .2s}.btn-back:hover{color:#ab47bc}.profile-header{display:flex;align-items:center;gap:16px;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:20px;margin-bottom:20px;box-shadow:0 4px 20px #0000000f}.profile-avatar{flex-shrink:0}.profile-info{flex:1}.profile-info h2{margin:0 0 8px;font-size:1.4rem;color:#4a3b52}.profile-points{margin-left:10px;color:#888;font-size:.9rem}.profile-actions{display:flex;flex-direction:column;gap:8px}.btn-profile-follow,.btn-profile-msg,.btn-profile-block{border:none;border-radius:12px;padding:8px 16px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-profile-follow{background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff}.btn-profile-follow.following{background:#f3e5f5;color:#880e4f}.btn-profile-follow:hover{box-shadow:0 4px 12px #f48fb166}.btn-profile-msg{background:linear-gradient(135deg,#90caf9,#64b5f6);color:#fff}.btn-profile-msg:hover{box-shadow:0 4px 12px #90caf966}.btn-profile-block{background:#ffebee;color:#e57373}.btn-profile-block:hover{background:#ffcdd2;color:#c62828}.profile-follow-counts{display:block;margin-top:6px;font-size:.85rem;color:#888}.review-card{background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:20px 24px;margin-bottom:16px;border:2px solid #ffe082;box-shadow:0 4px 16px #ffc1071a}.review-card h3{font-size:1.1rem;color:#880e4f;margin-bottom:8px}.review-card .review-meta{font-size:.82rem;color:#999;margin-bottom:8px}.review-card .review-excerpt{font-size:.9rem;color:#555;margin-bottom:12px}.review-actions{display:flex;gap:10px}.review-actions button{padding:8px 18px;border-radius:14px;font-size:.82rem;font-weight:700;cursor:pointer;border:none;transition:all .3s}.btn-approve{background:#a5d6a7;color:#1b5e20}.btn-approve:hover{background:#66bb6a;color:#fff;transform:translateY(-1px)}.btn-reject{background:#ef9a9a;color:#b71c1c}.btn-reject:hover{background:#ef5350;color:#fff;transform:translateY(-1px)}.review-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:.72rem;font-weight:700;margin-left:8px}.badge-pending{background:#fff3e0;color:#e65100}.badge-approved{background:#e8f5e9;color:#2e7d32}.badge-rejected{background:#ffebee;color:#c62828}.search-bar{display:flex;gap:8px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.search-bar input{flex:1;min-width:150px;border:2px solid rgba(244,143,177,.3);border-radius:14px;padding:8px 14px;font-size:.88rem;outline:none;transition:border-color .3s;font-family:inherit}.search-bar input:focus{border-color:#f48fb1}.search-bar select{border:2px solid rgba(244,143,177,.3);border-radius:14px;padding:8px 12px;font-size:.85rem;outline:none;font-family:inherit;background:#fff;cursor:pointer}.search-bar select:focus{border-color:#f48fb1}.search-bar button{padding:8px 18px;border-radius:14px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;border:none;font-size:.85rem;font-weight:700;cursor:pointer}.pagination{display:flex;justify-content:center;gap:8px;margin-top:20px;align-items:center}.pagination button{padding:6px 14px;border-radius:12px;border:2px solid #f48fb1;background:#fffc;color:#ad1457;font-weight:700;font-size:.82rem;cursor:pointer;transition:all .2s}.pagination button:hover{background:#f48fb1;color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination button.active{background:#f48fb1;color:#fff}.pagination .page-info{font-size:.82rem;color:#999;font-weight:700}.avatar-review-card{background:#ffffffe6;border-radius:14px;padding:16px;margin-bottom:12px;border:2px solid #ffe082;display:flex;align-items:center;gap:16px}.avatar-review-card img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #f48fb1;cursor:zoom-in}.avatar-review-info{flex:1}.avatar-review-info .ar-name{font-weight:700;color:#333;font-size:.9rem}.avatar-review-info .ar-time{font-size:.75rem;color:#999}.avatar-review-info .ar-reviewer{font-size:.72rem;color:#bbb}.zoom-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:300;justify-content:center;align-items:center;cursor:zoom-out}.zoom-overlay.show{display:flex}.zoom-overlay img{max-width:90%;max-height:90%;border-radius:12px;box-shadow:0 8px 40px #00000080}.zoom-close{position:fixed;top:20px;right:20px;z-index:301;background:#ffffffe6;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;display:none}.zoom-overlay.show~.zoom-close{display:block}.user-table{width:100%;border-collapse:separate;border-spacing:0;background:#ffffffe6;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px #0000000d}.user-table th{background:linear-gradient(135deg,#fce4ec,#f3e5f5);padding:12px 16px;text-align:left;font-size:.82rem;color:#ad1457;font-weight:700}.user-table td{padding:10px 16px;border-bottom:1px solid #f5f5f5;font-size:.85rem;vertical-align:middle}.user-table tr:last-child td{border-bottom:none}.user-table .role-select{border:2px solid #e0e0e0;border-radius:10px;padding:4px 10px;font-size:.8rem;background:#fff;cursor:pointer;font-family:inherit}.user-table .role-select:focus{border-color:#f48fb1}.user-avatar-cell{display:flex;align-items:center;gap:8px}.user-avatar-cell img{width:32px;height:32px;border-radius:50%;object-fit:cover}.ban-badge{display:inline-block;padding:2px 8px;border-radius:8px;font-size:.72rem;font-weight:700;background:#ffebee;color:#c62828}.ban-badge.ok{background:#e8f5e9;color:#2e7d32}.act-group{display:flex;gap:4px;flex-wrap:wrap}.act-btn{padding:4px 10px;border-radius:10px;font-size:.75rem;font-weight:700;cursor:pointer;border:none;transition:all .2s}.act-ban{background:#ffebee;color:#c62828}.act-ban:hover{background:#ef9a9a;color:#fff}.act-unban{background:#e8f5e9;color:#2e7d32}.act-unban:hover{background:#a5d6a7;color:#fff}.act-msg{background:#e3f2fd;color:#1565c0}.act-msg:hover{background:#90caf9;color:#fff}.form-check{display:flex;align-items:center;gap:8px;margin-bottom:16px}.form-check input[type=checkbox]{width:18px;height:18px;accent-color:#f48fb1}.form-check label{font-size:.85rem;color:#7e57c2;font-weight:700}.tag-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tag-selector .tag-option{padding:4px 12px;border-radius:12px;font-size:.78rem;font-weight:700;cursor:pointer;border:2px solid #e0e0e0;background:#fff;transition:all .2s}.tag-selector .tag-option:hover{border-color:#f48fb1}.tag-selector .tag-option.selected{border-color:#f48fb1;background:#fce4ec;color:#ad1457}.avatar-preview{width:100px;height:100px;border-radius:50%;border:3px dashed #f48fb1;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;overflow:hidden;background:#fce4ec}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-crop-wrap{width:240px;height:240px;margin:0 auto 12px;background:#fce4ec;border:2px dashed #f48fb1;border-radius:12px;overflow:hidden}.avatar-crop-wrap img{display:block;max-width:100%}.avatar-preview-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.avatar-preview-empty img{width:100%;height:100%;object-fit:cover}.cropper-toolbar{display:flex;justify-content:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.cropper-toolbar button{padding:6px 12px;border-radius:16px;border:1px solid rgba(244,143,177,.5);background:#fff;color:#ad1457;font-size:.8rem;cursor:pointer;transition:all .2s}.cropper-toolbar button:hover{background:#fce4ec;border-color:#f48fb1}.upload-area{text-align:center;padding:20px;border:2px dashed #f48fb1;border-radius:16px;cursor:pointer;transition:all .2s;margin-bottom:12px}.upload-area:hover{background:#fce4ec}.upload-area p{color:#999;font-size:.85rem;margin-top:8px}.schedule-header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;flex-wrap:wrap}.schedule-header h2{font-size:1.5rem;color:#880e4f}.schedule-sub{font-size:.82rem;color:#999}.schedule-week{display:flex;flex-direction:column;gap:20px}.schedule-day-row{display:flex;gap:14px;align-items:flex-start;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:16px;border:2px solid rgba(244,143,177,.25)}.schedule-day-label{flex-shrink:0;width:48px;font-size:1rem;font-weight:700;color:#ad1457;text-align:center;padding-top:8px;border-right:2px solid #fce4ec}.schedule-day-cards{flex:1;display:flex;gap:14px;overflow-x:auto;padding-bottom:4px}.schedule-empty{font-size:.8rem;color:#bbb;text-align:center;padding:12px 0;flex:1}.schedule-card-vertical{flex:0 0 auto;width:140px;display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:12px;padding:8px;box-shadow:0 2px 10px #0000000f;border:1px solid rgba(244,143,177,.15)}.schedule-poster{width:100%;aspect-ratio:3/4;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f5f5f5}.schedule-poster img{width:100%;height:100%;object-fit:cover}.schedule-info{flex:1;min-width:0}.schedule-title{font-size:.82rem;font-weight:700;color:#4a4a4a;line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.schedule-meta{font-size:.72rem;color:#888;display:flex;flex-direction:column;gap:4px}.schedule-meta a{color:#7e57c2;text-decoration:none}.schedule-meta a:hover{text-decoration:underline}.schedule-card-vertical{cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.schedule-card-vertical:hover{transform:translateY(-4px);border-color:#f48fb180;box-shadow:0 6px 18px #f48fb133}.anime-modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000bf;z-index:400;justify-content:center;align-items:center;padding:20px}.anime-modal-overlay.show{display:flex}.anime-modal-card{position:relative;background:#fff;border-radius:20px;max-width:360px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 12px 40px #0000004d;animation:popIn .25s ease}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.anime-modal-close{position:absolute;top:12px;right:12px;z-index:10;background:#ffffffe6;border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;cursor:pointer;box-shadow:0 2px 8px #00000026}.anime-modal-poster{width:100%;aspect-ratio:3/4;background:#f5f5f5}.anime-modal-poster img{width:100%;height:100%;object-fit:cover}.anime-modal-info{padding:16px}.anime-modal-title{font-size:1.1rem;font-weight:700;color:#4a4a4a;margin-bottom:10px;line-height:1.4}.anime-modal-meta{font-size:.85rem;color:#888;display:flex;flex-direction:column;gap:6px}.anime-modal-meta a{color:#7e57c2;text-decoration:none}.anime-modal-meta a:hover{text-decoration:underline}.deco-star{position:fixed;z-index:0;font-size:28px;opacity:.25;animation:float 4s ease-in-out infinite alternate}.deco-star:nth-child(1){top:20%;right:5%;animation-delay:0s}.deco-star:nth-child(2){top:50%;right:8%;animation-delay:1s}.deco-star:nth-child(3){top:75%;left:4%;animation-delay:.5s}@keyframes float{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-20px) rotate(20deg)}}footer{position:absolute;bottom:0;left:0;width:100%;z-index:10;text-align:center;padding:20px;background:#ffffffb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#9e9e9e;font-size:.85rem;border-top:1px solid rgba(126,87,194,.1)}footer .heart{color:#f48fb1;display:inline-block;animation:heartbeat 1s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}footer a{color:#ce93d8;text-decoration:none}footer a:hover{text-decoration:underline}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;z-index:500;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.show{display:flex}.announcement-popup{background:#fff;border-radius:20px;padding:28px 32px;width:90%;max-width:500px;max-height:70vh;overflow-y:auto;box-shadow:0 16px 48px #ad145740;position:relative;animation:modalIn .3s ease}.announcement-popup h2{color:#ad1457;font-size:1.2rem;margin-bottom:6px;text-align:left}.announcement-popup .ann-time{font-size:.75rem;color:#999;margin-bottom:14px}.announcement-popup .ann-content{font-size:.92rem;color:#4a4a4a;line-height:1.6;white-space:pre-wrap}.announcement-popup .ann-close{display:block;margin:18px auto 0;padding:8px 32px;border-radius:18px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;border:none;font-size:.88rem;font-weight:700;cursor:pointer}.modal{background:#fff;border-radius:24px;padding:36px;width:90%;max-width:440px;box-shadow:0 16px 48px #ad145733;position:relative;animation:modalIn .3s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal h2{text-align:center;color:#ad1457;font-size:1.4rem;margin-bottom:20px}.modal .close-btn{position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.3rem;cursor:pointer;color:#bbb;transition:color .2s}.modal .close-btn:hover{color:#e91e63}.modal .form-group{margin-bottom:16px}.modal .form-group label{display:block;font-size:.85rem;color:#7e57c2;font-weight:700;margin-bottom:6px}.modal .form-group input,.modal .form-group textarea,.modal .form-group select{width:100%;border:2px solid rgba(244,143,177,.3);border-radius:14px;padding:10px 14px;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .3s;background:#fff}.modal .form-group input:focus,.modal .form-group textarea:focus,.modal .form-group select:focus{border-color:#f48fb1}.modal .form-group textarea{min-height:100px;resize:vertical}.modal .btn-submit{display:block;width:100%;padding:12px;border-radius:18px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;font-size:1rem;font-weight:700;border:none;cursor:pointer;margin-top:8px;transition:all .3s}.modal .btn-submit:hover{box-shadow:0 6px 20px #f48fb166;transform:translateY(-1px)}.modal .error-msg{color:#e53935;font-size:.82rem;margin-top:8px;text-align:center;min-height:20px}.modal .switch-link{text-align:center;margin-top:14px;font-size:.85rem;color:#999}.modal .switch-link a{color:#ce93d8;cursor:pointer;text-decoration:underline}.modal.modal-post{max-width:580px}.modal.modal-msg{max-width:500px}.toast-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;z-index:300;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toast-overlay.show{display:flex}.toast-box{background:#fff;border-radius:24px;padding:32px 40px;text-align:center;box-shadow:0 16px 48px #ad145740;animation:toastIn .35s ease;max-width:340px;width:90%}.toast-icon{font-size:3rem;margin-bottom:12px}.toast-title{font-size:1.25rem;font-weight:700;color:#ad1457;margin-bottom:8px}.toast-msg{font-size:.95rem;color:#666;line-height:1.6;margin-bottom:20px}.toast-close{padding:10px 32px;border-radius:18px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;border:none;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s}.toast-close:hover{transform:translateY(-2px);box-shadow:0 6px 18px #f48fb166}@keyframes toastIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.has-sidebar main,.has-sidebar .park-section,.has-sidebar .section-wrap{margin-left:0}nav#navTags.tag-sidebar{position:static;width:auto;height:auto;display:none;flex-direction:row;justify-content:center;gap:8px;padding:10px 16px;border-right:none;background:transparent}nav#navTags.tag-sidebar.show{display:flex;flex-wrap:wrap}nav#navTags.tag-sidebar a{display:inline-block;padding:6px 14px;font-size:.8rem}.user-stats{display:none}}@media(max-width:600px){header h1{font-size:1.6rem}.post-card{padding:20px}.post-card h2{font-size:1.1rem}.comment-form{flex-direction:column}.comment-form input{width:100%}.msg-panel{width:90%;right:5%}.user-table{display:block;overflow-x:auto;white-space:nowrap}}body{background:linear-gradient(135deg,#f3f1fb,#e8e3f6,#dde5f1)}.butterfly{opacity:.55}.top-navbar{background:#ffffffe0;border-bottom:2px solid rgba(126,87,194,.2)}.top-navbar .nav-brand{color:#4527a0}.top-navbar .nav-links button,.top-navbar .nav-links a{color:#5e35b1}.top-navbar .nav-links button:hover,.top-navbar .nav-links a:hover{background:#7e57c21a}.top-navbar .nav-links button.active,.top-navbar .nav-links a.active,.top-navbar .nav-links a.router-link-active{background:linear-gradient(135deg,#7e57c2,#b39ddb);color:#fff;box-shadow:0 3px 10px #7e57c259}.top-navbar .nav-right .btn-login{color:#5e35b1;border-color:#b39ddb}.top-navbar .nav-right .btn-login:hover{background:#7e57c2;color:#fff;border-color:#7e57c2}.user-stats .stat-points{color:#5e35b1;border-color:#7e57c259}.user-stats .stat-level{background:linear-gradient(135deg,#7e57c2,#b39ddb);color:#fff}.nav-dropdown-header{background:linear-gradient(135deg,#ede7f6,#f3f1fb)}main,.park-section,.section-wrap{max-width:none;width:100%}body.has-sidebar main,body.has-sidebar .park-section,body.has-sidebar .section-wrap{margin:0 30px 0 170px;width:calc(100% - 190px);max-width:1200px}@media(max-width:768px){body.has-sidebar main,body.has-sidebar .park-section,body.has-sidebar .section-wrap{margin-left:0;margin-right:0;width:100%;max-width:none}}.post-card{border-color:#7e57c240}.post-card:before{background:linear-gradient(180deg,#7e57c2,#b39ddb)}.post-card:hover{border-color:#b39ddb;box-shadow:0 12px 40px #4527a01f}.post-card h2{color:#4527a0}.post-card h2:hover{color:#5e35b1}.post-author{position:relative}.author-menu-btn{margin-left:auto;background:none;border:none;color:#7e57c2;font-size:1rem;cursor:pointer;padding:0 4px;border-radius:6px;transition:background .2s;line-height:1}.author-menu-btn:hover{background:#7e57c21f}.author-menu{display:none;position:absolute;top:calc(100% + 4px);right:0;background:#fff;border-radius:12px;box-shadow:0 6px 20px #00000026;border:1px solid rgba(126,87,194,.2);overflow:hidden;z-index:20;min-width:110px}.author-menu.show{display:block}.author-menu button{display:block;width:100%;padding:9px 14px;border:none;background:none;text-align:left;font-size:.82rem;color:#4a4a4a;cursor:pointer;font-family:inherit;font-weight:600}.author-menu button:hover{background:#ede7f6;color:#5e35b1}.btn-load-more,.btn-like{background:#fffc;border-color:#b39ddb;color:#5e35b1}.btn-load-more:hover,.btn-like:hover,.btn-like.liked{background:#7e57c2;color:#fff;border-color:#7e57c2}.read-more,.comment-form button,.modal .btn-submit,.toast-close,.fab-refresh,.search-bar button,.pagination button.active{background:linear-gradient(135deg,#7e57c2,#b39ddb);color:#fff;border-color:transparent}.read-more:hover,.comment-form button:hover,.modal .btn-submit:hover,.toast-close:hover,.fab-refresh:hover,.search-bar button:hover,.pagination button.active:hover{box-shadow:0 6px 18px #7e57c266}.pagination button{border-color:#b39ddb;color:#5e35b1}.pagination button:hover{background:#7e57c2;color:#fff}nav#navTags.tag-sidebar{background:#ffffffd1;border-right-color:#7e57c233}nav#navTags.tag-sidebar a{border-color:#b39ddb;color:#5e35b1}nav#navTags.tag-sidebar a:hover{background:#7e57c2;color:#fff;border-color:#7e57c2;box-shadow:0 4px 12px #7e57c259}nav#navTags.tag-sidebar a.active{background:#7e57c2;color:#fff;box-shadow:0 4px 12px #7e57c259}.tag-count{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:8px;background:#7e57c21f;color:#5e35b1;font-size:.68rem;font-weight:700}footer .heart{color:#7e57c2}.deco-star{color:#b39ddb;opacity:.35}.level-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:.68rem;font-weight:700;margin-left:6px;white-space:nowrap;border:1px solid transparent;background:linear-gradient(135deg,#ede7f6,#f3f1fb);color:#5e35b1;box-shadow:0 2px 6px #7e57c226}.level-lv1{background:#f5f5f5;color:#757575;border-color:#e0e0e0}.level-lv2{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7;animation:glow 2s ease-in-out infinite alternate}.level-lv3{background:#e1f5fe;color:#0277bd;border-color:#81d4fa}.level-lv4{background:#f3e5f5;color:#6a1b9a;border-color:#ce93d8;box-shadow:0 0 8px #ce93d880}.level-lv5{background:#fff3e0;color:#ef6c00;border-color:#ffcc80}.level-lv6{background:#ede7f6;color:#4527a0;border-color:#b39ddb;animation:flow 2.5s linear infinite}.level-lv7{background:#e8eaf6;color:#283593;border-color:#9fa8da}.level-lv8{background:#fce4ec;color:#ad1457;border-color:#f48fb1;box-shadow:0 0 10px #f48fb199;animation:crown 2s ease-in-out infinite alternate}.level-lv9{background:#fff8e1;color:#f57f17;border-color:#ffe082;animation:glow 1.5s ease-in-out infinite alternate}.level-lv10{background:linear-gradient(135deg,gold,#ff80ab);color:#fff;border-color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);animation:wings 2s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 0 4px #7e57c24d}to{box-shadow:0 0 12px #7e57c2b3}}@keyframes flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes crown{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes wings{0%{transform:scale(1)}to{transform:scale(1.05)}}.author-info{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:2px 6px 2px 2px;border-radius:16px;transition:background .2s}.author-info:hover{background:#7e57c21a}.report-btn{margin-left:auto;padding:5px 12px;border-radius:12px;font-size:.75rem;font-weight:700;cursor:pointer;border:1px solid #ef9a9a;background:#fff;color:#c62828;transition:all .2s}.report-btn:hover{background:#ffebee;transform:translateY(-1px)}.report-btn:disabled{opacity:.6;cursor:not-allowed}.anonymous-note{font-size:.78rem;color:#7e57c2;margin:8px 0 4px}.level-up-text{display:inline-block;color:#f57f17;font-weight:700;margin-top:6px;animation:glow 1.5s ease-in-out infinite alternate}.post-card,.review-card,.profile-header,.msg-panel,.nav-dropdown,.section-wrap{border-radius:24px;box-shadow:0 8px 32px #7e57c21f}.post-card,.review-card,.profile-header{transition:transform .2s ease,box-shadow .2s ease}.post-card:hover,.review-card:hover,.profile-header:hover{transform:translateY(-2px);box-shadow:0 12px 40px #7e57c22e}button,.btn-like,.read-more,.comment-form button,.search-bar button,.pagination button,.dialog-btn,.btn-profile-follow,.btn-profile-msg,.btn-profile-block,.btn-author-follow,.fab-refresh,.fab-top{border-radius:999px}input,textarea,select{border-radius:16px;background:#ffffffd9;border:1px solid rgba(126,87,194,.2);box-shadow:inset 0 1px 4px #0000000a}input:focus,textarea:focus,select:focus{border-color:#ce93d8;box-shadow:0 0 0 3px #ce93d833,inset 0 1px 4px #0000000a}.review-reason{background:#fff3e099;border-left:4px solid #ff9800;padding:10px 14px;border-radius:12px;margin:12px 0;font-size:.9rem;color:#5d4037}.report-review-card .review-excerpt{background:#f3e5f573;padding:12px 14px;border-radius:14px;color:#4a4a4a;line-height:1.7}.post-editor-page{max-width:860px;margin:0 auto;padding:24px}.post-editor-page .editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.post-editor-page .editor-header h2{margin:0;font-size:1.5rem;color:#7e57c2}.post-editor-page .btn-back{background:#fff;border:1px solid rgba(126,87,194,.25);color:#7e57c2;padding:8px 18px;border-radius:999px;cursor:pointer;font-weight:700;transition:all .2s}.post-editor-page .btn-back:hover{background:#f3e5f5;border-color:#ce93d8}.post-editor-page .editor-form{background:#fff;border-radius:24px;padding:28px;box-shadow:0 8px 32px #7e57c21a}.post-editor-page .form-group{margin-bottom:20px}.post-editor-page .form-group label{display:block;font-size:.9rem;color:#7e57c2;font-weight:700;margin-bottom:8px}.post-editor-page .form-group input,.post-editor-page .form-group textarea{width:100%;border:2px solid rgba(126,87,194,.2);border-radius:14px;padding:12px 16px;font-size:.95rem;font-family:inherit;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;color:#4a4a4a}.post-editor-page .form-group input::placeholder,.post-editor-page .form-group textarea::placeholder{color:#bbb}.post-editor-page .form-group input:focus,.post-editor-page .form-group textarea:focus{border-color:#ce93d8;box-shadow:0 0 0 3px #ce93d826}.post-editor-page .form-group input:invalid,.post-editor-page .form-group textarea:invalid{border-color:#7e57c233;box-shadow:none}.post-editor-page .editor-content-group .ql-container{border-radius:0 0 14px 14px;min-height:260px;background:#fff;border-color:#7e57c233}.post-editor-page .editor-content-group .ql-toolbar{border-radius:14px 14px 0 0;background:#faf7fc;border-color:#7e57c233}.post-editor-page .form-check-group{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0}.post-editor-page .editor-actions{display:flex;gap:14px;margin-top:24px}.post-editor-page .editor-actions .btn-submit{flex:1;padding:12px 24px;border-radius:18px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;font-size:1rem;font-weight:700;border:none;cursor:pointer;transition:all .3s}.post-editor-page .editor-actions .btn-submit:hover{box-shadow:0 6px 20px #f48fb166;transform:translateY(-1px)}.post-editor-page .editor-actions .btn-cancel{padding:12px 24px;border-radius:18px;background:#f5f5f5;color:#666;border:none;cursor:pointer;font-weight:700;transition:all .2s}.post-editor-page .editor-actions .btn-cancel:hover{background:#eee}.post-editor-page .error-msg{color:#d32f2f;font-size:.9rem;margin-top:12px}.scheduled-tasks-page{max-width:900px;margin:0 auto;padding:24px}.scheduled-tasks-page .task-toolbar{margin-bottom:20px}.scheduled-tasks-page .task-toolbar .btn-submit{display:inline-flex;align-items:center;gap:6px;width:auto;padding:10px 20px;border-radius:18px;background:linear-gradient(135deg,#f48fb1,#ce93d8);color:#fff;font-size:.95rem;font-weight:700;border:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 14px #f48fb159}.scheduled-tasks-page .task-toolbar .btn-submit:hover{box-shadow:0 6px 20px #f48fb173;transform:translateY(-1px)}.scheduled-tasks-page .task-list{display:flex;flex-direction:column;gap:16px}.scheduled-tasks-page .task-card{background:#fff;border-radius:20px;padding:20px 24px;box-shadow:0 6px 24px #7e57c214;display:flex;justify-content:space-between;gap:20px;transition:all .2s}.scheduled-tasks-page .task-card.disabled{opacity:.7;background:#fafafa}.scheduled-tasks-page .task-name{font-size:1.1rem;font-weight:700;color:#7e57c2;margin-bottom:6px}.scheduled-tasks-page .task-slug{font-size:.75rem;color:#999;font-weight:500;margin-left:8px;background:#f3e5f5;padding:2px 8px;border-radius:8px}.scheduled-tasks-page .task-desc{color:#666;font-size:.9rem;margin-bottom:10px}.scheduled-tasks-page .task-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.82rem;margin-bottom:8px}.scheduled-tasks-page .task-meta span{padding:3px 10px;border-radius:10px;background:#f3e5f5;color:#7e57c2}.scheduled-tasks-page .task-meta .task-status.on{background:#e8f5e9;color:#2e7d32}.scheduled-tasks-page .task-meta .task-status.off{background:#ffebee;color:#c62828}.scheduled-tasks-page .task-result{font-size:.8rem;color:#888;word-break:break-all}.scheduled-tasks-page .task-actions{display:flex;flex-direction:column;gap:8px;min-width:90px}.scheduled-tasks-page .task-actions .btn-sm{padding:6px 12px;border-radius:12px;border:1px solid rgba(126,87,194,.25);background:#fff;color:#7e57c2;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s}.scheduled-tasks-page .task-actions .btn-sm:hover{background:#f3e5f5}.scheduled-tasks-page .task-actions .btn-toggle.on{color:#2e7d32;border-color:#a5d6a7}.scheduled-tasks-page .modal-logs{max-width:640px;max-height:80vh;display:flex;flex-direction:column}.scheduled-tasks-page .task-logs-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;max-height:50vh;margin-bottom:16px}.scheduled-tasks-page .task-log-item{background:#f9f5fb;border-radius:14px;padding:14px;border:1px solid rgba(126,87,194,.15)}.scheduled-tasks-page .task-log-item.error{background:#fff5f5;border-color:#c6282826}.scheduled-tasks-page .task-log-item.success{background:#f1f8e9;border-color:#2e7d3226}.scheduled-tasks-page .log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem}.scheduled-tasks-page .log-status{font-weight:700}.scheduled-tasks-page .log-time{color:#888;font-size:.75rem}.scheduled-tasks-page .log-output{font-size:.78rem;color:#555;background:#fff;border-radius:8px;padding:10px;overflow-x:auto;max-height:160px;margin:0;white-space:pre-wrap;word-break:break-all}.scheduled-tasks-page .task-actions .btn-toggle.off,.scheduled-tasks-page .task-actions .btn-danger{color:#c62828;border-color:#ef9a9a}.scheduled-tasks-page .task-actions .btn-danger:hover{background:#ffebee}.scheduled-tasks-page .modal-task{max-width:520px}
