.chart-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}
.chart-side{min-width:0}.chart-side-title{display:flex;align-items:center;gap:6px;margin-bottom:var(--s4);padding-bottom:var(--s2);border-bottom:2px solid currentColor;font-size:12px;font-weight:750}
.chart-side.hira .chart-side-title{color:var(--hira)}.chart-side.kata .chart-side-title{color:var(--kata)}
.chart-row{display:grid;grid-template-columns:72px 1fr 36px;align-items:center;gap:var(--s2);margin-bottom:8px;font-size:11px;font-weight:500}
.chart-row .lbl,.chart-row .pct{color:var(--ink3)}.chart-row .pct{text-align:right;font-variant-numeric:tabular-nums}
.chart-bar-o{height:7px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-full);background:var(--bg3)}.chart-bar-i{height:100%;border-radius:var(--r-full);transition:width .3s var(--ease)}
.chart-side.hira .chart-bar-i{background:var(--hira)}.chart-side.kata .chart-bar-i{background:var(--kata)}
.stat-row{display:grid;grid-template-columns:1fr auto;gap:var(--s4);padding:12px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--ink2)}.stat-row:last-child{border-bottom:0}.stat-row b{color:var(--ink);font-variant-numeric:tabular-nums}
.weak-item{display:inline-flex;align-items:center;gap:4px;margin:3px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--r-s);background:var(--surface);font-size:13px;font-weight:600}.weak-item b{color:var(--bad)}
.stage-nav{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:var(--s2);margin-top:var(--s4)}
.stage-nav-arrow{width:40px;height:40px;border:1px solid var(--border);border-radius:var(--r-s);background:var(--surface);cursor:pointer;font-weight:800}.stage-nav-arrow:hover:not(:disabled){border-color:var(--hira);color:var(--hira)}.stage-nav-arrow:disabled{opacity:.35;cursor:default}
.stage-nav-info{text-align:center;padding:8px;border:1px solid var(--border);border-radius:var(--r-s);background:var(--surface)}.stage-nav-num{color:var(--ink3);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.stage-nav-name{margin-top:2px;font-size:13px;font-weight:750}.stage-nav-status{margin-left:6px;color:var(--ink3);font-size:10px}.stage-nav-status.done{color:var(--good)}.stage-nav-status.current{color:var(--accent)}
@media(max-width:560px){.chart-split{grid-template-columns:1fr;gap:var(--s5)}}
