:root,:host{--w-e-textarea-bg-color:#fff;--w-e-textarea-color:#333;--w-e-textarea-border-color:#ccc;--w-e-textarea-slight-border-color:#e8e8e8;--w-e-textarea-slight-color:#d4d4d4;--w-e-textarea-slight-bg-color:#f5f2f0;--w-e-textarea-selected-border-color:#b4d5ff;--w-e-textarea-handler-bg-color:#4290f7;--w-e-toolbar-color:#595959;--w-e-toolbar-bg-color:#fff;--w-e-toolbar-active-color:#333;--w-e-toolbar-active-bg-color:#f1f1f1;--w-e-toolbar-disabled-color:#999;--w-e-toolbar-border-color:#e8e8e8;--w-e-modal-button-bg-color:#fafafa;--w-e-modal-button-border-color:#d9d9d9}.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;outline:none;margin:0;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;white-space:pre-wrap;border-top:1px solid #0000;outline:0;min-height:100%;padding:0 10px}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;min-width:20px;max-width:100%;min-height:20px;display:inline!important}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{width:90%;font-style:italic;top:17px;left:10px}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);padding:0 5px;font-size:14px}.w-e-bar svg{fill:var(--w-e-toolbar-color);width:14px;height:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;position:absolute;box-shadow:0 2px 5px #0000001f}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);width:1px;height:40px;margin:0 5px;display:inline-flex}.w-e-bar-item{text-align:center;height:40px;padding:4px;display:flex;position:relative}.w-e-bar-item,.w-e-bar-item button{justify-content:center;align-items:center}.w-e-bar-item button{color:var(--w-e-toolbar-color);cursor:pointer;white-space:nowrap;background:0 0;border:none;height:32px;padding:0 8px;display:inline-flex;overflow:hidden}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);opacity:0;text-align:center;visibility:hidden;white-space:pre;z-index:1;border-radius:5px;padding:5px 10px;font-size:.75em;transition:opacity .6s;position:absolute;top:40px}.w-e-menu-tooltip-v5:after{border:5px solid #0000;border-bottom:5px solid var(--w-e-toolbar-active-color);content:"";opacity:0;visibility:hidden;transition:opacity .6s;position:absolute;top:30px}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{top:10px;left:100%}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:#0000;border-left-color:#0000;border-right-color:var(--w-e-toolbar-active-color);border-top-color:#0000;margin-left:-10px;top:16px;left:100%}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);z-index:1;border-radius:3px;margin-top:40px;display:none;position:absolute;top:0;left:0;box-shadow:0 2px 10px #0000001f}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);z-index:1;border-radius:3px;min-width:100px;max-height:350px;margin-top:40px;position:absolute;top:0;left:0;overflow-y:auto;box-shadow:0 2px 10px #0000001f}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;text-align:left;white-space:nowrap;padding:7px 0 7px 25px;position:relative}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{margin-top:-7px;margin-left:5px;position:absolute;top:50%;left:0}.w-e-bar-bottom .w-e-select-list{bottom:0;top:inherit;margin-top:0;margin-bottom:40px}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);z-index:1;border-radius:3px;min-width:200px;margin-top:40px;padding:10px;position:absolute;top:0;box-shadow:0 2px 10px #0000001f}.w-e-bar-bottom .w-e-drop-panel{bottom:0;top:inherit;margin-top:0;margin-bottom:40px}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);color:var(--w-e-toolbar-color);text-align:left;z-index:1;border-radius:3px;min-width:100px;min-height:40px;padding:20px 15px 0;font-size:14px;position:absolute;box-shadow:0 2px 10px #0000001f}.w-e-modal .btn-close{cursor:pointer;padding:5px;line-height:1;position:absolute;top:7px;right:8px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);width:10px;height:10px}.w-e-modal .babel-container{margin-bottom:15px;display:block}.w-e-modal .babel-container span{margin-bottom:10px;display:block}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);color:var(--w-e-toolbar-color);cursor:pointer;text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:4px;height:32px;padding:4.5px 15px;font-weight:400;transition:all .3s cubic-bezier(.645,.045,.355,1)}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:"tnum";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);color:var(--w-e-toolbar-color);font-variant:tabular-nums;border-radius:4px;width:100%;padding:4.5px 11px;transition:all .3s}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);width:0;height:1px;transition:width .3s;position:absolute}.w-e-full-screen-container{position:fixed;flex-direction:column!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;display:flex!important;inset:0!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;padding:3px;font-family:monospace}.w-e-panel-content-color{text-align:left;width:230px;list-style:none}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);cursor:pointer;border-radius:3px;padding:2px;display:inline-block}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;width:17px;height:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{width:100%;margin-bottom:5px;line-height:1.5}.w-e-panel-content-color .clear svg{width:16px;height:16px;margin-bottom:-4px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);margin:10px 0;padding:10px;font-size:100%;line-height:1.5;display:block}.w-e-panel-content-emotion{text-align:left;width:300px;font-size:20px;list-style:none}.w-e-panel-content-emotion li{cursor:pointer;border-radius:3px;padding:0 5px;display:inline-block}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;height:1px;display:block}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);text-indent:0;border-radius:4px;padding:10px;font-size:14px;display:block}.w-e-text-container [data-slate-editor] .w-e-image-container{margin:0 3px;display:inline-block}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{position:relative;overflow:hidden}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);width:7px;height:7px;position:absolute}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;top:0;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;top:0;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{cursor:nesw-resize;bottom:0;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{cursor:nwse-resize;bottom:0;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover,.w-e-text-container [contenteditable=false] .w-e-image-container:hover{box-shadow:none}.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;width:100%;margin-top:10px;padding:10px;overflow-x:auto}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);text-align:left;min-width:30px;padding:3px 5px;line-height:1.5}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);text-align:center;font-weight:700}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;width:20px;height:15px;padding:3px 5px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-textarea-video-container{border:1px dashed var(--w-e-textarea-border-color);text-align:center;background-image:linear-gradient(45deg,#eee 25%,#0000 0 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border-radius:5px;margin:10px auto 0;padding:10px 0}.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;-webkit-hyphens:none;hyphens:none;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal;margin:.5em 0;padding:1em;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;line-height:1.5;overflow:auto}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help}
:root{--ink:#17211e;--green:#18362d;--accent:#a87845;--line:#e4e8e6;--muted:#6e7773;--bg:#f4f6f5}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:Arial,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button{color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:5px;padding:9px 15px}button.primary,.primary{color:#fff;background:var(--green);border-color:var(--green)}button.danger{color:#a33}.auth-page{background:linear-gradient(135deg,#10231d,#315246);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border-radius:8px;width:min(420px,100%);padding:38px;box-shadow:0 24px 70px #0003}.auth-card h1{margin:38px 0 24px;font-size:26px}.auth-card>p{color:var(--muted);line-height:1.6}.auth-card label,.article-form>label,.editor-field{gap:8px;margin-bottom:20px;font-size:14px;font-weight:600;display:grid}.auth-card input,.article-form input,.article-form textarea,.article-form select{border:1px solid #ccd3d0;border-radius:5px;outline:none;width:100%;padding:11px 12px}.auth-card input:focus,.article-form input:focus,.article-form textarea:focus{border-color:var(--green)}.auth-card .primary{width:100%;padding:12px}.form-error{font-size:13px;color:#b43d3d!important}.form-tip{text-align:center;margin:18px 0 0;font-size:12px}.auth-card .password-requirements{margin:-12px 0 20px;font-size:12px}.admin-logo{align-items:center;gap:12px;display:flex}.admin-logo>span{color:#fff;background:var(--accent);place-items:center;width:42px;height:42px;font-family:serif;font-size:24px;display:grid}.admin-logo strong,.admin-logo small{display:block}.admin-logo small{color:var(--muted);letter-spacing:.15em;margin-top:4px;font-size:11px}.admin-layout{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:var(--green);flex-direction:column;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.sidebar .admin-logo{border-bottom:1px solid #ffffff21;padding:0 8px 26px}.sidebar .admin-logo small{color:#ffffff80}.sidebar nav{margin-top:24px}.sidebar nav a{color:#ffffffb3;border-radius:5px;padding:12px 14px;text-decoration:none;display:block}.sidebar nav a.active{color:#fff;background:#ffffff1c}.account{border-top:1px solid #ffffff21;gap:12px;margin-top:auto;padding:18px 8px 0;display:grid}.account small{color:#fff9;text-overflow:ellipsis;overflow:hidden}.account button{color:#fff;background:0 0;border-color:#ffffff4d}.admin-content{min-width:0;padding:40px}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-header h1{margin:0 0 7px;font-size:28px}.page-header p{color:var(--muted);margin:0;font-size:14px}.table-card,.article-form{border:1px solid var(--line);background:#fff;border-radius:7px;padding:24px}.category-tabs{gap:8px;margin-bottom:16px;display:flex}.category-tabs button{align-items:center;gap:8px;padding:10px 20px;display:flex}.category-tabs button span{min-width:20px;height:20px;color:var(--muted);background:var(--bg);border-radius:20px;place-items:center;padding:0 5px;font-size:11px;display:grid}.category-tabs button.active{color:#fff;background:var(--green);border-color:var(--green)}.category-tabs button.active span{color:var(--green);background:#fff}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:16px 12px;font-size:14px}th{color:var(--muted);font-size:12px;font-weight:500}td strong,td small{display:block}td small{max-width:520px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:7px;overflow:hidden}td button{margin-right:8px;padding:6px 10px;font-size:12px}.empty{color:var(--muted);text-align:center;padding:60px}.status{border-radius:20px;padding:4px 9px;font-size:12px}.status.published{color:#26704c;background:#e4f4eb}.status.draft{color:#7a654c;background:#f2eee7}.article-form{max-width:1000px}.article-meta-fields{grid-template-columns:1fr 1fr 1.4fr;gap:16px;display:grid}.article-meta-fields label{gap:8px;margin-bottom:20px;font-size:14px;font-weight:600;display:grid}.article-meta-fields input[readonly]{color:var(--muted);background:var(--bg)}.pin-setting{background:var(--bg);border-radius:5px;grid-template-columns:auto 180px 1fr;align-items:end;gap:16px;margin-bottom:20px;padding:16px;display:grid}.pin-setting label{gap:8px;font-size:14px;font-weight:600;display:grid}.pin-setting label:first-child{align-self:center;align-items:center;display:flex}.pin-setting label:first-child input{width:auto;margin:0 8px 0 0}.pin-setting p{color:var(--muted);align-self:center;margin:0;font-size:12px;line-height:1.6}.cover-field{background:var(--bg);border-radius:5px;grid-template-columns:1fr 280px;align-items:center;gap:24px;margin-bottom:20px;padding:18px;display:grid}.cover-field strong{font-size:14px;display:block}.cover-field p{color:var(--muted);margin:8px 0 14px;font-size:12px;line-height:1.6}.cover-field button{margin-left:8px}.upload-button{color:#fff;background:var(--green);cursor:pointer;border-radius:5px;padding:9px 15px;font-size:13px;display:inline-block}.upload-button input{display:none}.cover-preview{height:145px;color:var(--muted);background:#fff;border:1px dashed #bdc7c2;border-radius:5px;place-items:center;font-size:12px;display:grid}.cover-preview.has-image{background-position:50%;background-size:cover;border-style:solid}.editor-field>span{font-weight:600}.wang-editor{border:1px solid #ccd3d0;border-radius:5px;font-weight:400;overflow:hidden}.wang-editor [data-w-e-toolbar]{border-bottom:1px solid #ccd3d0}.wang-editor [data-slate-editor]{min-height:420px;padding:16px 20px;line-height:1.8}.wang-editor [data-slate-editor] img{max-width:100%;height:auto}.form-actions{justify-content:flex-end;gap:10px;display:flex}@media (max-width:800px){.admin-layout{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{margin:18px 0}.account{justify-content:space-between;align-items:center;display:flex}.admin-content{padding:24px 16px}.article-meta-fields{grid-template-columns:1fr;gap:0}.pin-setting{grid-template-columns:1fr;align-items:stretch}.cover-field{grid-template-columns:1fr}.table-card{overflow-x:auto}}
