@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');

:root { --ink:#162525; --forest:#173a38; --forest-2:#24524d; --cream:#f7f5f0; --paper:#fffdfa; --sand:#e8e1d5; --gold:#b7894d; --mist:#edf1ee; }
body { background:var(--cream); color:var(--ink); font-family:"Noto Sans SC","Microsoft YaHei",sans-serif; }
.layout { grid-template-columns:280px 1fr; }
.sidebar { background:var(--forest); border:0; padding:30px 18px; }
.sidebar .brand { padding:8px 12px 38px; display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:12px; row-gap:0; }
.brand-mark { width:42px; height:42px; border-radius:13px; background:#d7b77d; color:var(--forest); font-size:13px; }
.sidebar .brand h1 { color:#fffdf8; font-family:"Noto Serif SC","Microsoft YaHei",serif; font-size:19px; line-height:1.45; letter-spacing:0; white-space:nowrap; }
.sidebar .brand p { color:#a9c0bc; white-space:nowrap; }
.nav { gap:6px; }
.nav button { color:#b9cfca; padding:13px 15px; border-radius:8px; transition:.18s ease; }
.nav button:hover { background:#214945; color:#fff; }
.nav button.active { background:#e8f0eb; color:var(--forest); }
.nav button.muted { color:#78938e; }
.side-foot { left:18px; width:244px; border-top:1px solid #3e625e; color:#a9c0bc; }
.side-foot strong { color:#fffdf8; }
.topbar { height:78px; background:var(--paper); border-bottom:1px solid var(--sand); padding:0 42px; }
.account-tabs { background:#f0eee8; border-radius:8px; padding:4px; }
.account-tabs button { border-radius:6px; padding:8px 20px; }
.account-tabs button.active { color:var(--forest); box-shadow:0 2px 8px #24373318; }
.content { max-width:1600px; padding:38px 42px 64px; }
.library-main { display:flex; flex-direction:column; }
.content-filterbar { order:2; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 26px; padding:10px 0 12px; border-bottom:1px solid var(--sand); margin-bottom:18px; }
.category-nav { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.category-nav > span { color:#84918b; font-size:12px; letter-spacing:.12em; padding-right:14px; margin-right:8px; border-right:1px solid var(--sand); }
.library-category { border:0; border-radius:5px; padding:8px 11px; background:transparent; color:#53625e; font-size:14px; }
.library-category:hover { background:#ebece6; }
.library-category.active { background:var(--forest); color:#fffdf8; font-weight:700; }
.content-filterbar .search { width:300px; border:1px solid var(--sand); border-radius:7px; padding:9px 12px; }
.subcategory-row { width:100%; display:flex; align-items:center; gap:4px; padding:8px 0 0; border-top:1px dashed #e4ded3; }
.subcategory-row > span { color:#84918b; font-size:12px; letter-spacing:.12em; padding-right:14px; margin-right:8px; border-right:1px solid var(--sand); }
.subcategory { border:0; border-radius:5px; padding:8px 11px; background:transparent; color:#53625e; font-size:14px; }
.subcategory:hover { background:#ebece6; }
.subcategory.active { background:var(--forest); color:#fffdf8; font-weight:700; }
.heading-actions { display:flex; align-items:center; gap:18px; color:#7f8984; font-size:13px; }
.heading { order:1; align-items:center; border-bottom:0; padding-bottom:0; margin-bottom:0; }
.heading h2 { font-family:"Noto Serif SC","Microsoft YaHei",serif; font-size:27px; letter-spacing:.025em; }
.heading p { color:#7f8984; margin-top:5px; }
.btn { background:var(--forest); border-radius:7px; padding:11px 17px; letter-spacing:.02em; box-shadow:0 5px 12px #163a3820; }
.btn:hover { background:var(--forest-2); }
.toolbar { background:var(--paper); border:1px solid var(--sand); padding:10px 12px; border-radius:10px; margin-bottom:24px; }
.search { border:0; border-right:1px solid var(--sand); border-radius:0; width:340px; background:transparent; padding:9px 12px; }
.search:focus { box-shadow:none; border-color:var(--sand); }
.card-grid { order:3; gap:18px; }
.post-card { background:var(--paper); border:1px solid #e6e1d9; border-radius:10px; padding:20px; min-height:238px; box-shadow:0 6px 20px #1b302a08; }
.post-card:hover { box-shadow:0 12px 30px #1b302a12; transform:translateY(-1px); }
.badge { background:#f5ecdc; color:#9a6b2f; border-radius:4px; padding:4px 8px; }
.card-tags { display:flex; align-items:center; gap:6px; }
.badge-sub { background:#edf3f0; color:#35645c; }
.post-card h3 { font-family:"Noto Serif SC","Microsoft YaHei",serif; font-size:18px; line-height:1.45; }
.excerpt { color:#5e6964; line-height:1.75; }
.card-meta { border-top:1px solid #eee9e1; padding-top:12px; }
.text-btn { color:var(--forest-2); }
.empty { min-height:230px; display:grid; place-items:center; border:1px solid var(--sand); background:var(--paper); border-radius:10px; color:#89938e; font-size:15px; }
.modal-layer { background:#10252288; backdrop-filter:blur(4px); }
.modal { border-radius:12px; box-shadow:0 24px 80px #10252255; }
.field input,.field select,.field textarea { border-color:#ded9d0; border-radius:7px; }
.field input:focus,.field textarea:focus { border-color:var(--forest-2); box-shadow:0 0 0 3px #24524d14; }
@media(max-width:900px){ .sidebar{display:none}.content{padding:28px 22px}.content-filterbar{align-items:flex-start;flex-direction:column}.content-filterbar .search{width:100%}.heading-actions{margin-top:14px}.topbar{padding:0 22px} }

.schedule-form { grid-template-columns:1fr 1fr 120px 110px 88px; }
.day.drag-over { border-color:var(--forest-2); box-shadow:inset 0 0 0 2px #24524d24; background:#f0f7f4; }
.plan-item[draggable] { cursor:grab; }
.plan-item.dragging { opacity:.45; }
.plan-item.locked { border-left-color:#98a09a; background:#f4f5f3; }
.drop-hint { padding:12px; color:#89938e; font-size:12px; }

/* 内容编辑：扩大弹窗，并将可见规则整理为易扫读的多选卡片。 */
.modal { width:min(900px,calc(100% - 40px)); }
.field .chips:has(label.chip input[data-audience]) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.field .chips label.chip { min-height:50px; margin:0; padding:10px 14px; border-radius:8px; display:flex; align-items:center; gap:9px; color:#43534e; background:#fffdfa; }
.field .chips label.chip input { width:17px; height:17px; margin:0; accent-color:var(--forest-2); flex:0 0 auto; }
.field .chips label.chip.active { background:#edf5f1; border-color:#8cb6aa; color:var(--forest); font-weight:600; }
@media(max-width:700px){ .modal { width:min(100% - 24px,900px); } .field .chips:has(label.chip input[data-audience]) { grid-template-columns:1fr; } }
