.p-night-shift{--ns-bg:#0a0f24;--ns-b:#f4e7c8;--ns-f:#ffab5e;--ns-u:#8fd6a3;--ns-r:#9cc7ff}
.p-night-shift .ns-intro{max-width:62ch;font-size:1.08rem;line-height:1.6;margin:0 0 20px}
.p-night-shift .ns-fig{margin:0}
.p-night-shift canvas{display:block;width:100%;height:auto;aspect-ratio:1200/640;background:var(--ns-bg);border-radius:6px}
.p-night-shift .ns-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:.92rem;color:var(--muted)}
.p-night-shift .ns-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:-1px}
.p-night-shift .k-b{background:var(--ns-b)}.p-night-shift .k-f{background:var(--ns-f)}
.p-night-shift .k-u{background:var(--ns-u)}.p-night-shift .k-r{background:var(--ns-r)}
.p-night-shift .ns-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:18px}
.p-night-shift .ns-clock{margin-left:auto;font-size:1.05rem}
.p-night-shift .ns-hint{font-size:.88rem;margin-top:8px;max-width:60ch}
.p-night-shift .ns-text{max-width:64ch;margin-top:30px;line-height:1.65;font-size:1.05rem}
.p-night-shift .ns-text h2{font-size:1.3rem;margin:0 0 10px}
.p-night-shift .ns-sign{font-style:italic;color:var(--muted)}
.p-night-shift .ns-list{margin-top:26px;border-top:1px solid var(--line);padding-top:14px}
.p-night-shift .ns-list summary{cursor:pointer;font-weight:600;padding:6px 0}
.p-night-shift .ns-list summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.p-night-shift .ns-list ol{padding-left:1.2em}
.p-night-shift .ns-list li{margin:6px 0;font-size:.97rem;overflow-wrap:anywhere}
.p-night-shift .ns-list li .mono{margin-right:6px}
@media (max-width:520px){.p-night-shift .ns-clock{margin-left:0;width:100%}}
@media (max-width:640px){.p-night-shift canvas{aspect-ratio:10/9}}
