:root{font-family:Inter,ui-rounded,"Trebuchet MS",Arial,sans-serif;color:#16213d;background:#eaf2ff;font-synthesis:none}
.max10-header{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;padding:0 20px;background:#fff;border-bottom:1px solid #d6e2f1}.max10-home{display:flex;align-items:center;gap:5px;color:#14263a;text-decoration:none;font-weight:900;letter-spacing:.04em}.max10-home b{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#185ac5;color:#fff;font-size:20px}
.problem-visual{display:block;width:min(100%,500px);height:auto;aspect-ratio:1/1;object-fit:contain;border:2px solid #d6e2f1;border-radius:14px;margin:0 auto 14px;background:#fff}
.problem-table{border-collapse:collapse;width:min(100%,340px);margin:0 auto 18px;font-size:1.2rem;background:#fff}
.problem-table th,.problem-table td{border:2px solid #aebfd4;padding:10px 18px;text-align:center}
.problem-table th{background:#e7f0fb;color:#173f88}
.difficulty-note{margin:14px 0 4px;color:#55708f;font-size:.9rem;font-weight:800}
.skill-progress-wrap{margin:4px 0 14px}
.skill-progress{padding:14px;border-radius:14px;background:#f1ecff;color:#54259a}
.mastery-explanation{margin:0 0 8px;color:#26334d;font-size:.9rem;font-weight:750}
.mastery-track{height:16px;margin-top:9px;border-radius:999px;background:#ddd2f5;overflow:hidden}
.mastery-track div{height:100%;width:0;background:linear-gradient(90deg,#7e22ce,#a855f7);border-radius:inherit;transition:width .3s ease}
.level-warning{margin-top:10px;padding:9px 11px;border:2px solid #e08a22;border-radius:10px;background:#fff4dc;color:#7b3d00;font-size:.88rem;font-weight:900}
.answer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(100%,420px);margin:12px auto 0}
.answer-actions button{margin:0}
.secondary{border:2px solid #7e22ce;border-radius:13px;background:#f4edff;color:#6320a4;font-weight:900;padding:12px 18px;cursor:pointer}
.secondary:disabled{opacity:.55;cursor:default}
.support-panel{width:min(100%,540px);margin:15px auto 0;padding:13px 15px;border:2px solid #c4a7ed;border-radius:13px;background:#f8f4ff;color:#43206d;text-align:left}
.support-panel strong,.support-panel span{display:block}
.support-panel span{margin-top:4px;line-height:1.45}
.integer-model{width:min(100%,510px);margin:12px auto 0;border:2px solid #17394d;border-radius:13px;overflow:hidden;background:#fff;color:#182b38}
.integer-panel{padding:13px 15px;text-align:center}
.integer-panel+.integer-panel{border-top:3px solid #17394d}
.integer-panel-title{display:block;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:#456276}
.integer-model-expression,.integer-conversion{margin-top:3px;font-size:clamp(1.35rem,5vw,2rem);font-weight:950}
.integer-conversion{color:#64269b}
.combine-panel p{margin:5px auto 10px;max-width:430px;line-height:1.35}
.fill-instruction{display:block;font-size:.9rem;color:#7a401c}
.integer-side-view{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;height:54px;margin:8px auto 0;padding:0 8px;overflow:hidden;background:linear-gradient(#337da5,#337da5) center 25px/100% 3px no-repeat}
.integer-piece{display:inline-block;position:relative;width:34px;height:48px;margin:0!important}
.integer-piece.pile::before,.pair-pile{content:"";position:absolute;width:28px;height:18px;border:2px solid #853c13;border-bottom:0;border-radius:50% 50% 7% 7%;background:linear-gradient(#ee8e35,#c65312);box-shadow:inset 0 3px 0 #ffc27f}
.integer-piece.pile::before{left:3px;bottom:24px}
.integer-piece.hole::before,.pair-hole{content:"";position:absolute;width:28px;height:18px;border:2px solid #31495a;border-top:0;border-radius:7% 7% 50% 50%;background:linear-gradient(#dce4e8,#b9c5cc)}
.integer-piece.hole::before{left:3px;top:24px}
.integer-model .integer-piece,.integer-model .integer-zero-pair,.integer-model .integer-operand-separator{display:inline-block}
.top-model-explanation{margin:7px auto 2px;max-width:440px;padding:8px 10px;border-radius:9px;background:#fff4dc;color:#6f3b10;font-size:.88rem;line-height:1.35}
.integer-model .integer-operand-group{display:flex;align-items:center;justify-content:center;gap:3px;min-width:34px;height:48px;margin-top:0}
.integer-operand-separator{align-self:stretch;width:0;margin:0 8px;border-left:3px solid #17394d}
.ordered-view,.combine-order-view{padding-bottom:0}
.combine-order-view{width:min(100%,390px);background:#f8fbfd}
.integer-pair-stage{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:76px;margin-top:8px;padding:0 10px 9px;border-bottom:3px solid #337da5}
.paired-stage{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.unaffected-stage{display:grid;align-content:center;justify-items:center;min-width:105px;padding:5px 9px;border-left:2px dashed #9eb1bc;color:#536a77;font-size:.75rem;font-weight:900}
.unaffected-stage>div{display:flex;justify-content:center;align-items:center;gap:3px;width:100%;height:54px;overflow:hidden;background:linear-gradient(#337da5,#337da5) center 25px/100% 2px no-repeat}
.unaffected-stage .integer-piece.hole{margin-bottom:0!important}
.integer-zero-pair{display:inline-block;position:relative;width:38px;height:70px}
.pair-pile{left:5px;top:4px;animation:fill-dip 2.6s ease-in-out var(--pair-delay) infinite}
.pair-arrow{position:absolute;left:14px;top:25px;color:#64269b;font-size:1.25rem;font-weight:950;animation:arrow-pulse 2.6s ease-in-out var(--pair-delay) infinite}
.pair-hole{left:5px;top:50px}
.no-zero-pairs{align-self:center;padding:14px;color:#587080;font-weight:850}
.result-view{width:min(100%,310px);padding-bottom:18px}
.integer-model-answer{margin-top:8px;font-size:2rem;font-weight:1000;color:#53208b}
.integer-try-prompt{margin:9px auto 3px;max-width:390px;padding:11px;border-radius:10px;background:#f1ecff;color:#43206d;font-weight:850;line-height:1.4}
.integer-zero{align-self:center;font-size:1.7rem}
@keyframes fill-dip{0%,18%{transform:translateY(0);opacity:1}
60%,82%{transform:translateY(46px);opacity:.18}
100%{transform:translateY(0);opacity:1}
}
@keyframes arrow-pulse{0%,18%,100%{opacity:0;transform:translateY(-4px)}
35%,65%{opacity:1;transform:translateY(5px)}
82%{opacity:0}
}
@media(prefers-reduced-motion:reduce){.pair-pile,.pair-arrow{animation:none}
.pair-pile{transform:translateY(46px);opacity:.18}
.pair-arrow{display:none}
}
@media(max-width:560px){.integer-panel{padding:11px 8px}
.integer-piece{width:30px}
.integer-piece.pile::before,.integer-piece.hole::before{width:25px}
.integer-pair-stage{gap:3px}
}
.worked-solution{width:min(100%,600px);margin:12px auto 0;padding:15px 17px;border:2px solid #d9b4bd;border-radius:14px;background:#fff8fa;color:#35212a;text-align:left;font-size:1rem;font-weight:500;line-height:1.45}
.integer-worked-solution{width:min(100%,650px)}
.integer-worked-solution>.integer-model{margin-top:9px}
.worked-solution>strong{display:block;color:#8d1d38;font-size:1.05rem}
.worked-solution p{margin:4px 0 13px}
.solution-headings,.solution-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(190px,1.35fr)}
.solution-headings{margin-top:7px;border-radius:9px 9px 0 0;overflow:hidden;background:#8d1d38;color:#fff;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.solution-headings span{padding:8px 10px}
.solution-headings span+span{border-left:1px solid #ffffff55}
.solution-row{border:1px solid #e2c8cf;border-top:0;background:#fff}
.solution-row:last-of-type{border-radius:0 0 9px 9px;overflow:hidden}
.solution-row>div{padding:10px}
.solution-row>div+div{border-left:1px solid #e2c8cf}
.solution-math{display:flex;align-items:center;color:#19223b;background:#fffafd;font-family:"Trebuchet MS",Arial,sans-serif;font-size:1.08rem;font-weight:900}
.equation-line{display:grid;grid-template-columns:minmax(58px,1fr) 18px minmax(58px,1fr);align-items:end;width:100%;text-align:center}
.equation-line span:first-child{text-align:right}
.equation-line span:last-child{text-align:left}
.equation-operation{padding-bottom:4px;border-bottom:2px solid #27334d;color:#8d1d38}
.solution-why{color:#4f3a42}
.worked-solution .solution-answer{margin:12px 0 0;padding-top:10px;border-top:1px solid #e8ccd3}
.choice-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px auto;width:min(100%,560px)}
.choice-button{display:flex;align-items:center;gap:11px;min-height:66px;border:2px solid #bed0e8;border-radius:13px;background:#f4f8fe;color:#1b3151;text-align:left;padding:10px 13px;font-weight:800;cursor:pointer}
.choice-button:hover{border-color:#4b87db;background:#eaf3ff}
.choice-button:disabled{opacity:.58;cursor:default}
.choice-letter{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#185ac5;color:#fff;font-size:1.05rem}
.results-card{position:relative;z-index:2}
.victory-trophy{font-size:clamp(3.2rem,12vw,5.3rem);line-height:1;margin:-10px 0 12px;filter:drop-shadow(0 8px 8px #8e691f4d);animation:trophy-pop .75s cubic-bezier(.2,.9,.3,1.35) both}
.win-glow{animation:win-glow 1.2s ease-in-out 2}
.celebration-layer{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.celebration-particle{position:absolute;left:0;top:0;width:10px;height:16px;border-radius:2px;background:var(--color);color:var(--color);font-weight:1000;font-size:1.45rem;line-height:1;transform:translate(var(--start-x),var(--start-y));animation:celebrate var(--duration) cubic-bezier(.16,.72,.25,1) var(--delay) forwards}
.celebration-particle.math-symbol{width:auto;height:auto;background:transparent;text-shadow:0 2px 0 #fff,0 0 5px #fff}
@keyframes celebrate{0%{opacity:0;transform:translate(var(--start-x),var(--start-y)) rotate(0)}
8%{opacity:1}
100%{opacity:0;transform:translate(calc(var(--start-x) + var(--drift)),calc(var(--start-y) - var(--rise) + 105vh)) rotate(var(--spin))}
}
@keyframes trophy-pop{0%{opacity:0;transform:scale(.25) rotate(-14deg)}
65%{opacity:1;transform:scale(1.14) rotate(5deg)}
100%{transform:scale(1) rotate(0)}
}
@keyframes win-glow{50%{box-shadow:0 20px 65px #f5b70080,0 0 0 7px #f5b70030}
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 10%,#fff 0 8%,transparent 29%),linear-gradient(145deg,#eef5ff,#d9e8ff);padding:20px;display:grid;place-items:center}
body.loss-background{background:radial-gradient(circle at 50% 20%,#9b5de5 0 8%,transparent 34%),linear-gradient(145deg,#7e22ce,#4c1d95);transition:background .35s ease}
.loss-background .results-card{border-color:#d8b4fe;box-shadow:0 22px 70px #2e1065a6}
@media(max-width:520px){.choice-controls{grid-template-columns:1fr}
.choice-button{min-height:58px}
}
@media(max-width:420px){.answer-actions{grid-template-columns:1fr}
}
@media(max-width:520px){.solution-headings{display:none}
.solution-row{grid-template-columns:1fr;margin-top:9px;border:1px solid #e2c8cf;border-radius:9px!important;overflow:hidden}
.solution-row>div{display:block;padding:9px 10px}
.solution-row>div:before{content:attr(data-label);display:block;margin-bottom:3px;color:#8d1d38;font-family:Inter,Arial,sans-serif;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.solution-row>div+div{border-left:0;border-top:1px solid #e2c8cf}
}
button,select,input{font:inherit}
.app{width:min(100%,680px)}
.card{background:#fff;border:1px solid #d8e5f7;border-radius:24px;padding:clamp(22px,5vw,42px);text-align:center;box-shadow:0 20px 50px #315a9b24}
h1{font-size:clamp(2rem,7vw,3.3rem);line-height:1.05;margin:0 0 10px;color:#173f88}
h2{margin:0 0 6px}
.subtitle{font-weight:800;color:#2758a5;font-size:1.15rem}
.rules{background:#f3f7fd;border-radius:16px;padding:14px;line-height:1.65;margin:20px 0}
.form-grid{display:grid;gap:14px;text-align:left}
.field{display:grid;gap:6px;font-weight:800}
.field input,.field select{width:100%;border:2px solid #c8d8ef;border-radius:12px;padding:13px;background:#fff;color:#16213d}
.field input:focus,.field select:focus{outline:3px solid #9fc5ff;outline-offset:1px}
.primary{border:0;border-radius:13px;background:#185ac5;color:#fff;font-weight:900;padding:14px 22px;box-shadow:0 7px 0 #0e3e91;cursor:pointer}
.primary:active{transform:translateY(4px);box-shadow:0 3px 0 #0e3e91}
.primary:disabled{opacity:.55;cursor:default}
.wide{width:100%;margin-top:12px}
.meta{color:#55708f;font-weight:700;margin-bottom:22px}
.bar-labels{display:flex;justify-content:space-between;font-size:.78rem;font-weight:800;color:#627590}
.track{height:24px;background:#e3e8ef;border-radius:12px;position:relative;overflow:hidden}
.track:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:#1d2939;transform:translateX(-50%)}
.fill{position:absolute;top:0;height:100%;transition:width .25s ease}
.fill.left{right:50%;background:#d93d4d}
.fill.right{left:50%;background:#26a269}
.score-line{font-size:1.2rem;font-weight:900;margin:10px}
.live-stats{display:flex;justify-content:center;gap:25px;font-weight:800;color:#395373}
.problem{font-size:clamp(1.55rem,6vw,2.2rem);font-weight:900;min-height:88px;display:grid;place-items:center;margin:12px 0}
.answer{width:min(100%,270px);min-height:58px;border:2px solid #b7c7dc;border-radius:12px;margin:0 auto 12px;display:grid;place-items:center;font-size:2rem;font-weight:900;background:#fafdff}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,280px);margin:auto}
.keypad button{min-height:50px;border:1px solid #c9d7e9;border-radius:11px;background:#edf4fd;color:#173f88;font-weight:900;font-size:1.25rem;cursor:pointer}
.feedback{font-size:1.6rem;font-weight:900;min-height:63px;margin:16px 0 0;display:grid;place-items:center}
.feedback small{display:block;font-size:1rem;margin-top:5px}
.correct{color:#18834d}
.incorrect{color:#c5263d}
.result-message{font-size:1.08rem;line-height:1.6}
.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;text-align:left;margin:22px 0}
.result-stats div{background:#f1f6fc;border-radius:10px;padding:10px;display:grid}
.result-stats span{font-size:.75rem;color:#61758d}
.result-stats strong{overflow-wrap:anywhere}
[hidden]{display:none!important}
@media(max-width:420px){body{padding:10px}
.card{border-radius:18px;padding:20px 16px}
.live-stats{gap:13px;font-size:.9rem}
.result-stats{grid-template-columns:1fr}
.problem{min-height:78px}
}
@media(prefers-reduced-motion:reduce){.victory-trophy,.win-glow{animation:none}
.win-glow{box-shadow:0 20px 60px #f5b70066,0 0 0 5px #f5b70024}
}
.celebration-layer{z-index:1}
.integer-model-key{padding:7px 12px;background:#eef5f8;text-align:center;font-size:.78rem;font-weight:850;color:#4b6574}
