.km-wrap{display:flex;flex-direction:column;gap:.65rem}.km-matrix{width:100%;height:auto;max-width:900px;display:block}.km-matrix a:hover rect{stroke-opacity:1;stroke-width:1.5}.km-legend{list-style:none;margin:0;padding:0;display:flex;gap:.65rem;font-size:.65rem;color:var(--ink-3);letter-spacing:.06em;flex-wrap:wrap;align-items:center;text-transform:uppercase}.km-legend li{display:inline-flex;align-items:center;gap:.35rem}.km-legend-pre{color:var(--ink-3)}.km-legend-swatch{display:inline-block;width:.85rem;height:.85rem;background:var(--east-deep);border:.5px solid var(--east-deep)}.kd-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.kd-col{min-width:0}.kd-col-extra{margin-top:1.3rem;max-width:16rem}.kd-col-head{padding-bottom:.55rem;margin-bottom:.5rem;border-bottom:2px solid var(--frame);display:flex;flex-direction:column;min-height:8.5rem}.kd-col-kanji{font-family:var(--font-display);font-size:1.4rem;margin:0;color:var(--ink);line-height:1.1}.kd-col-meta{font-size:.6rem;color:var(--ink-3);margin:.15rem 0 0;letter-spacing:.07em;text-transform:uppercase}.kd-col-blurb{font-size:.72rem;color:var(--ink-2);margin:.35rem 0 0;line-height:1.4}.kd-list{list-style:none;margin:0;padding:0}.kd-item{padding:.6rem .55rem;min-height:6.4rem;display:flex;flex-direction:column;gap:.15rem;border-bottom:1px solid var(--rule);border-left:2px solid transparent;transition:background .1s ease,border-left-color .1s ease}.kd-item:last-child{border-bottom:0}.kd-item:hover{background:var(--paper-3);border-left-color:var(--east-deep)}.kd-item-link{display:flex;align-items:baseline;gap:.55rem;text-decoration:none;border-bottom:0;min-width:0}.kd-item-kanji{font-family:var(--font-display);font-size:1.05rem;color:var(--ink);line-height:1.15;flex-shrink:0}.kd-item:hover .kd-item-kanji{color:var(--east)}.kd-item-rom{font-size:.72rem;color:var(--ink-3);letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.kd-item:hover .kd-item-rom{color:var(--east)}.kd-item-holder-line{font-size:.78rem;color:var(--ink-2);margin:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-item-holder-line .profile-link{color:var(--ink-2);border-bottom-color:transparent}.kd-item-holder-line .profile-link:hover{color:var(--east)}.kd-em{color:var(--ink-3)}.kd-item-role-line{font-size:.68rem;color:var(--ink-3);margin:0;line-height:1.3;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-item-stable{color:var(--ink-3)}.kd-item-gen-line{display:flex;align-items:center;gap:.35rem;font-size:.65rem;color:var(--ink-3);margin:auto 0 0;letter-spacing:.04em;line-height:1}.kd-item-gen{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600;text-transform:uppercase}.kd-item-years{color:var(--ink-3);font-variant-numeric:tabular-nums;text-transform:uppercase}.kd-item-swatch{display:inline-block;width:.6rem;height:.6rem;background:var(--east-deep);border:.5px solid var(--east-deep);flex-shrink:0}@media(max-width:980px){.kd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.kd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}}.kbx-page{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.kbx-pagefoot{margin-top:2.5rem;padding-top:.7rem;border-top:1px solid var(--rule);display:flex;font-size:.74rem}.kbx-pagefoot a{color:var(--ink-2);text-decoration:none;border-bottom:none}.kbx-pagefoot a:hover{color:var(--east)}.kbx-head{border-left:4px solid var(--frame);padding-left:1rem;margin:1.5rem 0}.kbx-title{font-family:var(--font-display);font-size:2.2rem;color:var(--ink);margin:0}.kbx-dek{font-size:.86rem;color:var(--ink-2);margin:.5rem 0 0;max-width:75ch;line-height:1.55}.kbx-dek em{font-style:italic;color:var(--ink)}.kbx-dek a{color:var(--ink);border-bottom:1px solid var(--rule);text-decoration:none}.kbx-dek a:hover{color:var(--east);border-bottom-color:var(--east)}.kbx-section{margin:1.6rem 0}.kbx-h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin:0 0 .1rem;font-weight:700}.kbx-h2-sub{font-size:.65rem;color:var(--ink-3);margin:0 0 .55rem;letter-spacing:.05em}.kbx-frame{padding:1rem 1.25rem;overflow-x:auto;overscroll-behavior-x:contain}
