/* Manuscript widget (widgets/manuscript/manuscript.js): chapter cells by part, and a retro-edit view. */
.ms__top { display: flex; align-items: center; gap: 22px; }
.ms__planet { flex: none; width: 118px; height: 118px; }
.ms__sum { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 12.5px; }
.ms__sum .wk-num { color: var(--ink); }
.ms__counts { display: flex; flex-wrap: wrap; gap: 4px 14px; color: var(--ink); }
.ms__counts span { display: inline-flex; align-items: center; gap: 6px; }
.ms__counts b { font-family: var(--wk-serif); font-size: 17px; font-weight: 600; }
.ms__sw { display: inline-block; width: 12px; height: 12px; border-radius: 2px; box-shadow: inset 0 0 0 1px var(--ink); }
.ms__board { display: flex; flex-direction: column; gap: 8px; }
.ms__row { display: grid; grid-template-columns: 128px minmax(0, 1fr) 92px; align-items: center; gap: 12px; }
.ms__pn { display: flex; align-items: baseline; gap: 8px; font-weight: 600; font-size: 12.5px; }
.ms__pn b { width: 26px; font-size: 18px; color: var(--wk-copper); }
.ms__cells { display: flex; flex-wrap: wrap; gap: 4px; }
.ms__c { position: relative; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 3px; font-size: 10.5px; font-variant-numeric: tabular-nums; outline: none; box-shadow: inset 0 0 0 1px var(--ink); transition: background-color .3s ease, opacity .3s ease, transform .25s ease; }
.ms__c span { position: relative; z-index: 1; padding: 0 2px; border-radius: 2px; background: var(--wk-panel); line-height: 1.2; }
.ms__c:hover, .ms__c:focus-visible { transform: translateY(-2px); box-shadow: inset 0 0 0 1.5px var(--wk-copper); }
.ms__c.is-locked, .ms__sw.is-locked { background: var(--ink); }
.ms__c.is-locked span { background: none; color: var(--bg); }
.ms__c.is-drafted, .ms__sw.is-drafted { background: repeating-linear-gradient(-45deg, var(--ink) 0 1.3px, transparent 1.3px 4px); }
.ms__c.is-next, .ms__sw.is-next { box-shadow: inset 0 0 0 1.5px var(--wk-copper); background: repeating-linear-gradient(-45deg, var(--wk-copper) 0 .8px, transparent .8px 6px); }
.ms__c.is-next { animation: ms-next 2.4s ease-in-out infinite; }
@keyframes ms-next { 50% { box-shadow: inset 0 0 0 1.5px var(--wk-copper), 0 0 0 4px color-mix(in srgb, var(--wk-copper) 25%, transparent); } }
.ms__c.is-outlined, .ms__sw.is-outlined { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 45%, transparent); }
.ms__c.is-interlude { border-radius: 50%; }
.ms__c.is-interlude::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; border: 1px dotted var(--wk-copper); }
.ms__pp { display: flex; align-items: center; gap: 8px; }
.ms__pp b { width: 34px; text-align: right; font-family: var(--wk-serif); font-size: 16px; font-weight: 600; }
.ms__bar { flex: 1; height: 6px; border-radius: 6px; box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.ms__bar i { display: block; height: 100%; background: var(--wk-copper); }
.ms__cap { margin: 0; font-size: 12.5px; color: var(--muted); }
.ms__cap--retro { display: none; }
/* Retro view: only the finished chapters count; ink weight shows how much changed. */
.ms.is-retro .ms__cap--status { display: none; }
.ms.is-retro .ms__cap--retro { display: block; }
.ms.is-retro .ms__c { background: none; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 45%, transparent); animation: none; }
.ms.is-retro .ms__c span { background: none; color: var(--ink); }
.ms.is-retro .ms__c.no-retro { opacity: .25; }
.ms.is-retro .ms__c.r1 { background: repeating-linear-gradient(-45deg, var(--wk-copper) 0 1px, transparent 1px 6px); }
.ms.is-retro .ms__c.r2 { background: repeating-linear-gradient(-45deg, var(--wk-copper) 0 1.4px, transparent 1.4px 3.4px); }
.ms.is-retro .ms__c.r3 { background: var(--wk-copper); }
.ms.is-retro .ms__c.r1 span, .ms.is-retro .ms__c.r2 span { background: var(--wk-panel); }
.ms.is-retro .ms__c.r3 span { color: var(--bg); }
.ms.is-retro .ms__pp { opacity: .3; }
@media (max-width: 560px) {
  .ms__row { grid-template-columns: minmax(0, 1fr) 84px; }
  .ms__cells { grid-column: 1 / -1; grid-row: 2; }
  .ms__c { width: 28px; height: 28px; }
  .ms__planet { width: 88px; height: 88px; }
}
@media (prefers-reduced-motion: reduce) { .ms__c.is-next { animation: none; } }
