.cb-title{font-size:1.25rem;flex:1}
.cb-row{display:grid;gap:8px;margin-bottom:1.25rem}
.cb-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cb-opt{background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:10px 4px;min-height:46px;font-size:.9375rem;overflow-wrap:anywhere}
.cb-opt[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}
.cb-opt:disabled{opacity:.45;cursor:not-allowed}
.cb-notes{background:var(--soft);border-radius:10px;padding:10px 12px;margin-bottom:1rem;font-size:.8125rem;line-height:1.5}
.cb-notes p{margin:0}
.cb-notes p+p{margin-top:.375rem}
.cb-stage{display:flex;flex-direction:column;gap:12px;min-width:0}
.cb-kana{--cb-size:3.5rem;font-size:var(--cb-size);line-height:1.25;text-align:center;background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:18px 10px;overflow-wrap:anywhere}
.cb-answered .cb-kana{font-size:calc(var(--cb-size)*.6);padding:6px 10px}
.cb-form{display:flex;flex-direction:column;gap:8px}
.cb-input{width:100%;min-width:0;font:inherit;font-size:1.125rem;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;min-height:50px;text-align:center}
.cb-input::placeholder{color:var(--muted)}
.cb-input:focus{outline:3px solid var(--accent);outline-offset:1px}
.cb-input.good{border-color:var(--good);color:var(--good)}
.cb-input.bad{border-color:var(--accent);color:var(--accent)}
.cb-hint{margin:0;font-size:.8125rem;color:var(--accent);text-align:center}
.cb-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cb-acts #cb-next{grid-column:1/-1}
.cb-ghost{background:var(--soft);border-radius:12px;font-weight:700;padding:12px 8px;min-height:52px}
.cb-result{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;min-width:0}
.cb-result.ok{border-color:var(--good)}
.cb-result.no{border-color:var(--accent)}
.cb-verdict{margin:0 0 6px;font-weight:700;font-size:.9375rem;overflow-wrap:anywhere}
.cb-result.ok .cb-verdict{color:var(--good)}
.cb-result.no .cb-verdict{color:var(--accent)}
.cb-yours{font-weight:400;color:var(--muted)}
.cb-break{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:.875rem;line-height:1.5}
.cb-chip{background:var(--soft);border-radius:6px;padding:1px 7px;white-space:nowrap}
.cb-chip b{font-weight:500;font-size:1rem}
.cb-plus{color:var(--muted)}
.cb-total{font-size:1.0625rem;color:var(--accent);overflow-wrap:anywhere}
.cb-mean{margin:6px 0 0;font-size:.875rem;line-height:1.4}
.cb-end{gap:6px}
.cb-endsub{margin:0}
.cb-hard{text-align:left;margin-top:1rem}
.cb-hard ul{list-style:none;margin:0;padding:0}
.cb-hard li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:7px 0;border-top:1px solid var(--line)}
.cb-hard li b{font-weight:500;font-size:1.125rem}
.cb-hard li span{color:var(--accent);font-weight:700}
.cb-hard li small{color:var(--muted);font-size:.8125rem}
.cb-answered{gap:8px}
.cb-answered .cb-input{min-height:42px;padding:6px 14px}
.cb-answered .primary{min-height:44px;padding:8px}
.cb-answered .cb-form{flex-direction:row;align-items:stretch}
.cb-answered .cb-input{flex:1 1 0}
.cb-answered .cb-acts{display:block;flex:none}
.cb-answered #cb-next{width:auto;padding:8px 20px;height:100%}
.cb-sum{white-space:nowrap}
