.rb-page{min-width:0;padding-block:24px 64px}.rb-page>a{color:var(--brand-green);font-weight:700}.rb-heading{margin-block:16px}.rb-heading h1{letter-spacing:-.035em;font-size:clamp(1.8rem,4vw,2.6rem)}.rb-game{gap:28px;max-width:1000px;display:grid}.rb-game>*{min-width:0}.rb-image-viewport{background:var(--brand-surface);border:1px solid var(--line);border-radius:12px;max-width:100%;padding:12px;overflow:auto}.rb-image{width:100%;height:auto;margin:auto;display:block}.rb-image.is-zoomed{width:200%;max-width:none}.rb-caption{color:var(--muted);margin-top:10px;font-size:.82rem;line-height:1.5}.rb-secondary{border:1px solid var(--brand-border);background:var(--brand-surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:9px;margin-top:12px;padding:10px 14px;font-weight:650}.rb-pattern{color:var(--interactive-primary);letter-spacing:.04em;overflow-wrap:anywhere;margin-block:6px 12px;font-size:clamp(1.8rem,6vw,2.3rem);font-weight:800}.rb-answer>p{line-height:1.5}.rb-answer form{gap:10px;margin-top:18px;display:grid}.rb-answer label{font-weight:700}.rb-answer button:disabled{opacity:.55;cursor:default}.rb-word-fields{border:0;min-width:0;margin:0;padding:0}.rb-word-fields legend{margin-bottom:12px;font-weight:700}.rb-word-groups{flex-wrap:wrap;align-items:start;gap:16px;display:flex}.rb-word-group{--letter-cell:32px;width:max(7rem, calc(var(--word-length) * var(--letter-cell)));min-width:0;max-width:100%}.rb-word-group label{margin-bottom:6px;font-size:.8rem;line-height:1.5;display:block}.rb-word-group label span{color:var(--muted);font-weight:400;display:block}.rb-help-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.rb-help-actions .rb-secondary{margin-top:0}.rb-word-scroll{padding-block:4px;overflow-x:auto}.rb-word-input{box-sizing:border-box;width:calc(var(--word-length) * var(--letter-cell));border:1px solid var(--brand-control-border);min-height:48px;color:var(--ink);text-transform:uppercase;letter-spacing:calc(var(--letter-cell) - 1ch);padding:8px 0 8px calc((var(--letter-cell) - 1ch) / 2 - 1px);background-color:#fff;background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(var(--letter-cell) - 1px), var(--brand-control-border) calc(var(--letter-cell) - 1px), var(--brand-control-border) var(--letter-cell));background-position-x:-1px;border-radius:4px;margin:0;font:20px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.rb-word-input:focus-visible{outline-offset:-3px!important}.rb-word-input:disabled{opacity:1;color:var(--ink);background-color:var(--brand-green-light);-webkit-text-fill-color:var(--ink)}.rb-feedback{background:var(--brand-green-light);border-radius:12px;margin-top:16px;padding:12px}.rb-feedback.is-error{color:var(--brand-danger);background:var(--brand-danger-light)}.rb-revealed{background:var(--brand-ochre-light);border-radius:14px;margin-top:16px;padding:18px;line-height:1.6}.rb-revealed h2{font-size:1.1rem}.rb-revealed p{font-weight:700}.rb-page button:focus-visible,.rb-page input:focus-visible,.rb-image-viewport:focus-visible{outline:3px solid var(--brand-green);outline-offset:3px}.rb-archive{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;padding:0;list-style:none;display:grid}.rb-archive article{border:1px solid var(--line);border-top:5px solid var(--brand-green);background:var(--brand-surface);border-radius:20px;flex-direction:column;align-items:flex-start;gap:18px;height:100%;padding:24px;display:flex}.rb-archive img{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:200px}.rb-archive h2{font-size:1.5rem}.rb-archive p{line-height:1.5}.rb-archive .button{margin-top:auto}@media (min-width:760px){.rb-game{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}@media (max-width:480px){.rb-page{padding-top:16px}.rb-heading{margin-block:12px}.rb-game{gap:18px}}@media (prefers-reduced-motion:reduce){.rb-page *,.rb-page :before,.rb-page :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.rb-page .button:not(:disabled):hover{background:var(--brand-green-dark);color:var(--brand-surface)}
