.entry-head{display:grid;grid-template-columns:28px 1fr 20px 1fr;gap:10px;font-size:12px;color:var(--muted);margin-bottom:6px}
.entry-head span:first-child{grid-column:2}
.entry-head span:last-child{grid-column:4}
.entries{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.entries li{display:grid;grid-template-columns:28px 1fr 20px 1fr;gap:10px;align-items:center}
.entry-index{font:600 12px var(--mono);color:var(--muted);text-align:right}
.entry-arrow{color:var(--muted);text-align:center}
.entries input{width:100%;min-width:0;height:42px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--paper)}
.entries input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}

.board-scroll{overflow-x:auto;margin:0 -8px;padding:0 8px 4px}
.board{--players:4;--rows:10;min-width:calc(var(--players) * 58px)}
.labels{display:grid;grid-template-columns:repeat(var(--players),minmax(0,1fr));gap:4px}
.player,.result-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:14px;border-radius:10px;padding:8px 4px}
.player{font-weight:700;border:2px solid var(--color);background:var(--surface);color:var(--ink)}
.player:hover,.player.done{background:var(--color);color:#fff}
.result-cell{border:1px dashed var(--border);color:var(--ink)}
.result-cell.covered{color:var(--muted);font-weight:700}
.result-cell.claimed{border:2px solid var(--color);font-weight:700;background:var(--accent-soft)}
#ladder{display:block;width:100%;height:clamp(340px,calc(var(--rows) * 22px),600px)}
.frame line{stroke:var(--muted);stroke-width:3;stroke-linecap:round}
.trail{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:.92;transition:opacity .2s}
.trail.animating{transition:stroke-dashoffset 1.6s ease-in-out,opacity .2s}
.trails.has-focus .trail:not(.focus){opacity:.22}
.summary{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.summary-heading{display:flex;justify-content:space-between;align-items:center}
.summary h2{font-size:17px}
.summary ol{margin:10px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.summary li{padding:8px 12px;border-radius:10px;border-left:4px solid var(--color);background:var(--paper);font-size:14px;overflow-wrap:anywhere}

@media(max-width:720px){
  .entries li,.entry-head{grid-template-columns:22px 1fr 14px 1fr;gap:6px}
  .entries input{padding:0 8px}
  .player,.result-cell{font-size:12px;padding:7px 2px}
  #ladder{height:clamp(300px,calc(var(--rows) * 17px),480px)}
}
