/*! 39 · 午休与碎片休息时段排布 · 午休窗格（天青 × 阳光黄 × 约束叠层） */
.dk-39 {
    --ml-page: #f0f9fc;
    --ml-card: #ffffff;
    --ml-card-2: #f6fcfe;
    --ml-ink: #142b38;
    --ml-sub: #45636e;
    --ml-faint: #7f9ba5;
    --ml-line: #d8ebf1;
    --ml-line-2: #ecf7fa;
    --ml-accent: #127a95;
    --ml-accent-2: #66b8cd;
    --ml-accent-soft: #dff2f7;
    --ml-good: #14795c;
    --ml-good-soft: #e2f3ea;
    --ml-warn: #a46b10;
    --ml-warn-soft: #faf0d8;
    --ml-bad: #b3503f;
    --ml-bad-soft: #fae8e2;
    --ml-sun: #e6b13c;
    --ml-font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
    background: radial-gradient(880px 300px at 50% -8%, rgba(230, 177, 60, .18), transparent 62%), var(--ml-page);
}
:root[data-theme="dark"] .dk-39 {
    --ml-page: #08171d;
    --ml-card: #11252e;
    --ml-card-2: #17313b;
    --ml-ink: #e5f4fa;
    --ml-sub: #a9c9d3;
    --ml-faint: #7899a3;
    --ml-line: #23444f;
    --ml-line-2: #1a343e;
    --ml-accent: #6cc9e2;
    --ml-accent-2: #2e8ba7;
    --ml-accent-soft: #163c48;
    --ml-good-soft: #16352a;
    --ml-warn-soft: #382b13;
    --ml-bad-soft: #3a201a;
    --ml-sun: #e9c46a;
}
.dk-39 .ml-hero { grid-template-columns: minmax(0, 1fr) minmax(420px, 510px); }
.dk-39 .ml-feature i { border-radius: 50%; background: var(--ml-accent); color: #fff; }
.dk-39 .dk-console-h { background: linear-gradient(100deg, #0d6f8c, #53a9c1); }
.dk-39 .dk-console { border-top: 3px solid var(--ml-sun); }
.dk-39 .dk-opts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dk-39 .dk-line { border-left: 3px solid var(--ml-sun); }

/* 午休约束叠层 */
.m39-scale { display: flex; justify-content: space-between; font: 700 10.5px/1.5 var(--ml-font-num); color: var(--ml-faint); }
.m39-rail { position: relative; height: 64px; border: 1px solid var(--ml-line); border-radius: 8px; background: var(--ml-card-2); overflow: hidden; }
.m39-rail .row { position: absolute; left: 0; right: 0; height: 15px; }
.m39-rail .row1 { top: 2px; } .m39-rail .row2 { top: 18px; } .m39-rail .row3 { top: 34px; } .m39-rail .row4 { top: 50px; }
.m39-rail .busy { position: absolute; height: 100%; background: repeating-linear-gradient(135deg, #b9c9cf 0, #b9c9cf 4px, #a6bcc3 4px, #a6bcc3 8px); }
:root[data-theme="dark"] .m39-rail .busy { background: repeating-linear-gradient(135deg, #35545c 0, #35545c 4px, #2a464e 4px, #2a464e 8px); }
.m39-rail .rest { position: absolute; height: 100%; border-radius: 3px; background: var(--ml-accent); color: #fff; font: 700 9.5px/15px var(--ml-font-num); text-align: center; overflow: hidden; }
.m39-rail .frag { position: absolute; height: 100%; background: var(--ml-bad); opacity: .8; border-radius: 3px; }
.m39-rail .meal { position: absolute; height: 100%; background: #e6b13c; border-radius: 3px; }
.m39-rail .light { position: absolute; height: 100%; background: #8ecb7c; border-radius: 3px; }
.m39-rail .lbl { position: absolute; left: 5px; top: 0; font: 700 9px/15px var(--ml-font-num); color: var(--ml-faint); }
.m39-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 11px; font-size: 11.5px; color: var(--ml-sub); }
.m39-legend i { display: inline-block; width: 12px; height: 9px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }

.m39-conflict { padding: 10px 12px; border-left: 3px solid var(--ml-bad); border-radius: 7px; background: var(--ml-bad-soft); font-size: 12.5px; line-height: 1.75; }
.m39-chip { display: inline-flex; gap: 6px; align-items: center; padding: 4px 10px; border: 1px solid var(--ml-line); border-radius: 7px; background: var(--ml-card-2); font: 700 11.5px/1.7 var(--ml-font-num); color: var(--ml-sub); }
@media (max-width: 900px) { .dk-39 .ml-hero { grid-template-columns: 1fr; } .dk-39 .dk-opts { grid-template-columns: repeat(2, 1fr); } }
