:root{--primary-color:#4a90e2;--secondary-color:#50e3c2;--bg-color:#f8f9fa;--text-color:#333;--card-bg:#fff;--accent-color:#ffb300;--error-color:#ff5252;--success-color:#4caf50;--font-family:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;min-height:100dvh;display:flex}#root{background-color:var(--card-bg);flex-direction:column;width:100%;max-width:800px;height:100dvh;max-height:100dvh;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000001a}@media (width>=800px){#root{border-radius:24px;height:90vh;margin:20px}}.screen-container{flex-direction:column;flex:1;padding:24px;display:flex;overflow-y:auto}.button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:1.2rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 12px #4a90e24d}.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4a90e266}.button:active{transform:translateY(0)}.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.button-secondary{background:var(--card-bg);color:var(--text-color);box-shadow:none;border:2px solid #e0e0e0}.button-secondary:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000000d}.title{text-align:center;color:var(--primary-color);margin-bottom:24px;font-size:1.8rem;font-weight:800}.robot-coach{align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.robot-avatar{background:#e3f2fd;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:3rem;animation:3s ease-in-out infinite float;display:flex;box-shadow:0 4px 12px #0000001a}.robot-bubble{background:#fff;border:2px solid #e3f2fd;border-radius:20px 20px 20px 4px;flex:1;padding:16px 20px;font-size:1.2rem;line-height:1.5;box-shadow:0 4px 12px #00000014}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.group-container{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:24px;display:flex}.group-plate{background:#fff3e0;border:4px solid #ffcc80;border-radius:50%;flex-wrap:wrap;place-content:center;gap:4px;width:120px;min-height:120px;padding:10px;transition:all .3s;display:flex;position:relative}.plate-select{color:#73520d;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d7a34d;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:750;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)}.group-item{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;font-size:2rem;line-height:1;transition:transform .2s}.group-item.static{cursor:default}.group-item:active{transform:scale(1.2)}.item-source{cursor:pointer;-webkit-user-select:none;user-select:none;background:#e8f5e9;border:0;border-radius:20px;justify-content:center;align-items:center;width:100px;height:100px;margin:20px auto;font-size:3rem;display:flex;box-shadow:0 4px 12px #0000001a}.equation-text{text-align:center;letter-spacing:2px;margin:20px 0;font-size:2rem;font-weight:700}.equation-part{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;border-radius:8px;padding:4px 8px;transition:background .2s;display:inline-block}.equation-part:hover,.equation-part.active{background:#fff9c4}.array-container{flex-direction:column;align-items:center;gap:12px;margin-top:32px;display:flex}.array-row{gap:12px;display:flex}.array-dot{background:var(--primary-color);border-radius:50%;width:32px;height:32px;transition:all .3s}.scan-horizontal .array-dot{animation:1.8s ease-in-out infinite scanRow;animation-delay:calc(var(--scan-index) * .35s)}.scan-vertical .array-dot{animation:2.2s ease-in-out infinite scanCol;animation-delay:calc(var(--scan-index) * .28s)}@keyframes scanRow{0%,30%{background:var(--accent-color);transform:scale(1.16)}55%,to{background:var(--primary-color);transform:scale(1)}}@keyframes scanCol{0%,30%{background:var(--secondary-color);transform:scale(1.16)}55%,to{background:var(--primary-color);transform:scale(1)}}.feedback-overlay{z-index:100;background:#ffffffe6;flex-direction:column;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lesson-shell{flex-direction:column;height:100%;display:flex}.lesson-header{z-index:5;background:#fffffff5;border-bottom:1px solid #e8edf2;grid-template-columns:170px 1fr 90px;align-items:center;gap:18px;min-height:76px;padding:14px 22px;display:grid}.lesson-brand{color:#225a93;align-items:center;gap:9px;display:flex}.lesson-brand span{color:#8a6500;background:#fff1bb;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.lesson-progress{background:#e7edf3;border-radius:99px;height:8px;overflow:hidden}.lesson-progress i{background:var(--primary-color);border-radius:99px;height:100%;transition:width .35s;display:block}.reset-button{color:#718096;cursor:pointer;background:0 0;border:0;font-weight:700}.builder-help{text-align:center;color:#68737e;max-width:520px;margin:0 auto 12px;line-height:1.5}.action-row{text-align:center;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.inline-feedback{border-radius:14px;width:min(100%,620px);margin:24px auto 0;padding:15px 18px;font-weight:650;line-height:1.6}.inline-feedback.learning{color:#6f5710;background:#fff6d8;border-left:4px solid #f1c94f}.inline-feedback.success{color:#226a49;background:#e7f6ee;border-left:4px solid #55ad82}.hint-card{color:#355f8c;background:#f2f7ff;border-radius:12px;gap:10px;width:min(100%,620px);margin:12px auto 0;padding:13px 16px;display:flex}.hint-card b{flex:none}.plate-button{font:inherit;cursor:pointer}.plate-button.counted{border-color:var(--success-color);background:#eaf7ef}.strategy-grid{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.inspection-progress{text-align:center;color:#6b7785;font-weight:700}.question-block{text-align:center;width:min(100%,620px);margin:28px auto 0}.question-block h2{color:#234f7e;margin-bottom:18px;font-size:1.35rem}.question-block>div{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.story-groups{gap:14px}.story-group{background:#f4f9ff;border:3px solid #b9d3ed;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;width:118px;min-height:128px;padding:8px;display:flex}.story-group .group-symbol{font-size:2.3rem}.story-group>div{flex-wrap:wrap;justify-content:center;gap:2px;font-size:1.35rem;display:flex}.story-group.bags{background:#fff8df;border-color:#efd477}.count-badge{text-align:center;color:#66717d;width:100%;font-size:.78rem;font-weight:800}.inspect-group{animation:1.2s ease-in-out infinite alternate inspectPulse}@keyframes inspectPulse{to{border-color:var(--error-color);transform:translateY(-3px)}}.array-equation{font-size:clamp(1.35rem,4vw,2rem)}.summary-child{text-align:center}.discovery-mark{color:#996f00;background:#fff1b8;border-radius:50%;place-items:center;width:92px;height:92px;margin:10px auto 16px;font-size:3.6rem;display:grid}.summary-child h2{color:#234f7e}.achievement-list{text-align:left;gap:10px;width:min(100%,560px);margin:20px auto 0;list-style:none;display:grid}.achievement-list li{background:#f4f8fb;border-radius:13px;padding:15px 18px 15px 48px;line-height:1.5;position:relative}.achievement-list li:before{content:"✓";color:var(--success-color);font-weight:900;position:absolute;left:18px}.report-heading p{color:#4a90e2;margin-bottom:6px;font-weight:800}.report-heading h2{color:#243b53;font-size:1.8rem}.evidence-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.evidence-item{background:#fff;border:1px solid #e2e8ef;border-radius:14px;align-items:flex-start;gap:12px;padding:15px;display:flex}.evidence-item strong{line-height:1.4;display:block}.evidence-item small{color:#687788;margin-top:5px;display:block}.status-dot{background:#9ca9b6;border-radius:50%;flex:none;width:12px;height:12px;margin-top:4px}.status-dot.independent{background:#43a879}.status-dot.supported{background:#e3a72f}.status-dot.review{background:#de6a6a}.report-note,.report-signals{background:#eaf6ef;border-radius:14px;margin-top:18px;padding:18px}.report-note h3,.report-signals h3{color:#285f48;margin-bottom:8px}.report-note p,.report-signals p{line-height:1.65}.report-signals{background:#fff5db}.report-signals h3{color:#795c11}.report-disclaimer{color:#7a8794;margin-top:18px;font-size:.9rem}@media (width<=560px){.lesson-header{grid-template-columns:45px 1fr 68px;gap:10px;min-height:66px;padding:11px 13px}.lesson-brand strong{display:none}.lesson-brand span{width:36px;height:36px}.reset-button{font-size:.78rem}.screen-container{padding:18px 14px 34px}.robot-coach{gap:10px;margin-bottom:16px}.robot-avatar{flex:none;width:54px;height:54px;font-size:2.2rem}.robot-bubble{padding:13px 15px;font-size:1.02rem}.group-container{gap:10px;margin-top:16px}.group-plate{border-width:3px;width:96px;min-height:96px;padding:7px}.group-item{font-size:1.55rem}.item-source{width:76px;height:76px;margin:10px auto;font-size:2.4rem}.button{width:100%;min-height:54px;padding:13px 15px;font-size:1.02rem}.strategy-grid,.question-block>div{grid-template-columns:1fr;display:grid}.equation-text{letter-spacing:0;font-size:1.45rem}.story-group{width:92px;min-height:104px}.evidence-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
