/* Shared by the historical 王/彭 pages and every generated 汉字 lesson. */
.hanzi-page .zs-stroke-controls,.wang-page .zs-stroke-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch;max-width:460px;margin-inline:auto}
.hanzi-page .zs-stroke-controls button,.wang-page .zs-stroke-controls button{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:9px 7px;gap:5px;font-size:13px!important;line-height:1.6;white-space:nowrap;justify-content:center}
.hanzi-page .zs-stroke-controls [data-stroke-play] [aria-hidden],.wang-page .zs-stroke-controls [data-stroke-play] [aria-hidden]{display:none}
.hanzi-page .zs-stroke-controls [data-stroke-practice][aria-pressed="true"],.wang-page .zs-stroke-controls [data-stroke-practice][aria-pressed="true"]{background:var(--hanzi-accent,var(--wang-red,#395e57));border-color:var(--hanzi-accent,var(--wang-red,#395e57));color:#fffaf0!important;box-shadow:inset 0 0 0 2px #fffaf0,inset 0 0 0 3px var(--hanzi-accent,var(--wang-red,#395e57))}
.hanzi-page .zs-stroke-status,.wang-page .zs-stroke-status{box-sizing:border-box;block-size:92px;min-block-size:92px;max-block-size:92px;margin:0!important;padding-top:12px;font-size:12px;line-height:1.85;overflow:auto;overflow-wrap:anywhere;text-align:center;color:var(--hanzi-muted,var(--wang-muted,#62695d));scrollbar-width:thin}
.hanzi-page .zs-stroke-status[data-practice-state="error"],.wang-page .zs-stroke-status[data-practice-state="error"]{color:#a63c31}
.hanzi-page .zs-stroke-status[data-practice-state="correct"],.hanzi-page .zs-stroke-status[data-practice-state="complete"],.wang-page .zs-stroke-status[data-practice-state="correct"],.wang-page .zs-stroke-status[data-practice-state="complete"]{color:#356047}
.zs-stroke-board{overflow:hidden;-webkit-user-select:none;user-select:none}
.zs-stroke-board[data-practice-mode="true"]{touch-action:none;cursor:crosshair}
.zs-practice-hints,.zs-practice-ink{pointer-events:none}
.zs-expected-stroke{fill:none;stroke:#b18748;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.33}
.zs-start-point{fill:#fffaf0;stroke:#9c6b26;stroke-width:2}
.zs-direction-arrow{fill:none;stroke:#9c6b26;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.zs-user-stroke{fill:none;stroke:var(--hanzi-accent,var(--wang-red,#395e57));stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.zs-user-error{stroke:#be4035}
@media(max-width:900px){.hanzi-page .zs-stroke-controls,.wang-page .zs-stroke-controls{grid-template-columns:repeat(2,minmax(0,1fr));max-width:290px;gap:8px}.hanzi-page .zs-stroke-controls button,.wang-page .zs-stroke-controls button{font-size:14px!important;min-height:44px}.hanzi-page .zs-stroke-status,.wang-page .zs-stroke-status{block-size:102px;min-block-size:102px;max-block-size:102px}}
@media print{.zs-practice-hints,.zs-practice-ink{display:none!important}.hanzi-page .zs-stroke-controls,.wang-page .zs-stroke-controls,.hanzi-page .zs-stroke-status,.wang-page .zs-stroke-status{display:none!important}}
