.counting-setup .pexeso-intro{overflow:auto;justify-content:flex-start;padding:12px 8px;gap:12px;pointer-events:auto}
.counting-setup .counting-heading{margin-top:auto}
.counting-setup .counting-note{margin-bottom:auto;flex-shrink:0}
.counting-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;flex-shrink:0;text-align:center}
.counting-setup{container-type:size;--flags-choice-height:59px}
.counting-setup .counting-heading img{width:min(380px,38cqh,65cqw);height:clamp(100px,18cqh,220px);object-fit:contain}.counting-heading h2{margin:8px 0 0;font-size:44px}.counting-setup .counting-heading p{margin:6px 0 0;font-size:24px}
.counting-config{width:min(100%,700px);display:grid;grid-template-columns:minmax(0,1fr);gap:16px;flex-shrink:0;color:#193657;text-align:center}
.counting-config fieldset{margin:0;min-width:0;border:0;padding:0}.counting-config legend{font-size:18px;font-weight:800;margin:0 auto 6px}
.counting-choices{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.counting-choices button{min-height:44px;padding:8px 14px;border:2px solid transparent;border-radius:12px;background:#edf0f3;color:#193657;font:inherit;font-size:17px;font-weight:750}
.counting-choices button[aria-pressed=true]{background:#ffcf72;border-color:#193657}
.counting-choices:not(.flags-times) button{width:clamp(105px,12vw,160px);height:var(--flags-choice-height);min-height:var(--flags-choice-height);padding:6px 8px;font-size:20px;font-weight:800;line-height:1.15;display:flex;align-items:center;justify-content:center}
.counting-config label{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:650}.counting-config input[type=number]{width:95px;min-height:44px;padding:6px 8px;border:2px solid #c7cdd4;border-radius:10px;font:inherit;color:#193657;background:white}
.counting-config input[type=checkbox]{width:24px;height:24px;accent-color:#193657}.counting-config input:disabled{opacity:.45}
.counting-custom{display:flex;flex-direction:column;gap:10px;margin:12px auto 0;width:min(100%,440px)}.counting-custom[hidden]{display:none}.counting-custom label{display:flex;flex-direction:column;align-items:stretch;gap:0}.counting-custom label span{display:flex;justify-content:space-between;align-items:center}.counting-custom output{font-size:20px;font-weight:800}.counting-custom input[type=range]{width:100%;height:44px;margin:0;accent-color:#193657;cursor:pointer;touch-action:pan-y}.counting-config small{display:block;font-size:13px;line-height:1.35;margin-top:8px}
.counting-custom input[type=range]{appearance:none;-webkit-appearance:none;background:transparent}
.counting-custom input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:#d6dce1}
.counting-custom input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border:3px solid #fffaf7;border-radius:50%;background:#193657;box-shadow:0 0 0 1px #193657}
.counting-custom input[type=range]::-moz-range-track{height:8px;border-radius:8px;background:#d6dce1}.counting-custom input[type=range]::-moz-range-thumb{width:22px;height:22px;border:3px solid #fffaf7;border-radius:50%;background:#193657;box-shadow:0 0 0 1px #193657}
.counting-custom button,.counting-number{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;min-width:90px;padding:6px 14px;border:2px solid #c7cdd4;border-radius:12px;background:white;color:#193657;font:inherit;font-size:18px}.counting-custom button strong,.counting-number strong{font-size:22px}.counting-number:disabled{opacity:.45;cursor:default}
.counting-number-overlay{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:16px;background:#19365766}
.counting-number-dialog{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fffaf7;border-radius:24px;padding:24px;box-shadow:0 8px 40px #19365730;text-align:center}
.counting-number-dialog h2{font-size:28px;margin:0 0 16px}.counting-number-dialog output{display:block;padding:8px;border:3px solid #d6dce1;border-radius:14px;background:white;font-size:40px;font-weight:800;margin-bottom:12px}.counting-number-dialog .counting-keypad button{min-height:54px;font-size:28px}.counting-number-dialog [data-edit-key=clear]{font-size:16px}.counting-number-error{display:block;min-height:24px;font-size:14px;color:#b7403e;margin:8px 0}.counting-number-actions{display:flex;gap:12px}.counting-number-actions button{flex:1;min-height:52px;border:0;border-radius:14px;background:#edf0f3;color:#193657;font:inherit;font-size:22px;font-weight:800}.counting-number-actions [data-save]{background:#ffcf72}.counting-number-actions [data-save]:disabled{opacity:.45}
.counting-multiply-setting{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:17px;font-weight:650}.counting-setup .counting-note{margin-top:12px;text-align:center;font-size:15px;max-width:900px}.counting-note.has-error{color:#b7403e}
.counting-rules .counting-cross{justify-content:center}
.counting-cross:has(input:disabled){opacity:.45}
.counting-setup .flags-times{gap:12px;margin:0}
.counting-setup .flags-times button{height:var(--flags-choice-height);min-height:var(--flags-choice-height);padding:12px 24px;border:0;border-radius:14px;font-size:clamp(18px,2vw,26px);font-weight:800}
.counting-setup .flags-times button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #193657}
@media(max-width:800px){.counting-setup{--flags-choice-height:44px}.counting-setup .flags-times button{padding:10px 18px}}
.counting-problem{display:flex;align-items:center;justify-content:center;flex:0 1 clamp(60px,15vh,210px);font-size:clamp(32px,5vw,90px);font-weight:850;color:#193657;min-height:42.5px;white-space:nowrap}
.counting-problem{background:#fffaf7;border:clamp(8px,1vw,20px) solid #fff;border-radius:clamp(24px,2vw,44px);box-shadow:0 5px 16px #1936570d}
.counting-response{flex-shrink:0;width:50%;align-self:center}.counting-response .flags-answers button{font-size:clamp(22px,2.5vw,40px);min-height:clamp(35px,5.7vh,110px)}
.counting-response:has(.flags-answers){width:max-content;max-width:100%}
.counting-response .flags-answers{grid-template-columns:repeat(4,125px);grid-template-rows:auto}
.counting-player{position:relative;width:min(100%,33.333333vw);justify-self:center}
.counting-player{--counting-row-gap:clamp(5px,1vh,18px)}
.counting-player .counting-response,.counting-player .flags-feedback{margin-top:calc(clamp(16px,2vh,30px) - var(--counting-row-gap))}
.counting-player .flags-feedback{flex-shrink:0;min-height:1.2em}
@media(max-height:650px){.counting-player{--counting-row-gap:4px}}
.counting-input{display:block;min-height:48px;background:white;border:3px solid #d6dce1;border-radius:12px;margin-bottom:8px;font-size:clamp(24px,2.5vw,40px);font-weight:800;color:#193657}
.counting-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.counting-keypad button{min-height:clamp(40px,5.5vh,90px);padding:5px;border:0;border-radius:12px;background:#edf0f3;color:#193657;font:inherit;font-size:clamp(22px,2.5vw,38px);font-weight:800}
.counting-keypad [data-key=clear]{font-size:clamp(13px,1.3vw,22px)}.counting-keypad [data-key=enter]{font-size:clamp(16px,1.8vw,28px);background:#ffcf72}.counting-keypad button:disabled{cursor:default}.counting-keypad [data-key=enter]:disabled{opacity:.5}
.counting-player.is-correct .counting-input{background:#dcefdc;border-color:#338245}.counting-player.is-wrong .counting-input{background:#f9dfdb;border-color:#cf5551}
.counting-player.is-correct .counting-problem{background:#dcefdc}.counting-player.is-wrong .counting-problem{background:#f9dfdb}
.counting-input{display:flex;align-items:center;justify-content:center;padding-top:2px;line-height:1.2}
@media(max-width:800px){.counting-config{gap:10px}.counting-choices button{padding:6px 9px;font-size:14px}.counting-config legend{font-size:16px}.counting-config label{font-size:14px}.counting-problem{font-size:clamp(23px,5vw,40px)}}
@media(max-width:550px){.counting-config{grid-template-columns:1fr}.counting-heading{gap:8px}.counting-keypad{gap:4px}}
@media(max-height:650px){.counting-setup .pexeso-intro{gap:8px}.counting-config{gap:8px 20px}.counting-panel .flags-columns{min-height:300px}.counting-problem{min-height:50px;padding:6px}.counting-keypad button{min-height:32px}.counting-input{min-height:32px;font-size:24px;line-height:1.2}.counting-player{gap:4px}}
