.pc { max-width: 780px; }
.pc-board-top, .pc-mistakes { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.pc-board-top { margin: .65rem 0 .85rem; }
.pc-board-top p { margin: 0; }
.pc-board-top #pc-instruction { font-size: 1rem; font-weight: 650; }
.pc-board-top #pc-progress, .pc-mistakes { color: var(--bh-muted); font-size: .85rem; font-variant-numeric: tabular-nums; }
.pc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; }
.pc .pc-word { min-width: 0; min-height: 74px; padding: .85rem .45rem; border: 1px solid #c7d2d0; border-radius: 12px; background: #f6f4ed; color: #263331; font-size: 1rem; font-weight: 670; overflow-wrap: anywhere; line-height: 1.3; }
.pc-word[aria-pressed="true"] { background: #145f58; border-color: #145f58; color: #fff; }
.pc-word:disabled { cursor: default; }
.pc-mistakes { margin-top: 1rem; }
.pc-actions { margin-top: .8rem; margin-bottom: 0; }
.pc-actions .bh-primary { max-width: 260px; }
.pc-actions .bh-secondary { min-width: 90px; }
.pc-secondary { display: flex; justify-content: flex-end; }
.pc-feedback { margin-top: 0; min-height: 2.6em; }
.pc-found { display: grid; gap: .6rem; }
.pc-found:not(:empty) { margin-bottom: .6rem; }
.pc-path { border-radius: 12px; padding: .85rem 1rem; background: #e7f1eb; color: #203c30; }
.pc-blue { background: #e8edf6; color: #243752; }
.pc-orange { background: #f5eddd; color: #503c17; }
.pc-purple { background: #eeebf4; color: #3d3156; }
.pc-path-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.pc-path h3 { margin: 0; font-size: .95rem; font-weight: 730; }
.pc-earned { font-size: .75rem; white-space: nowrap; }
.pc-path-words { margin: .35rem 0 0; font-size: 1rem; font-weight: 550; }
.pc-path details { margin-top: .4rem; font-size: .85rem; }
.pc-path summary { cursor: pointer; min-height: 36px; padding: .4rem 0; text-underline-offset: .2em; text-decoration: underline; }
.pc-path ol { margin: .25rem 0 .15rem; padding-left: 1.3rem; line-height: 1.65; }
.pc-path li + li { margin-top: .3rem; }
.pc-path.is-revealed { background: #f1f1ed; color: #49514d; }
.pc #pc-result-summary { color: var(--bh-muted); line-height: 1.5; }
.pc :is(button, a) { touch-action: manipulation; }
@media (hover: hover) { .pc-word:not(:disabled):not([aria-pressed="true"]):hover { background: #e8eee6; border-color: var(--bh-accent); } }
@media (max-width: 540px) {
    .pc-grid { gap: .4rem; }
    .pc .pc-word { min-height: 64px; font-size: clamp(.72rem, 3.35vw, .88rem); padding: .65rem .2rem; border-radius: 10px; }
    .pc-board-top { gap: .5rem; }
    .pc-board-top #pc-instruction { font-size: .9rem; }
    .pc-board-top #pc-progress { font-size: .75rem; text-align: right; }
    .pc-path { padding: .8rem; }
    .pc-path h3 { font-size: .85rem; }
    .pc-path-words { font-size: .88rem; }
    .pc-path details { font-size: .8rem; }
    .pc .bh-modes > span { max-width: 49%; }
}
@media (prefers-reduced-motion: reduce) { .pc *, .pc *::before, .pc *::after { animation: none !important; scroll-behavior: auto !important; } }

.pc-challenge { margin: 1rem 0 1.4rem; padding: 1rem 0; border-block: 1px solid var(--bh-line); }
.pc-challenge h2 { margin: 0 0 .45rem; font-size: 1.08rem; line-height: 1.35; }
.pc-challenge p { margin: .4rem 0; line-height: 1.5; max-width: 68ch; font-size: .9rem; overflow-wrap: anywhere; }
.pc-challenge [data-target] { font-weight: 650; color: var(--bh-accent); }
.pc-challenge [data-target]:empty { display: none; }
.pc-challenge [data-handoff] { color: var(--bh-muted); }
