.kb-tl{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:.95rem;font-size:.82rem}.kb-tl:before{content:"";position:absolute;left:calc(.6rem - .5px);top:.6rem;bottom:.6rem;width:1px;background:var(--ink-3)}.kb-tl-item{display:grid;grid-template-columns:1.2rem 1fr;gap:.75rem;align-items:start;position:relative;padding:.1rem 0}.kb-tl-node{justify-self:center;align-self:start;margin-top:.32rem;display:inline-flex;box-sizing:border-box;width:.55rem;height:.55rem;background:var(--ink);border:1px solid var(--frame);border-radius:50%;z-index:1}.kb-tl-tier-yokozuna .kb-tl-node{width:.95rem;height:.95rem;background:var(--t-yokozuna);border:2px solid var(--t-yokozuna);margin-top:.18rem}.kb-tl-tier-ozeki .kb-tl-node{width:.8rem;height:.8rem;background:var(--t-ozeki);border-color:var(--t-ozeki);margin-top:.22rem}.kb-tl-tier-sekiwake .kb-tl-node{width:.7rem;height:.7rem;background:var(--t-sekiwake);border-color:var(--t-sekiwake);margin-top:.25rem}.kb-tl-tier-komusubi .kb-tl-node{width:.65rem;height:.65rem;background:var(--t-komusubi);border-color:var(--t-komusubi);margin-top:.27rem}.kb-tl-tier-maegashira .kb-tl-node{width:.55rem;height:.55rem;background:var(--t-maegashira);border-color:var(--t-maegashira)}.kb-tl-tier-juryo .kb-tl-node{width:.45rem;height:.45rem;background:var(--paper);border:1.5px solid var(--ink-2)}.kb-tl-tier-makushita .kb-tl-node,.kb-tl-tier-lower .kb-tl-node,.kb-tl-tier-none .kb-tl-node{width:.4rem;height:.4rem;background:var(--paper);border:1.5px solid var(--ink-3)}.kb-tl-current .kb-tl-node{box-shadow:0 0 0 3px var(--paper),0 0 0 4.5px var(--east-deep)}.kb-tl-body{display:flex;flex-direction:column;gap:.12rem;min-width:0}.kb-tl-head{display:flex;align-items:baseline;gap:.55rem;font-family:var(--font-mono);font-size:.62rem;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.kb-tl-gen{color:var(--ink-2)}.kb-tl-years{font-variant-numeric:tabular-nums;color:var(--ink-2)}.kb-tl-tag{color:var(--paper);background:var(--east-deep);padding:.05rem .4rem;border-radius:1px;font-weight:700}.kb-tl-name{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap;line-height:1.3}.kb-tl-name-link{font-family:var(--font-display);font-size:1rem;color:var(--ink)}.kb-tl-rank{font-size:.66rem;color:var(--ink-2);padding:.05rem .35rem;background:var(--paper-3);border-radius:1px}.kb-tl-tier-yokozuna .kb-tl-name-link{color:var(--t-yokozuna);font-weight:700}.kb-tl-tier-yokozuna .kb-tl-rank{color:var(--t-yokozuna);background:#0000000a}.kb-tl-tier-ozeki .kb-tl-rank{color:var(--t-ozeki)}.kb-tl-tier-sekiwake .kb-tl-rank{color:var(--t-sekiwake)}.kb-tl-heya{font-size:.74rem;color:var(--ink-2);line-height:1.3}.kb-tl-heya-link{color:var(--ink-2)}.kb-tl-notes{font-size:.68rem;color:var(--ink-3);line-height:1.35;margin-top:.1rem;font-style:italic}.kb-page{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.kb-hero{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:start;padding-bottom:1.5rem;border-bottom:2px solid var(--frame);border-left:4px solid var(--east-deep);padding-left:1rem}.kb-badge{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.06em;color:var(--paper);background:var(--east-deep);padding:.2rem .55rem;border-radius:1px;margin-bottom:.5rem}.kb-name{font-family:var(--font-display);font-size:2.4rem;line-height:1.05;color:var(--ink);margin:0;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.kb-name-kanji{font-size:2.6rem}.kb-name-rom{font-size:1.4rem;color:var(--ink-3);letter-spacing:.05em;font-family:var(--font-mono);font-weight:400}.kb-meta{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin-top:.7rem;font-size:.72rem;color:var(--ink-2);margin-bottom:0}.kb-meta span{white-space:nowrap}.kb-tiles{display:grid;grid-template-columns:repeat(4,auto);gap:.4rem 1.2rem;margin:0;align-self:start}.kb-tiles dt{font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0}.kb-tiles dd{font-size:1.4rem;font-family:var(--font-display);color:var(--ink);margin:0;line-height:1.1}.kb-tile-status{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.kb-tile-status-active{color:var(--east-deep)}.kb-tile-status-vacant,.kb-tile-status-disused{color:var(--ink-3)}.kb-block{margin-top:1.6rem}.kb-h{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin:0 0 .1rem;font-weight:700}.kb-hsub{font-weight:400;color:var(--ink-3);letter-spacing:.05em;text-transform:none;margin-left:.6rem;font-size:.62rem}.kb-dek{font-size:.82rem;color:var(--ink-2);margin:0 0 .75rem;max-width:70ch;line-height:1.55}.kb-dek a{color:var(--ink);border-bottom:1px solid var(--rule);text-decoration:none}.kb-dek a:hover{color:var(--east);border-bottom-color:var(--east)}.kb-frame{padding:1rem 1.25rem;background:var(--paper);overflow-x:auto;overscroll-behavior-x:contain}.kb-current-block{display:flex;flex-direction:column;gap:.45rem}.kb-current{font-size:1.05rem;margin:0;color:var(--ink);display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem}.kb-current-name{font-weight:600}.kb-current-kanji{font-family:var(--font-display);color:var(--ink-2);font-size:1rem}.kb-current-fg{color:var(--ink-3);font-size:.75rem}.kb-role-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.06em;color:var(--paper);background:var(--east-deep);padding:.15rem .5rem;border-radius:1px;vertical-align:middle;text-transform:uppercase}.kb-stable-line{margin:0;font-size:.78rem;color:var(--ink-2);letter-spacing:.03em}.kb-stable-kanji{color:var(--ink-3);font-size:.72rem;font-family:var(--font-display);letter-spacing:0}.kb-etymology{font-size:.92rem;color:var(--ink);margin:0;line-height:1.65;max-width:70ch}.kb-foot{margin-top:3rem;padding-top:.7rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.66rem;color:var(--ink-3);letter-spacing:.04em;flex-wrap:wrap}.kb-foot a{color:var(--ink-3);text-decoration:none;border-bottom:none}.kb-foot a:hover{color:var(--east)}.kb-prov{color:var(--ink-3)}@media(max-width:820px){.kb-hero{grid-template-columns:1fr}.kb-tiles{grid-template-columns:repeat(4,1fr)}}@media(max-width:520px){.kb-tiles{grid-template-columns:repeat(2,1fr)}}
