.rqk{--rqk-blue:#174fa1;max-width:760px;margin:32px auto;padding:clamp(20px,5vw,42px);border:1px solid #d4e0eb;border-radius:24px;background:#f5f9ff;color:#19304b;font:18px/1.55 system-ui,-apple-system,sans-serif;box-shadow:0 12px 32px #19304b0b}.rqk *{box-sizing:border-box}.rqk h2{font:800 clamp(26px,4vw,38px)/1.2 system-ui;color:#19304b;margin:16px 0}.rqk p{margin:16px 0}.rqk .rqk-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#174fa1}.rqk button{font:700 16px/1.4 system-ui;border:2px solid #174fa1;border-radius:12px;background:#fff;color:#174fa1;cursor:pointer;padding:12px 18px;margin:4px 8px 4px 0}.rqk button.rqk-primary{background:#174fa1;color:#fff}.rqk button:disabled{opacity:.45;cursor:default}.rqk button:focus-visible,.rqk input:focus-visible,.rqk summary:focus-visible{outline:3px solid #b85b00;outline-offset:4px}.rqk .rqk-small{font-size:14px;color:#4c6179}.rqk .rqk-top,.rqk .rqk-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.rqk .rqk-clock{font:800 30px/1.2 system-ui;font-variant-numeric:tabular-nums;background:#e0ebff;border-radius:12px;padding:10px 16px}.rqk .rqk-urgent{color:#9e281f;background:#ffe8e3}.rqk progress{width:100%;height:12px;margin-top:20px;accent-color:#174fa1}.rqk .rqk-card{background:#fff;border:1px solid #d4e0eb;border-radius:18px;padding:24px;margin:24px 0;text-align:center}.rqk .rqk-equation{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;font-size:clamp(28px,6vw,42px);font-weight:750}.rqk input{width:180px;max-width:100%;font:inherit;color:#19304b;text-align:center;border:2px solid #7c93ad;border-radius:12px;background:#fff;padding:10px}.rqk .rqk-status{font-size:14px;min-height:22px}.rqk .rqk-submit{border-color:#607084;color:#33475d;font-size:14px}.rqk .rqk-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.rqk .rqk-tiles div{padding:16px 8px;border-radius:14px;background:#e4edfc;text-align:center}.rqk .rqk-tiles strong,.rqk .rqk-tiles span{display:block}.rqk .rqk-tiles strong{font-size:32px}.rqk .rqk-tiles span{font-size:14px}.rqk summary{cursor:pointer;font-weight:700;padding:12px 0}.rqk .rqk-solutions{padding-left:28px}.rqk .rqk-solutions li{padding:8px;font-size:16px;border-bottom:1px solid #d4e0eb}.rqk .rqk-correct{color:#17633b}.rqk .rqk-wrong{color:#922c24}@media(max-width:420px){.rqk{padding:18px}.rqk button{padding:10px 12px}.rqk .rqk-card{padding:18px 8px}.rqk .rqk-tiles{gap:6px}}
/* Version 2: full page, task overview, groups and name form. */
body.rqk-fullpage{margin:0!important;padding:0!important;background:#edf3fc;color:#19304b;min-height:100vh}
body.rqk-fullpage #rqk-main{display:block;width:100%;max-width:none;margin:0;padding:clamp(12px,3vw,36px)}
body.rqk-fullpage .rqk{max-width:1180px;width:100%;margin:0 auto}
.rqk h1{font:800 clamp(28px,4vw,42px)/1.2 system-ui;color:#19304b;margin:16px 0}
.rqk .rqk-group{margin:28px 0}.rqk .rqk-group-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rqk .rqk-group-title h3{font:800 23px/1.3 system-ui;margin:0;color:#19304b}
.rqk .rqk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.rqk button.rqk-task{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;text-align:left;border:2px solid #c4d3e7;border-radius:16px;background:#fff;color:#19304b;min-width:0}
.rqk .rqk-task strong{font-size:24px;line-height:1.3;overflow-wrap:anywhere}.rqk .rqk-task-number{font-size:12px;color:#51647a;font-weight:600}
.rqk .rqk-task-answer{font-size:13px;font-weight:600;color:#4c6179}.rqk button.rqk-task:hover{border-color:#174fa1;box-shadow:0 3px 12px #174fa114}
.rqk button.rqk-answered{border-color:#5680b8;background:#e6efff}.rqk .rqk-answered .rqk-task-answer{color:#174fa1}
.rqk .rqk-progress-label{font-size:14px;color:#4c6179;margin-top:4px}.rqk .rqk-top{position:sticky;top:0;background:#f5f9fff5;z-index:2;padding:8px 0}
.rqk .rqk-top>div{min-width:0;overflow-wrap:anywhere}.rqk .rqk-clock{flex-shrink:0}
.rqk .rqk-start-form{max-width:560px;margin:26px 0 0}.rqk .rqk-name-label{display:block;font-weight:750}
.rqk .rqk-name-label input{display:block;text-align:left;font-size:22px;font-weight:500;width:100%;margin-top:10px}
.rqk .rqk-card{padding:clamp(24px,5vw,64px) 16px}.rqk .rqk-equation{font-size:clamp(36px,7vw,72px)}
.rqk .rqk-equation input{width:240px;font-size:clamp(32px,6vw,64px)}.rqk .rqk-back{font-size:15px;margin-top:20px}
@media(max-width:480px){.rqk .rqk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rqk button.rqk-task{padding:12px 9px}.rqk .rqk-task strong{font-size:20px}.rqk .rqk-task-answer{font-size:12px}.rqk .rqk-group-title h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.rqk *{scroll-behavior:auto}}

/* Version 2.0.1: arithmetic expression with a rectangular answer box. */
.rqk .rqk-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.rqk .rqk-tile-equation{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%;font-size:23px;line-height:1.4}
.rqk .rqk-tile-expression{font-weight:500;white-space:nowrap}
.rqk .rqk-task strong.rqk-answer-box{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:44px;max-width:100%;padding:3px 7px;border:2px solid #7189a6;border-radius:0;background:#fff;color:#19304b;font-size:23px;font-weight:850;line-height:1.4;overflow-wrap:anywhere}
.rqk .rqk-equation input{border-radius:0;font-weight:850}
@media(max-width:600px){.rqk .rqk-grid{grid-template-columns:1fr}.rqk .rqk-tile-equation{font-size:22px}.rqk .rqk-task strong.rqk-answer-box{font-size:22px}}
/* Division with remainder: two separate rectangular answer fields. */
.rqk .rqk-number-field{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:100%}
.rqk .rqk-input-caption{font-size:15px;line-height:1.3;font-weight:600;color:#4c6179}
.rqk .rqk-rest-caption{font-size:.62em;font-weight:600}
.rqk .rqk-equation .rqk-number-field input{width:180px;max-width:100%}
.rqk .rqk-tile-equation .rqk-rest-caption{font-size:16px}
@media(max-width:480px){.rqk .rqk-equation .rqk-number-field input{width:140px}}
/* Version 4: name selection and encouraging, reduced-motion-aware rewards. */
.rqk .rqk-name-label{margin-top:18px}.rqk .rqk-suggestions{display:grid;gap:8px;margin:14px 0}.rqk .rqk-name-choice{text-align:left;margin:0;background:#fff}.rqk .rqk-new-profile{border:0;text-decoration:underline;font-size:14px;background:transparent;padding:6px 0}
.rqk .rqk-reward{position:relative;isolation:isolate;overflow:hidden;text-align:center;border:1px solid #c9d9f4;background:linear-gradient(145deg,#e5efff,#f8f5dc);border-radius:24px;padding:28px;margin:24px 0;animation:rqk-reward-in .55s ease-out}
.rqk .rqk-reward-medal{font-size:68px;line-height:1.2;animation:rqk-medal .85s cubic-bezier(.2,1.5,.5,1)}.rqk .rqk-reward h2{font-size:clamp(25px,4vw,36px)}.rqk .rqk-progress-message{color:#174fa1;font-size:23px;line-height:1.4}
.rqk .rqk-reward-chart{display:flex;align-items:flex-end;gap:12px;max-width:650px;margin:24px auto 8px}.rqk .rqk-reward-bar{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.rqk .rqk-reward-track{height:140px;display:flex;align-items:flex-end;background:#ffffffb3;border-radius:9px 9px 0 0}.rqk .rqk-reward-fill{width:100%;height:var(--rqk-percent);min-height:3px;background:linear-gradient(0deg,#174fa1,#5d9ff0);border-radius:9px 9px 0 0;transform-origin:bottom;animation:rqk-bar-in .75s ease-out both;animation-delay:var(--rqk-delay)}.rqk .rqk-reward-bar:last-child .rqk-reward-fill{background:linear-gradient(0deg,#216647,#54b388)}
.rqk .rqk-confetti{position:absolute;inset:0;pointer-events:none;z-index:-1}.rqk .rqk-confetti span{position:absolute;left:calc(var(--i) * 6.4%);top:-16px;width:8px;height:13px;background:#e7b644;animation:rqk-confetti 2.3s ease-out both;animation-delay:calc(var(--i) * 45ms);opacity:0}.rqk .rqk-confetti span:nth-child(3n){background:#5d9ff0}.rqk .rqk-confetti span:nth-child(3n+1){background:#54b388;border-radius:50%}
@keyframes rqk-reward-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rqk-medal{from{transform:scale(.3) rotate(-15deg)}to{transform:scale(1) rotate(0)}}@keyframes rqk-bar-in{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes rqk-confetti{0%{opacity:0;transform:translateY(0) rotate(0)}15%{opacity:.7}100%{opacity:0;transform:translateY(430px) rotate(330deg)}}
@media(prefers-reduced-motion:reduce){.rqk .rqk-reward,.rqk .rqk-reward-medal,.rqk .rqk-reward-fill,.rqk .rqk-confetti span{animation:none}.rqk .rqk-confetti{display:none}}
@media(max-width:480px){.rqk .rqk-reward{padding:20px 12px}.rqk .rqk-reward-chart{gap:6px}.rqk .rqk-reward-bar{font-size:12px}}

/* Keep full-page padding inside the viewport without relying on theme resets. */
.rqk,body.rqk-fullpage #rqk-main{box-sizing:border-box}
