.mk-board { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mk-row { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 12px; background: var(--chip); border: 1px solid var(--card-line); }
.mk-row.empty { background: transparent; border-style: dashed; border-color: var(--dashed); }
.mk-row.empty .mk-peg { background: transparent; border: 1px dashed var(--dashed); }
.mk-code { background: transparent; border: 0; }
.mk-n { width: 18px; text-align: right; font-size: 12px; color: var(--faint); }
.mk-peg { width: 28px; height: 28px; border-radius: 50%; display: inline-block; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); flex: none; }
.mk-peg.red { background: #e5484d; }
.mk-peg.orange { background: #f08a24; }
.mk-peg.yellow { background: #f2d633; }
.mk-peg.green { background: #3fbf6f; }
.mk-peg.blue { background: #3f8cf0; }
.mk-peg.purple { background: #9a5cf0; }
.mk-peg.pink { background: #f06bb4; }
.mk-peg.white { background: #f4f4f2; }
.mk-keys { display: grid; grid-template-columns: repeat(2, 9px); gap: 3px; margin-left: 6px; }
.mk-keys .k { width: 9px; height: 9px; border-radius: 50%; border: 1px solid var(--dashed); display: block; }
.mk-keys .k.b { background: var(--text); border-color: var(--text); }
.mk-keys .k.w { background: transparent; border: 1.5px solid var(--text); }
.mk-pick { display: flex; flex-direction: column; gap: 6px; }
.mk-slot { display: flex; align-items: center; gap: 6px; border: 0; margin: 0; padding: 0; flex-wrap: wrap; }
.mk-slot legend { float: left; width: 18px; font-size: 12px; color: var(--faint); text-align: right; margin-right: 4px; padding: 0; }
.mk-slot input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.mk-slot label { cursor: pointer; width: 30px; height: 30px; outline: 2px solid transparent; outline-offset: 2px; transition: transform .1s; }
.mk-slot label span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mk-slot label:hover { transform: scale(1.08); }
.mk-slot input:checked + label { outline-color: var(--text); }
.mk-slot input:focus-visible + label { outline-color: var(--blue); }
@media (max-width: 400px) { .mk-slot label { width: 27px; height: 27px; } .mk-slot { gap: 5px; } }
.mk-legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; font-size: 12.5px; color: var(--dim); margin-top: -4px; }
.mk-legend .k { width: 9px; height: 9px; border-radius: 50%; display: inline-block; margin-left: 6px; }
.mk-legend .k.b { background: var(--text); }
.mk-legend .k.w { border: 1.5px solid var(--text); }
