/*! 38 · 周报素材从本地日志按项目聚合 · 牛皮纸账本（米黄 × 横线纸 × 来源行号） */
.dk-38 {
    --ml-page: #faf6ec;
    --ml-card: #fffdf7;
    --ml-card-2: #f8f2e3;
    --ml-ink: #332b1c;
    --ml-sub: #645741;
    --ml-faint: #97876b;
    --ml-line: #e7dcc3;
    --ml-line-2: #f2ead7;
    --ml-accent: #8a6417;
    --ml-accent-2: #c5a15a;
    --ml-accent-soft: #f3e8c9;
    --ml-good: #14795c;
    --ml-good-soft: #e2f3ea;
    --ml-warn: #9a6810;
    --ml-warn-soft: #faf0d8;
    --ml-bad: #a94b32;
    --ml-bad-soft: #f9e7dd;
    --ml-font-display: "Songti SC", "STSong", "SimSun", "PingFang SC", serif;
    background: repeating-linear-gradient(0deg, rgba(138, 100, 23, .025) 0, rgba(138, 100, 23, .025) 1px, transparent 1px, transparent 28px), var(--ml-page);
}
:root[data-theme="dark"] .dk-38 {
    --ml-page: #171208;
    --ml-card: #221b10;
    --ml-card-2: #2c2415;
    --ml-ink: #f6ecd2;
    --ml-sub: #d1bf99;
    --ml-faint: #a08d68;
    --ml-line: #3b3119;
    --ml-line-2: #302816;
    --ml-accent: #e6c474;
    --ml-accent-2: #b18a36;
    --ml-accent-soft: #3a2d15;
    --ml-good-soft: #16352a;
    --ml-warn-soft: #382b13;
    --ml-bad-soft: #3a2018;
}
.dk-38 .ml-hero { grid-template-columns: minmax(0, 1fr) minmax(400px, 490px); }
.dk-38 h1.ml-h1 { font-weight: 700; }
.dk-38 .ml-feature i { border-radius: 3px; background: var(--ml-accent); color: #fff; }
.dk-38 .dk-console-h { background: linear-gradient(100deg, #725015, #b08a3c); }
.dk-38 .dk-console { border-top: 3px solid #ddc58c; }
.dk-38 .dk-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dk-38 .dk-line { border-left: 3px solid var(--ml-bad); background: var(--ml-bad-soft); }

/* 项目账页 */
.m38-project { border: 1px solid var(--ml-line); border-radius: 9px; overflow: hidden; background: var(--ml-card); margin-bottom: 12px; }
.m38-project-h { display: flex; justify-content: space-between; gap: 8px; padding: 10px 14px; background: var(--ml-accent-soft); border-bottom: 1px solid var(--ml-line); }
.m38-project-h b { font-family: var(--ml-font-display); font-size: 15px; }
.m38-line { display: grid; grid-template-columns: 1fr auto; gap: 9px; padding: 10px 14px; border-bottom: 1px dashed var(--ml-line-2); font-size: 13px; line-height: 1.8; }
.m38-line:last-child { border-bottom: 0; }
.m38-line.is-dup { background: var(--ml-card-2); color: var(--ml-faint); text-decoration: line-through; }
.m38-line .res { display: block; font-size: 12px; color: var(--ml-sub); text-decoration: none; }
.m38-line .side { text-align: right; white-space: nowrap; }
.m38-src { display: inline-block; padding: 1px 7px; border-radius: 4px; background: var(--ml-card-2); border: 1px solid var(--ml-line); font: 700 10.5px/1.6 var(--ml-font-num); color: var(--ml-accent); }

/* 草稿纸 */
.m38-draft { width: 100%; min-height: 220px; padding: 14px 16px; border: 1px solid var(--ml-line); border-radius: 8px; background: var(--ml-card); color: var(--ml-ink); font: 12.5px/1.95 var(--ml-font-num); resize: vertical; }
.m38-badge { display: inline-block; padding: 4px 10px; border: 1px solid var(--ml-bad); border-radius: 6px; background: var(--ml-bad-soft); color: var(--ml-bad); font-size: 12px; font-weight: 700; }
.m38-days { display: flex; flex-wrap: wrap; gap: 7px; }
.m38-tags { display: flex; flex-wrap: wrap; gap: 7px; }
@media (max-width: 900px) { .dk-38 .ml-hero { grid-template-columns: 1fr; } }
