.ch-page{min-width:0;padding-block:1.5rem 3rem}.ch-heading{margin-block:1rem}.ch-heading h1{letter-spacing:-.04em;margin-block:.4rem;font-size:clamp(1.8rem,4vw,2.8rem)}.ch-game>p{margin-bottom:1.2rem;line-height:1.6}.ch-workspace{align-items:start;gap:1.5rem;display:grid}.ch-workspace>*,.ch-fields,.ch-controls{min-width:0}.ch-path{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:1.2rem;padding:1rem}.ch-fixed{background:var(--brand-green-light);border:1px solid var(--brand-control-border);overflow-wrap:anywhere;border-radius:.8rem;padding:.8rem 1rem}.ch-fixed small{color:var(--brand-muted);margin-bottom:.2rem;font-size:.75rem;display:block}.ch-fixed strong{letter-spacing:.08em;font-size:1.2rem}.ch-arrow{color:var(--interactive-primary);padding:.2rem 1rem;font-size:1.4rem;display:block}.ch-fields{border:0;padding:0}.ch-fields legend{margin-block:.4rem .7rem;padding:0;font-size:.9rem;font-weight:750}.ch-letter-group{flex-wrap:wrap;gap:6px;display:flex}.ch-letter{border:1px solid var(--brand-control-border);border-bottom:3px solid var(--selection-border);background:var(--brand-surface);border-radius:.45rem;width:44px;height:55px;display:block;position:relative}.ch-letter input{border-radius:inherit;width:100%;height:100%;color:var(--brand-ink);text-align:center;caret-color:var(--interactive-primary);background:0 0;border:0;padding:0 0 .3rem;font:750 1.4rem/1 system-ui,sans-serif;position:absolute;inset:0}.ch-letter-number{color:var(--brand-muted);pointer-events:none;font-size:.6rem;position:absolute;bottom:1px;right:4px}.ch-hinted{background:var(--brand-ochre-light);border-bottom-style:double}.ch-hinted input{text-underline-offset:3px;text-decoration:underline}.ch-verify{margin-top:.9rem}.ch-answer{letter-spacing:.05em;overflow-wrap:anywhere;border-left:4px solid var(--brand-green);background:var(--brand-green-light);padding:.6rem 1rem;font-weight:800}.ch-explanations{border-left:2px solid var(--brand-border);margin-top:.8rem;padding:1rem;font-size:.9rem;line-height:1.6}.ch-explanations h2{font-size:.95rem}.ch-explanations p{margin-top:.75rem}.ch-tools{border:1px solid var(--brand-border);background:var(--brand-surface);border-radius:1.2rem;padding:1rem}.ch-score{font-size:1.15rem;font-weight:800}.ch-caption{color:var(--brand-green-dark);margin-block:.5rem;font-size:.85rem;line-height:1.5}.ch-controls{border:0;flex-wrap:wrap;gap:.5rem;margin-block:1rem;padding:0;display:flex}.ch-controls legend{margin-bottom:.5rem;font-weight:750}.ch-game button{min-height:44px;font:inherit;cursor:pointer;border:1px solid var(--brand-control-border);background:var(--brand-green-light);color:var(--brand-green-dark);border-radius:.65rem;padding:.65rem .85rem;font-weight:700}.ch-game button.button{color:var(--brand-surface);background:var(--brand-green)}.ch-game button:disabled{opacity:.5;cursor:default}.ch-page :is(button,input,a,summary):focus-visible,.ch-outcome h2:focus{outline:3px solid var(--selection-border);outline-offset:3px}.ch-feedback{background:var(--brand-green-light);border-radius:.7rem;margin-block:1rem;padding:1rem;line-height:1.5}.ch-rules{margin-top:1rem;font-size:.9rem;line-height:1.6}.ch-rules summary{cursor:pointer;min-height:44px;font-weight:750}.ch-rules p+p{margin-top:.75rem}.ch-outcome{background:var(--brand-ochre-light);border:1px solid var(--brand-ochre-dark);border-radius:1rem;margin-bottom:1rem;padding:1rem;line-height:1.6}.ch-outcome h2{font-size:1.4rem}.ch-complete-path{overflow-wrap:anywhere;margin-block:.8rem}.ch-archive{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin-block:2rem;padding:0;list-style:none;display:grid}.ch-archive article{background:var(--brand-surface);border:1px solid var(--brand-border);border-top:4px solid var(--brand-green);border-radius:1.2rem;padding:1.5rem}.ch-archive h2{margin-block:.6rem;font-size:1.4rem}.ch-archive .button{margin-top:1rem}@media (min-width:900px){.ch-workspace{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}.ch-tools{position:sticky;top:1rem}.ch-path{padding:1.5rem}}@media (prefers-reduced-motion:reduce){.ch-page *,.ch-page :before,.ch-page :after{scroll-behavior:auto;transition:none;animation:none}}.ch-page .button:not(:disabled):hover{background:var(--brand-green-dark);color:var(--brand-surface)}
