.r2x-run{max-width:1100px;margin:auto}.r2x-run progress{width:100%;height:8px;accent-color:#6d58a2}.r2x-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.r2x-panels>section{border:1px solid #d6e4f2;border-radius:18px;padding:1rem;text-align:center;background:#f8fbff}.r2x-symbol{width:100px;height:100px;color:#225d85;display:block;margin:1rem auto}.r2x-inactive,.r2x-neutral{min-height:150px;display:grid;place-items:center;background:#f0f3f7;border-radius:12px;color:#4d6074}.r2x-selected{outline:3px solid #7254a8!important;outline-offset:2px;background:#e9e1f8!important;color:#18394f!important}.r2x-objects,.r2x-figures,.r2x-pieces{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.r2x-objects figure{margin:0;text-align:center}.r2x-objects .r2x-symbol{width:70px;height:70px}.r2x-figures{min-height:150px;align-items:center}.r2x-figures button{padding:7px;background:white}.r2x-abstract{width:110px;height:110px}.r2x-number{font-size:3rem;display:block;color:#164e77}.r2x-dots{display:block;max-width:5.5rem;word-break:break-all;margin:auto;font-size:.85rem;letter-spacing:3px;line-height:1.5}.r2x-counts{display:flex;flex-wrap:wrap;gap:12px;margin:1rem 0}.r2x-counts button{min-width:62px;min-height:72px}.r2x-change{text-align:center;padding:1.5rem;background:#f1edfa;border-radius:16px}.r2x-grid{display:grid;gap:6px;max-width:390px;margin:1rem auto;aspect-ratio:1}.r2x-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.r2x-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.r2x-grid>button,.r2x-cell{min-width:0;min-height:60px;aspect-ratio:1;padding:4px;display:grid;place-items:center;background:#fff;border:1px solid #a8c1d8;border-radius:8px}.r2x-piece{width:100%;max-width:90px;height:100%;max-height:90px}.r2x-pieces button{width:80px;height:80px;padding:6px}.r2x-plan{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.r2x-plan .r2x-grid{width:100%}.r2x-controls{margin-top:1.5rem}.r2x-cover{min-height:145px;display:grid;place-items:center;background:linear-gradient(135deg,#e4effa,#e9e1f4);font-size:4rem;color:#3e6b99}.r2x-details{overflow:auto;white-space:pre-wrap;font-size:.85rem}.r2x-run button:focus-visible{outline:3px solid #1a6496;outline-offset:3px}.r2x-run fieldset{border:1px solid #cbdceb;border-radius:12px;margin:1rem 0}@media(max-width:650px){.r2x-panels{gap:.6rem}.r2x-panels>section{padding:.6rem}.r2x-panels h2{font-size:1.1rem}.r2x-abstract{width:75px;height:75px}.r2x-figures{gap:.7rem}.r2x-plan{grid-template-columns:1fr}.r2x-grid>button,.r2x-cell{min-height:44px}.r2x-objects .r2x-symbol{width:55px;height:55px}.r2x-panels .r2x-grid{gap:3px}.r2x-panels button{padding:3px;font-size:.85rem}.r2x-panels .r2x-piece{min-width:35px}.r2x-symbol{width:75px;height:75px}}@media(prefers-reduced-motion:reduce){.r2x-run *{transition:none!important;animation:none!important}}

/* 4.20: calendar, ordered plans and fictional shopping. */
.r2l-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:20px 0}.r2l-calendar:has(>button:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.r2l-calendar button{min-height:92px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow-wrap:anywhere}.r2l-calendar strong{border:2px solid currentColor;border-radius:6px;padding:3px 5px}.r2l-planning{display:grid;grid-template-columns:1fr 1fr;gap:24px}.r2l-planning li{padding:8px 0}.r2l-planning .actions button{font-size:.78rem;padding:8px;min-height:44px}.r2l-steps{display:grid;gap:8px}.r2l-shop,.r2l-amounts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.r2l-shop button{display:grid;gap:8px;min-height:96px;min-width:130px}.r2x-run fieldset{margin:16px 0;padding:14px;border:1px solid #a9bed5;border-radius:14px}.r2x-run legend{font-weight:700}.r2l-calendar button{min-width:0}@media(max-width:700px){.r2l-planning{grid-template-columns:1fr}.r2l-calendar{gap:3px}.r2l-calendar button{font-size:.76rem}.r2l-shop button{min-width:120px;flex:1}}
.r2n-equation{font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:.15em;text-align:center}.r2n-answer{display:block;max-width:360px;min-height:62px;margin:12px auto;padding:14px;text-align:center;border:2px solid #7b67af;border-radius:12px;font-size:1.6rem;background:#faf8ff}.r2n-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:360px;margin:20px auto}.r2n-keypad button{min-height:56px;font-size:1.1rem}.r2n-reading{overflow-wrap:anywhere}.r2n-source{background:#eff6fc;border-left:4px solid #647ab6;padding:14px 20px;margin:12px 0;border-radius:8px}.r2n-source p{font-size:1.15rem;line-height:1.75;max-width:75ch}.r2n-options{display:grid;gap:12px;margin:18px 0}.r2n-options button{text-align:left;min-height:50px;white-space:normal}.r2n-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:650px;margin:16px auto}.r2n-copy section{min-width:0;text-align:center}.r2n-board{position:relative;width:100%;aspect-ratio:1;background:#f9fcff;border:1px solid #9db3c9;border-radius:10px}.r2n-board>svg{display:block;width:100%;height:100%}.r2n-node{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px}.r2n-node button{width:32px;height:32px;min-height:32px;min-width:32px;padding:0;border:1px solid transparent;background:transparent;color:#38556e;border-radius:50%}.r2n-node button:focus-visible{outline:3px solid #145c91;outline-offset:0}.r2n-node button.r2x-selected{background:#e6ddf8!important}@media(max-width:650px){.r2n-copy{gap:8px}.r2n-copy h3{font-size:1rem}.r2n-source{padding:10px}.r2n-keypad{gap:8px}}

/* Fixed grid positions remain compatible with the site CSP (no inline styles). */
.r2n-size-3 .r2n-col-0{left:16%}.r2n-size-3 .r2n-row-0{top:16%}.r2n-size-3 .r2n-col-1{left:50%}.r2n-size-3 .r2n-row-1{top:50%}.r2n-size-3 .r2n-col-2{left:84%}.r2n-size-3 .r2n-row-2{top:84%}.r2n-size-4 .r2n-col-0{left:16%}.r2n-size-4 .r2n-row-0{top:16%}.r2n-size-4 .r2n-col-1{left:38.666666666667%}.r2n-size-4 .r2n-row-1{top:38.666666666667%}.r2n-size-4 .r2n-col-2{left:61.333333333333%}.r2n-size-4 .r2n-row-2{top:61.333333333333%}.r2n-size-4 .r2n-col-3{left:84%}.r2n-size-4 .r2n-row-3{top:84%}
