:root{color-scheme:light;--ink:#213a35;--muted:#516b62;--accent:#386b5a;--paper:#f8faf8;--ground:#e8efeb;--line:#baccc2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;scrollbar-color:var(--accent) var(--ground)}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}::selection{background:#b9dbca;color:#15392a}[hidden]{display:none!important}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{min-height:44px;padding:9px 18px;background:transparent;border:1px solid #819d8e;border-radius:8px;color:var(--ink);cursor:pointer;font-weight:600}button:hover{background:#e0ece5}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#27523f}.danger{color:#943c34;border-color:#bb8179}.subtle{border-color:transparent;padding-left:0}.error{color:#97382f!important}input,textarea,select{display:block;width:100%;padding:11px 13px;color:var(--ink);background:#fff;border:1px solid #91aa9c;border-radius:6px;caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:#61766a}textarea{resize:vertical}input[type=color]{height:48px;padding:5px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}input[type=file]{margin-top:6px;max-width:100%;font-size:14px}label{display:block;font-weight:600;font-size:14px}label input,label textarea,label select{margin-top:6px;font-weight:400}h1,h2,p{margin-top:0}h1{font-size:34px;letter-spacing:-.025em;line-height:1.3}h2{font-size:23px;letter-spacing:-.015em;margin-bottom:12px}.help{font-size:14px;color:var(--muted)}:focus-visible{outline:3px solid #4b8971;outline-offset:4px}.topbar{display:flex;gap:25px;align-items:center;padding:20px 4vw;border-bottom:1px solid var(--line);background:var(--ground)}.brand{text-decoration:none;font-weight:700}.topbar>span{font-size:14px;color:var(--muted)}#logout{margin-left:auto}.skip{position:fixed;top:-60px;background:white;padding:10px;z-index:20}.skip:focus{top:8px}main{max-width:1400px;margin:auto;padding:0 4vw}.login-panel{display:grid;grid-template-columns:1.25fr 1fr;gap:9vw;align-items:center;min-height:75vh;padding:50px 4vw}.login-intro h1{font-size:clamp(38px,4.5vw,64px);font-weight:500;line-height:1.35}.login-intro p{color:var(--muted);line-height:2}.login-form{background:var(--ground);border-radius:14px;padding:40px}.login-form label{margin-bottom:20px}.login-form button{width:100%;margin-top:10px}.login-form p{color:var(--muted);font-size:14px}.editor-header{display:flex;gap:30px;justify-content:space-between;align-items:center;padding:42px 0 12px}.editor-header h1{margin-bottom:8px}.editor-header p{color:var(--muted);font-size:14px;margin-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:8px}.notice{min-height:28px;margin:12px 0 24px;color:var(--accent);font-weight:500}.workspace{display:grid;grid-template-columns:200px minmax(0,1fr);gap:55px}.editor-nav{position:sticky;top:25px;align-self:start;display:grid;gap:4px}.editor-nav a{display:block;text-decoration:none;padding:10px 12px;border-radius:6px}.editor-nav a:hover{background:var(--ground)}.editor-nav p{font-size:13px;color:var(--muted);line-height:1.9;padding:22px 12px}.editor-content>section{padding:0 0 55px;margin-bottom:45px;border-bottom:1px solid var(--line)}.fields{display:grid;gap:20px}.two-col{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}.avatar-editor{display:flex;gap:24px;align-items:center;margin:26px 0}.avatar-editor img{width:110px;height:110px;object-fit:cover;border-radius:12px}.upload-label{max-width:380px}.section-editor{background:var(--ground);padding:25px;border-radius:12px;margin:22px 0}.section-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.check-label{display:flex;gap:10px;align-items:center}.check-label input{margin:0}.section-controls button{font-size:13px;padding:6px 12px;margin-left:6px}.item-editor{padding:24px 0;border-top:1px solid var(--line);margin-top:24px}.item-editor>button{margin-top:15px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head h2{margin:0}#passwordForm{max-width:460px;margin-top:24px}#passwordForm button{justify-self:start}.admin-footer{margin:30px 4vw;padding:24px 0;color:var(--muted);font-size:13px}#bootStatus{padding:80px 0}@media(max-width:900px){.editor-header{align-items:flex-start;flex-direction:column;gap:20px}.workspace{grid-template-columns:150px minmax(0,1fr);gap:24px}.login-panel{gap:35px;padding:45px 0}.login-form{padding:25px}}@media(max-width:620px){main{padding:0 20px}.topbar{padding:14px 20px;gap:12px}.topbar>span{display:none}.login-panel{display:block}.login-intro h1{font-size:38px}.login-intro{padding-bottom:30px}.workspace{display:block}.editor-nav{position:static;display:flex;overflow-x:auto;white-space:nowrap;margin-bottom:30px;padding-bottom:10px}.editor-nav p{display:none}.editor-nav a{font-size:14px;padding:10px}.two-col{grid-template-columns:1fr}.editor-header h1{font-size:29px}.actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.section-editor{padding:18px}.section-controls{align-items:flex-start}.section-controls button{padding:5px 9px}.check-label{font-size:13px}.avatar-editor{align-items:flex-start;gap:16px}.avatar-editor img{width:65px;height:65px}.avatar-editor>div{min-width:0}.editor-content>section{margin-bottom:35px}.section-head{flex-wrap:wrap}.notice{font-size:14px}.section-head button{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.editor-header{position:sticky;top:0;z-index:20;background:var(--paper);padding-top:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.notice{position:sticky;top:var(--editor-header-height,150px);z-index:19;background:var(--paper);padding:8px 0;margin-top:0;max-height:120px;overflow:auto}
.notice:empty{display:none}
.editor-nav{top:calc(var(--editor-header-height,150px) + 65px)}
#passwordNotice{margin:0;color:var(--accent);font-size:14px}
html{scroll-padding-top:calc(var(--editor-header-height,150px) + 60px)}
@media(max-width:620px){.editor-header{padding-top:10px;gap:10px}.editor-header h1{font-size:23px;margin-bottom:4px}.editor-header p{font-size:12px}.notice{font-size:13px;max-height:90px}.editor-nav{position:static}.actions button{padding:7px 10px}}
