/*! 32 · 日历碎片与深度时段排布 · 周视图时间带（青碧 × 日轨 × 深浅块） */
.dk-32 {
    --ml-page: #eef8f8;
    --ml-card: #ffffff;
    --ml-card-2: #f5fbfb;
    --ml-ink: #102c30;
    --ml-sub: #426466;
    --ml-faint: #7d9b9c;
    --ml-line: #d5e9e9;
    --ml-line-2: #eaf5f5;
    --ml-accent: #0b7580;
    --ml-accent-2: #55b6bd;
    --ml-accent-soft: #dff2f2;
    --ml-good: #127759;
    --ml-good-soft: #e2f4ea;
    --ml-warn: #a46b10;
    --ml-warn-soft: #faf0d8;
    --ml-bad: #b74b40;
    --ml-bad-soft: #fae9e5;
    --ml-font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
    background: linear-gradient(150deg, rgba(11, 117, 128, .09), transparent 460px), var(--ml-page);
}
:root[data-theme="dark"] .dk-32 {
    --ml-page: #071619;
    --ml-card: #112428;
    --ml-card-2: #172f33;
    --ml-ink: #e5f4f4;
    --ml-sub: #a9c9ca;
    --ml-faint: #789b9d;
    --ml-line: #23464a;
    --ml-line-2: #1a3438;
    --ml-accent: #67cdd1;
    --ml-accent-2: #2e929b;
    --ml-accent-soft: #163b40;
    --ml-good-soft: #14342b;
    --ml-warn-soft: #382b13;
    --ml-bad-soft: #3a1f1c;
}
.dk-32 .ml-hero { grid-template-columns: minmax(0, 1fr) minmax(410px, 500px); }
.dk-32 .ml-feature i { border-radius: 50%; background: var(--ml-accent); color: #fff; }
.dk-32 .dk-console-h { background: linear-gradient(100deg, #0b7580, #42a6ae); }
.dk-32 .dk-console { border-top: 3px solid #9ad4cf; }
.dk-32 .dk-opts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dk-32 .dk-line { border-left: 3px solid var(--ml-accent); }

/* 日轨：每小时一格，占用 / 空闲 / 深度块三层 */
.m32-ruler { display: flex; justify-content: space-between; font: 700 10.5px/1.5 var(--ml-font-num); color: var(--ml-faint); margin: 0 0 7px 92px; }
.m32-days { display: grid; gap: 12px; }
.m32-day { display: grid; grid-template-columns: 84px 1fr; gap: 8px; align-items: center; }
.m32-day > span { font: 700 11.5px/1.5 var(--ml-font-num); color: var(--ml-sub); }
.m32-day > span small { display: block; font-weight: 600; color: var(--ml-faint); }
.m32-rail { position: relative; height: 40px; border-radius: 7px; border: 1px solid var(--ml-line); background: repeating-linear-gradient(90deg, var(--ml-card-2) 0, var(--ml-card-2) calc(11.111% - 1px), var(--ml-line-2) calc(11.111% - 1px), var(--ml-line-2) 11.111%); overflow: hidden; }
.m32-rail .busy { position: absolute; top: 0; height: 100%; background: repeating-linear-gradient(135deg, #b9c9cc 0, #b9c9cc 4px, #a9bdc0 4px, #a9bdc0 8px); opacity: .85; }
:root[data-theme="dark"] .m32-rail .busy { background: repeating-linear-gradient(135deg, #36585c 0, #36585c 4px, #2c4b4f 4px, #2c4b4f 8px); }
.m32-rail .deep { position: absolute; bottom: 0; height: 55%; border-radius: 3px; background: var(--ml-accent); box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
.m32-rail .frag { position: absolute; top: 0; height: 30%; background: var(--ml-warn); opacity: .75; }
.m32-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 12px; font-size: 11.5px; color: var(--ml-sub); }
.m32-legend i { display: inline-block; width: 12px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.m32-legend .a { background: #b9c9cc; } .m32-legend .b { background: var(--ml-warn); } .m32-legend .c { background: var(--ml-accent); }

/* 碎片 / 深度块清单 */
.m32-block { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 10px 12px; border: 1px solid var(--ml-line); border-left: 3px solid var(--ml-accent); border-radius: 7px; background: var(--ml-card-2); font-size: 12.5px; }
.m32-block b { font: 800 12.5px/1.6 var(--ml-font-num); }
.m32-block.is-frag { border-left-color: var(--ml-warn); background: var(--ml-warn-soft); }
.m32-list { display: grid; gap: 8px; max-height: 330px; overflow: auto; }
@media (max-width: 900px) { .dk-32 .ml-hero { grid-template-columns: 1fr; } .dk-32 .dk-opts { grid-template-columns: repeat(2, 1fr); } .m32-ruler { margin-left: 72px; } .m32-day { grid-template-columns: 64px 1fr; } }
