.album-edit { display:inline-block; margin-top:10px; color:#254a3a; font-size:13px; text-underline-offset:4px; }
body:has(#caption-editor),body:has(.login) { margin:0; background:#f7f5ef; color:#20392e; font:15px/1.7 'Microsoft YaHei',sans-serif; }
body:has(#caption-editor) *,body:has(.login) * { box-sizing:border-box; }
body:has(#caption-editor) header,body:has(.login) header { width:min(1080px,calc(100% - 32px)); margin:auto; padding:20px 0; display:flex; justify-content:space-between; }
body:has(#caption-editor) main,body:has(.login) main { width:min(1080px,calc(100% - 32px)); margin:20px auto 120px; }
.eyebrow { font-size:11px; letter-spacing:1.5px; color:#687565; }.login { max-width:430px; margin:45px auto; padding:30px; background:white; border:1px solid #d7dfd1; border-radius:16px; }
.login input { width:100%; font:18px/1.5 inherit; padding:12px; border:1px solid #bdc9b5; border-radius:8px; margin-top:12px; }.login label { display:block; }.error { min-height:24px; color:#a24b2d; }
.login button,.save-bar button { border:0; border-radius:8px; background:#254a3a; color:white; padding:12px 28px; min-height:44px; font-family:inherit; cursor:pointer; }.login button { width:100%; margin-bottom:16px; }
.editor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.edit-card { display:block; padding:12px; border:1px solid #d7dfd1; border-radius:12px; background:white; }.edit-card img { width:100%; height:150px; object-fit:contain; background:#f3f5ee; }.edit-card span { display:block; margin:8px 0; font-size:12px; }.edit-card textarea { width:100%; min-height:75px; resize:vertical; padding:10px; border:1px solid #bdc9b5; border-radius:7px; font:16px/1.6 'Microsoft YaHei',sans-serif; }
.save-bar { position:fixed; inset:auto 0 0; display:flex; justify-content:center; align-items:center; gap:18px; background:#fffffff2; border-top:1px solid #d7dfd1; padding:14px 16px; }.save-bar p { max-width:50%; margin:0; font-size:12px; color:#9e442c; }.cancel { color:#304b39; padding:10px; }a { color:#304b39; }
@media(max-width:760px){.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.edit-card img{height:110px}}@media(max-width:420px){.editor-grid{grid-template-columns:1fr}.edit-card img{height:auto;max-height:220px}}

.admin-footer { text-align:center; padding:24px 16px 110px; font-size:11px; color:#687565; }.admin-footer a { display:inline-block; }
