@font-face{font-family:Geist;src:url(/fonts/geist-latin-wght.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{font-family:Geist,PingFang SC,Microsoft YaHei,sans-serif;color:#23352e;background:#f4f5f1;font-synthesis:none;--green:#17624b;--green-dark:#0d4938;--green-soft:#e7efea;--ink:#23352e;--muted:#7c8881;--line:#e2e6df;--paper:#fff;--cream:#f4f5f1;--danger:#a64b43;--shadow:0 18px 55px rgba(25,54,43,.1)}*{box-sizing:border-box}body{margin:0;min-width:360px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{color:var(--ink)}input::placeholder,textarea::placeholder{color:#a9b0ab}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(23,98,75,.16);outline-offset:1px}h1,h2,h3,p{margin:0}button{border:0}#root{min-height:100vh}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:650;color:#789084}.brand-seal{width:48px;height:48px;border:1px solid currentColor;display:grid;place-items:center;color:#9e3f34;font-family:Songti SC,STSong,serif;font-size:16px;letter-spacing:.12em;line-height:1.15;writing-mode:vertical-rl;padding:5px;flex:none}.button{min-height:40px;padding:0 18px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;transition:background .18s,transform .18s;white-space:nowrap}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--green);color:#fff;box-shadow:0 4px 12px #17624b21}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:#fff;color:#42584e;border:1px solid var(--line)}.button.secondary:hover{background:#f5f8f5}.button.small{min-height:34px;padding:0 12px;font-size:12px}.button.disabled{pointer-events:none;opacity:.55}.icon-button{width:32px;height:32px;border-radius:6px;background:transparent;color:#75827b;font-size:23px;display:grid;place-items:center}.icon-button:hover{background:#eef1ed;color:var(--ink)}.text-button{padding:3px 0;background:transparent;color:var(--green);font-size:12px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:12px;font-weight:600;color:#52645b}.field>span em{font-size:10px;color:#9ba59f;font-style:normal;font-weight:400;margin-left:5px}.field input,.field textarea,.field select,.config-field input,.config-field textarea{width:100%;border:1px solid #dfe5df;background:#fff;border-radius:6px;padding:11px 12px;font-size:13px;transition:border .15s;resize:vertical}.field input,.field select,.config-field input{height:42px}.field input:focus,.field textarea:focus,.field select:focus,.config-field input:focus,.config-field textarea:focus{border-color:#7ca291;outline:3px solid #eff5f1}.field small,.config-field small{color:#929d96;font-size:11px;line-height:1.6}.form-error,.drawer-error{padding:11px 13px;background:#fff1ed;border:1px solid #f0d8ce;border-radius:6px;color:#9c4d3e;font-size:12px;line-height:1.6}.thumb{display:block;width:100%;height:100%;object-fit:cover;background:#eef0eb;border:0}.thumb.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a8b0a9;background:linear-gradient(135deg,#f1f2ed,#e8ece6);gap:6px}.thumb.placeholder span{font-family:Songti SC,serif;letter-spacing:.2em}.thumb.placeholder small{font-size:9px}.full-loading{height:100vh;display:flex;flex-direction:column;gap:22px;align-items:center;justify-content:center;color:#74877c;font-size:13px}.full-loading .brand-seal{animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.4}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1fr) minmax(460px,1.1fr);background:#f8f8f4}.login-brand{background:#123f32;color:#f4f1e8;padding:clamp(48px,7vw,110px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-190px;bottom:-130px;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff04}.login-brand .brand-seal{color:#d6b27c;margin-bottom:60px}.login-brand .eyebrow{color:#9cb7a9}.login-brand h1{font-family:Songti SC,STSong,serif;font-size:clamp(42px,5vw,68px);font-weight:400;letter-spacing:.14em;line-height:1.55;margin:24px 0}.login-brand>p:not(.eyebrow){font-size:14px;line-height:2.1;color:#b7c8bd}.login-ornament{display:flex;align-items:center;gap:18px;color:#8fab9b;margin-top:70px;font-family:Songti SC,serif;font-size:12px}.login-ornament i{width:100px;height:1px;background:#587a68}.login-panel{display:grid;place-items:center;padding:40px}.login-form{width:min(380px,100%);display:flex;flex-direction:column;gap:22px}.login-form h2{font-size:30px;font-weight:600;letter-spacing:.04em;margin-top:-10px}.login-form>.muted{margin-top:-18px;font-size:13px}.login-form .field{margin-top:4px}.login-form .field input{height:48px;background:#fff}.login-button{height:48px;margin-top:4px}.login-help{font-size:11px;color:#939d96;line-height:1.7;text-align:center}.mobile-brand{display:none}.admin-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#123f32;color:#e7eee9;padding:28px 16px 18px;display:flex;flex-direction:column;z-index:20}.side-brand{display:flex;align-items:center;gap:13px;padding:0 8px 34px}.side-brand .brand-seal{width:40px;height:44px;color:#d1ad7d;font-size:13px}.side-brand>div:last-child{display:flex;flex-direction:column;gap:5px}.side-brand b{font-family:Songti SC,serif;font-size:19px;letter-spacing:.14em;font-weight:500}.side-brand span{font-size:10px;color:#93afa0;letter-spacing:.14em}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button,.sidebar-bottom>button:not(.logout){width:100%;display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:7px;background:transparent;color:#aac0b3;text-align:left;transition:background .18s}.sidebar nav button:hover,.sidebar-bottom>button:hover{background:#ffffff0e}.sidebar nav button.active,.sidebar-bottom>button.active{background:#f2f5ef;color:#174a39}.sidebar button i{font-style:normal;width:29px;height:29px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:Songti SC,serif;font-size:12px;opacity:.8;flex:none}.sidebar button span{display:flex;flex-direction:column;gap:4px}.sidebar button b{font-size:13px;font-weight:550}.sidebar button small{font-size:10px;opacity:.65}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding-top:15px}.sidebar .logout{background:transparent;color:#8ea99a;font-size:11px;padding:14px 16px 0}.sidebar .logout:hover{color:#fff}.workspace{min-width:0;position:relative}.workspace-top{height:58px;border-bottom:1px solid var(--line);background:#ffffffb8;display:flex;align-items:center;padding:0 32px;gap:10px;font-size:11px;color:#8b958f;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cloud-status{display:flex;align-items:center;gap:7px;color:#527364;font-weight:600}.cloud-status i{width:7px;height:7px;border-radius:50%;background:#48a678;box-shadow:0 0 0 3px #e3f0e8}.workspace-top .refresh{margin-left:auto;font-size:18px}.page-content{padding:36px 34px 60px;max-width:1560px;margin:0 auto}.page-content.narrow{max-width:900px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-heading h1{font-family:Songti SC,STSong,serif;font-size:32px;font-weight:600;letter-spacing:.05em;margin:9px 0 10px}.page-heading>div>p:last-child{font-size:12px;color:var(--muted)}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;border-radius:9px;margin-bottom:22px}.stat-strip>div{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-right:1px solid var(--line)}.stat-strip>div:last-child{border:0}.stat-strip span{font-size:12px;color:var(--muted)}.stat-strip b{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px;min-height:42px}.list-toolbar>p{font-size:12px;color:var(--muted)}.category-tabs{display:flex;gap:5px;flex-wrap:wrap}.category-tabs button{background:transparent;color:#75847b;border-radius:5px;padding:8px 10px;font-size:12px}.category-tabs button small{margin-left:5px;color:#a2aca6;font-size:10px}.category-tabs button.active{background:#e3ece6;color:var(--green);font-weight:600}.search{height:36px;width:230px;background:#fff;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;padding:0 10px;gap:6px;flex:none}.search span{color:#93a097;font-size:18px}.search input{border:0;outline:0;background:transparent;width:100%;font-size:12px}.data-panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.work-grid{display:grid;grid-template-columns:minmax(250px,2fr) 80px 60px 110px 190px;align-items:center;gap:16px;padding:0 20px}.table-head{height:43px;background:#fafbf8;border-bottom:1px solid var(--line);font-size:10px;color:#89948d;letter-spacing:.08em}.data-row{min-height:82px;border-bottom:1px solid #edf0eb;font-size:12px}.data-row:last-child{border-bottom:0}.data-row:hover{background:#fcfdfb}.work-cell{display:flex;align-items:center;gap:13px;min-width:0}.work-cell .thumb{width:54px;height:58px;border-radius:4px;flex:none}.work-cell>div:last-child{min-width:0;display:flex;flex-direction:column;gap:7px}.work-cell b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-cell span{font-size:10px;color:#8b968f}.status-button{display:inline-flex;align-items:center;gap:6px;background:transparent;font-size:11px;color:#89928c;padding:6px 0}.status-button i{width:6px;height:6px;border-radius:50%;background:#b5bcb7}.status-button.online{color:#36775d}.status-button.online i{background:#4c9d76}.row-actions{display:flex;gap:12px;align-items:center;white-space:nowrap}.row-actions button{padding:4px 0;background:transparent;color:#517466;font-size:11px}.row-actions button:hover{color:var(--green);text-decoration:underline}.row-actions button.danger{color:#a8756d}.empty-list{padding:60px 20px;text-align:center;color:#909c94;font-size:13px}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:18px}.archive-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.archive-card>.thumb{height:240px}.archive-info{padding:16px}.archive-info>span{font-size:9px;color:#95a098;letter-spacing:.12em}.archive-info h2{font-family:Songti SC,serif;font-size:18px;font-weight:600;margin:10px 0 7px}.archive-info>p{font-size:11px;color:#859189;min-height:18px}.archive-info .row-actions{border-top:1px solid #edf0eb;margin-top:15px;padding-top:11px;justify-content:flex-end}.drawer-layer{position:fixed;inset:0;background:#0d201959;z-index:100;display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .18s}.editor-drawer{width:min(720px,96vw);height:100%;background:#f7f8f5;box-shadow:-20px 0 60px #10261d29;display:flex;flex-direction:column;animation:slideIn .24s}@keyframes fadeIn{0%{opacity:0}}@keyframes slideIn{0%{transform:translate(40px);opacity:.5}}.drawer-header{height:84px;flex:none;background:#fff;border-bottom:1px solid var(--line);padding:18px 25px;display:flex;align-items:center;justify-content:space-between}.drawer-header h2{font-family:Songti SC,serif;font-size:23px;margin-top:6px}.drawer-body{overflow:auto;flex:1;padding:22px 24px 35px}.form-section{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:16px;display:flex;flex-direction:column;gap:17px}.form-section h3{font-size:14px;font-weight:650}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.span-2{grid-column:span 2}.switch-field{background:#f6f8f4;border-radius:6px;padding:12px 14px;flex-direction:row;align-items:center;justify-content:space-between}.switch-field>span{display:flex;flex-direction:column;gap:5px}.switch-field b{font-size:12px}.switch{width:42px;height:24px;background:#c7cec9;border-radius:20px;padding:3px;transition:background .18s;flex:none}.switch i{display:block;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .18s;box-shadow:0 1px 3px #00000026}.switch.on{background:var(--green)}.switch.on i{transform:translate(18px)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-hint{font-size:11px;color:#8b968f;margin-top:-8px;line-height:1.6}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.media-item{border:1px solid var(--line);border-radius:6px;overflow:hidden;position:relative;background:#fff}.media-item.is-cover{border-color:#6c9b84}.media-item>.thumb{height:150px}.media-actions{display:flex;justify-content:space-around;border-top:1px solid var(--line)}.media-actions button{flex:1;background:#fff;font-size:10px;color:#577367;padding:8px 3px}.media-actions button+button{border-left:1px solid var(--line);color:#9a6f66}.empty-media{min-height:130px;border:1px dashed #d5ddd6;border-radius:6px;grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#92a097;gap:6px}.empty-media b{font-size:24px;font-weight:300}.empty-media span{font-size:12px}.empty-media small{font-size:10px}.video-upload{height:120px;border:1px dashed #cad6cd;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#6f897b;cursor:pointer}.video-upload b{font-size:23px;font-weight:300}.video-upload span{font-size:12px}.video-upload small{font-size:10px;color:#9aa49e}.video-preview{display:flex;align-items:center;gap:18px}.video-preview .thumb{height:190px;width:108px;border-radius:5px}.video-preview span{font-size:12px;color:#607a6b}.field-rows{display:flex;flex-direction:column;gap:10px}.field-row{display:grid;grid-template-columns:1fr 1.7fr 32px;gap:8px;align-items:center}.field-row input{height:38px;border:1px solid var(--line);border-radius:5px;padding:0 10px;min-width:0}.upload-bar{background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:100px 1fr 38px;align-items:center;gap:12px;padding:11px 24px;font-size:11px;color:#5b7466}.upload-bar>div{height:5px;background:#e6ece7;border-radius:5px;overflow:hidden}.upload-bar i{height:100%;display:block;background:var(--green);transition:width .2s}.drawer-error{margin:10px 24px 0}.drawer-footer{padding:15px 24px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;flex:none}.drawer-footer .button{min-width:110px}.config-notice{padding:14px 17px;background:#eaf0e9;border:1px solid #dce6dc;border-radius:7px;display:flex;gap:15px;font-size:11px;line-height:1.7;margin-bottom:18px;color:#617369}.config-notice b{color:#3e5c4b;white-space:nowrap}.config-list{display:flex;flex-direction:column;gap:18px}.config-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:23px}.config-card-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.config-card-head h2{font-family:Songti SC,serif;font-size:20px}.config-card-head p{font-size:10px;color:#96a098;margin-top:6px}.config-fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 24px}.config-field{display:flex;flex-direction:column;gap:8px;min-width:0}.config-field.wide{grid-column:1/-1}.config-field>label{display:flex;align-items:center;justify-content:space-between;gap:10px}.config-field>label span{font-size:12px;font-weight:600;color:#52645b}.config-field>label code{font-size:9px;color:#a0aaa3}.config-field .code-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.65;background:#fafbf9}.config-image{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center;background:#f7f8f5;border-radius:6px;padding:12px}.config-image>.thumb{height:110px;border-radius:4px}.config-image>div{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.config-image input{width:100%;font-size:10px;color:#89948d}.config-card>.form-error{margin-top:18px}.account-card,.password-card,.security-note{background:#fff;border:1px solid var(--line);border-radius:9px;padding:24px;margin-bottom:18px}.account-card{display:flex;align-items:center;gap:18px}.account-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e3ece5;color:var(--green);font-family:Songti SC,serif;font-size:24px}.account-card h2{font-size:18px}.account-card p{font-size:12px;color:#65776c;margin:6px 0}.account-card span{font-size:10px;color:#96a098}.password-card h2{font-size:17px}.password-card>p{font-size:11px;color:#87938b;margin:8px 0 22px}.password-card form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.password-card form .field:first-child{grid-column:1/-1}.password-card form .button{grid-column:1/-1;justify-self:start}.security-note h3{font-size:13px;margin-bottom:9px}.security-note p{font-size:11px;line-height:1.8;color:#7d8981}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%);background:#183e31;color:#fff;padding:12px 22px;border-radius:7px;box-shadow:0 10px 35px #112f2438;z-index:200;font-size:12px;animation:toastIn .2s}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}}.global-error{margin:15px 30px 0;background:#fff0eb;color:#9c4d3e;padding:10px 14px;border-radius:6px;font-size:12px;display:flex;justify-content:space-between}.global-error button{background:transparent;color:inherit}.loading-line{position:fixed;top:0;left:236px;right:0;height:3px;background:var(--green);z-index:300;animation:loading 1s infinite}@keyframes loading{0%{transform:scaleX(.1);transform-origin:left}50%{transform:scaleX(.7);transform-origin:left}to{transform:scaleX(0);transform-origin:right}}@media(max-width:1100px){.admin-shell{grid-template-columns:198px minmax(0,1fr)}.page-content{padding:28px 22px 50px}.work-grid{grid-template-columns:minmax(210px,2fr) 65px 50px 90px 145px;gap:10px;padding:0 14px}.row-actions{gap:8px}.stat-strip>div{padding:15px}.workspace-top{padding:0 22px}.loading-line{left:198px}}@media(max-width:850px){.admin-shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:15px 18px;display:block}.side-brand{padding:0 0 15px}.sidebar nav{flex-direction:row}.sidebar nav button{justify-content:center;padding:9px}.sidebar button small{display:none}.sidebar-bottom{position:absolute;right:16px;top:18px;margin:0;border:0;padding:0;display:flex;align-items:center;gap:10px}.sidebar-bottom>button:not(.logout){width:auto;padding:8px}.sidebar-bottom>button span{display:none}.sidebar .logout{padding:8px}.workspace-top{position:relative}.workspace-top>span{display:none}.page-content{padding:25px 18px 45px}.work-grid{grid-template-columns:minmax(180px,2fr) 55px 80px 125px}.work-grid>*:nth-child(3){display:none}.stat-strip{grid-template-columns:1fr 1fr}.stat-strip>div:nth-child(2){border-right:0}.stat-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.list-toolbar{align-items:flex-start;flex-direction:column}.search{width:100%}.loading-line{left:0}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh}.mobile-brand{display:block;font-family:Songti SC,serif;font-size:25px;color:var(--green);margin-bottom:25px}}@media(max-width:560px){.sidebar nav button{flex:1;gap:5px;padding:8px 3px}.sidebar nav button i{display:none}.side-brand b{font-size:17px}.page-heading{align-items:flex-start}.page-heading h1{font-size:27px}.page-heading .button{padding:0 12px}.stat-strip>div{padding:13px}.data-panel{overflow-x:auto}.work-grid{min-width:620px}.archive-grid{grid-template-columns:1fr 1fr;gap:10px}.archive-card>.thumb{height:180px}.archive-info{padding:12px}.archive-info h2{font-size:15px}.form-grid,.config-fields,.password-card form{grid-template-columns:1fr}.span-2,.config-field.wide{grid-column:1}.drawer-body{padding:14px}.form-section{padding:17px}.media-grid{grid-template-columns:1fr 1fr}.config-image{grid-template-columns:100px 1fr}.config-image>.thumb{height:90px}.config-notice{flex-direction:column;gap:4px}.password-card form .field:first-child,.password-card form .button{grid-column:1}.drawer-header{padding:15px 18px}.drawer-footer{padding:12px 18px}.workspace-top{padding:0 18px}}.publish-button{margin-left:auto;height:36px;padding:0 16px;border:1px solid #1f6f4a;border-radius:6px;background:#1f6f4a;color:#fff;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.publish-button:hover{background:#185a3c}.publish-button:disabled{opacity:.6;cursor:progress}.workspace-top .publish-button+.refresh{margin-left:0}
