:root{--bg:#f4f7ff;--ink:#172033;--muted:#667085;--card:#fff;--blue:#5268ff;--purple:#8b5cf6;--green:#20b486;--orange:#f59e0b;--red:#ef476f;--line:#e5e9f5}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:linear-gradient(180deg,#eef2ff,#f8fafc 45%);color:var(--ink);min-height:100vh}button,input{font:inherit}.app{max-width:1080px;margin:auto;padding:20px}.hidden{display:none!important}.top{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.brand h1{margin:0;font-size:clamp(1.8rem,4vw,3rem)}.brand p{margin:.25rem 0;color:var(--muted)}.userchip,.xpbox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 15px;box-shadow:0 8px 24px rgba(47,55,90,.08)}.userchip{cursor:pointer;font-weight:800}.xpbar{height:9px;background:#edf0f8;border-radius:20px;overflow:hidden;margin-top:7px}.xpfill{height:100%;background:linear-gradient(90deg,var(--blue),var(--purple));width:0}.hero{margin:24px 0;background:linear-gradient(135deg,#5268ff,#8b5cf6);color:white;border-radius:26px;padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.hero h2{margin:0 0 8px}.mission{background:rgba(255,255,255,.16);padding:14px;border-radius:18px;min-width:270px}.motivationGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:0 0 24px}.motivationCard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:0 8px 24px rgba(47,55,90,.07)}.motivationCard b{font-size:1.08rem}.motivationBig{font-size:1.8rem;font-weight:950;margin:8px 0 3px}.miniProgress{height:9px;background:#edf0f8;border-radius:99px;overflow:hidden;margin-top:10px}.miniProgress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--purple));border-radius:99px}.achievementGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.achievementItem{border:1px solid var(--line);border-radius:18px;padding:15px;background:#fff}.achievementTitle{font-weight:950;margin-bottom:5px}.achievementDesc{color:var(--muted);font-size:.9rem;line-height:1.35}.nextGoal{margin-top:14px;border:1px solid #c7d2fe;background:#f5f3ff;border-radius:18px;padding:15px}.nextGoal b{display:block;margin-bottom:5px}.improvementGrid,.todayPlanGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.improvementItem{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:18px;padding:15px}.improvementNumbers{font-size:1.35rem;font-weight:950;margin:7px 0}.improvementGain{color:#087859;font-weight:900}.todayPlan{margin-bottom:24px;border:1px solid #c7d2fe;background:#fff;border-radius:24px;padding:20px;box-shadow:0 10px 30px rgba(47,55,90,.08)}.todayPlanHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.todayPlanHead h3{margin:0 0 5px}.todayPlanItem{border:1px solid var(--line);border-radius:18px;padding:15px;background:#f8f9ff;display:flex;flex-direction:column;gap:7px}.todayPlanItem b{font-size:1.05rem}.todayPlanReason{color:var(--muted);font-size:.9rem;line-height:1.35}.todayPlanTime{font-weight:900;color:#4154c9}.motivationSection{margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 30px rgba(47,55,90,.08)}.subject{cursor:pointer;transition:.2s}.subject:hover{transform:translateY(-3px)}.subject .icon{font-size:3rem}.subject h3{font-size:1.4rem;margin:8px 0}.subject p{color:var(--muted)}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:var(--blue);color:#fff}.secondary{background:#eef1ff;color:#3343b5}.ghost{background:#fff;border:1px solid var(--line)}.danger{background:#fff0f3;color:#b42348}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.back{margin-bottom:15px}.breadcrumbs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:14px 0 18px;padding:10px 13px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:14px}.crumb{border:0;background:transparent;color:#4154c9;font-weight:800;padding:2px 4px;cursor:pointer}.crumb.current{color:var(--ink);cursor:default}.crumbSep{color:var(--muted)}.path{display:grid;gap:12px}.unit{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.unit.locked{opacity:.55}.unit h4{margin:0 0 4px}.unit p{margin:0;color:var(--muted);font-size:.92rem}.meter{width:150px;max-width:30vw}.meterbar{height:8px;border-radius:10px;background:#edf0f8;overflow:hidden}.meterfill{height:100%;background:var(--green)}.tag{font-size:.78rem;padding:5px 9px;border-radius:20px;background:#edf8f4;color:#087859;font-weight:800}.tag.lock{background:#f2f4f7;color:#667085}.setup{margin-top:15px;background:#f8f9ff;border-radius:18px;padding:16px}.tables{display:flex;gap:8px;flex-wrap:wrap}.tablebtn{width:45px;height:45px;border-radius:12px;border:1px solid var(--line);background:white;font-weight:900;cursor:pointer}.tablebtn.on{background:var(--blue);color:#fff}.game{max-width:720px;margin:25px auto}.gamehead{display:flex;justify-content:space-between;gap:10px}.pill{background:white;border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-weight:800}.questionbox{background:white;border:1px solid var(--line);border-radius:26px;padding:30px;margin-top:18px;text-align:center;box-shadow:0 12px 35px rgba(47,55,90,.1)}.prompt{color:var(--muted);margin-bottom:8px}.question{font-size:clamp(2rem,7vw,4rem);font-weight:900;min-height:80px;display:flex;align-items:center;justify-content:center;white-space:pre-line}.question.operation{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.12}.verticalOperation{display:inline-grid;grid-template-columns:2.8rem minmax(5.2rem,auto);grid-template-rows:auto auto .45rem;column-gap:.35rem;align-items:end;justify-items:end;margin:6px auto 18px;font-variant-numeric:tabular-nums}.verticalOperation .opNumber{font-size:clamp(3rem,8vw,5rem);font-weight:900;line-height:1;letter-spacing:.02em;min-width:2ch;text-align:right}.verticalOperation .opSign{font-size:clamp(2.6rem,7vw,4.4rem);font-weight:900;line-height:1;text-align:center;justify-self:center}.verticalOperation .opTop{grid-column:2;grid-row:1}.verticalOperation .opBottom{grid-column:2;grid-row:2}.verticalOperation .opSymbol{grid-column:1;grid-row:2}.verticalOperation .opLine{grid-column:1/3;grid-row:3;width:100%;border-top:.42rem solid var(--ink);border-radius:999px;margin-top:.15rem}.horizontalOperation{font-size:clamp(2.4rem,7vw,4.2rem);font-weight:900;font-variant-numeric:tabular-nums}.columnExercise{display:grid;gap:.35rem;justify-content:center;margin:8px auto 14px;font-variant-numeric:tabular-nums}.columnRow{display:grid;grid-template-columns:2.3rem repeat(var(--cols),3.25rem);gap:.28rem;align-items:center;justify-content:center}.columnRow .opMark{font-size:2.5rem;font-weight:900;text-align:center}.columnRow.topCarry .opMark{font-size:.9rem;line-height:1.05;color:var(--purple);white-space:nowrap;justify-self:end;padding-right:.2rem}.columnRow.topCarry{margin-bottom:.05rem}.columnRow.topCarry .columnInput{background:#f5f1ff;border-style:dashed}.columnRow.topCarry .digitCell{height:2.35rem}.digitCell{height:3.25rem;display:flex;align-items:center;justify-content:center;font-size:2.6rem;font-weight:900}.carryCell{height:2.5rem}.regroupRow{margin:.05rem 0 .15rem}.regroupRow .opMark{font-size:.8rem;color:var(--muted)}.regroupInput{width:2.7rem!important;height:2.25rem!important;font-size:1.15rem!important;border-style:dashed!important;background:#f5f1ff!important}.regroupFixed{height:2.25rem;font-size:1.25rem;color:#6657a8}.startCell{border-color:var(--orange)!important;box-shadow:0 0 0 4px rgba(245,158,11,.18)!important}.borrowArrow{font-size:.78rem;color:#7a5a00;background:#fff8e8;border:1px solid #f7d98b;border-radius:10px;padding:7px 9px;margin:.25rem auto .4rem;max-width:26rem;text-align:center}.columnInput{width:3.05rem;height:3.05rem;border:2px solid #b8c2dd;border-radius:.72rem;text-align:center;font-size:1.7rem;font-weight:900;background:#fff;outline:none}.columnInput:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(82,104,255,.14)}.columnInput.carryInput{width:2.55rem;height:2.35rem;font-size:1.25rem;border-style:dashed;background:#fffdf2}.columnInput.wrong{border-color:var(--red);background:#fff1f3}.columnInput.right{border-color:var(--green);background:#eefbf7}.columnLine{grid-column:2/-1;border-top:.35rem solid var(--ink);height:.35rem;margin:.2rem 0}.columnLegend{font-size:.85rem;color:var(--muted);text-align:center;margin-bottom:.25rem}.guidedSubmit{margin-top:.75rem}@media(max-width:620px){.columnRow{grid-template-columns:1.8rem repeat(var(--cols),2.7rem);gap:.18rem}.digitCell{height:2.7rem;font-size:2.15rem}.columnInput{width:2.55rem;height:2.65rem;font-size:1.45rem}.columnInput.carryInput{width:2.2rem;height:2.05rem}}.divisionBoard{max-width:620px;margin:8px auto 18px;text-align:left}.divisionTop{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:.6rem;justify-content:center;font-variant-numeric:tabular-nums}.divisionDivisor{font-size:2.4rem;font-weight:900;padding:0 .55rem .3rem 0}.divisionMain{min-width:270px}.divisionQuotient{display:grid;grid-template-columns:repeat(var(--qcols),3.2rem);justify-content:end;min-height:3.5rem;border-bottom:.32rem solid var(--ink);padding:0 .2rem .25rem}.divisionQCell{height:3rem;display:flex;align-items:center;justify-content:center;font-size:2.3rem;font-weight:900}.divisionDividend{display:grid;grid-template-columns:repeat(var(--dcols),3.2rem);justify-content:end;padding-top:.35rem}.divisionDigit{height:3rem;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:900}.divisionWork{margin-left:auto;width:max-content;min-width:220px;padding-top:.3rem}.divisionWorkRow{display:flex;justify-content:flex-end;gap:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:800;line-height:1.3}.divisionWorkRow.sub{border-bottom:.18rem solid #9aa4bb;padding-bottom:.1rem}.divisionStepCard{margin:14px auto 0;max-width:520px;background:#f8f9ff;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center}.divisionStepPrompt{font-weight:900;font-size:1.08rem;margin-bottom:10px}.divisionStepHint{color:var(--muted);font-size:.9rem;margin-top:8px}.divisionInput{width:110px;height:60px;border:3px solid var(--blue);border-radius:16px;text-align:center;font-size:2rem;font-weight:900;outline:none}.divisionInput.wrong{border-color:var(--red);background:#fff1f3}.divisionInput.right{border-color:var(--green);background:#eefbf7}.divisionHighlight{background:#fff4cf;border-radius:10px}.divisionArrow{color:var(--purple);font-weight:900;text-align:center;margin:.15rem 0}.divisionDone{font-weight:900;color:var(--green);font-size:1.1rem;text-align:center;margin-top:12px}@media(max-width:620px){.divisionQuotient,.divisionDividend{grid-template-columns:repeat(var(--qcols),2.55rem)}.divisionDividend{grid-template-columns:repeat(var(--dcols),2.55rem)}.divisionDigit,.divisionQCell{font-size:2rem}.divisionMain{min-width:220px}}.sentenceReview{margin-top:14px;padding:16px;background:#fff8e8;border:1px solid #f1d58b;border-radius:18px;text-align:left}.sentenceReviewTitle{font-weight:900;margin-bottom:10px}.sentenceReviewText{font-size:1.2rem;line-height:1.9}.sentenceWrong{text-decoration:line-through;color:#b42348;background:#fff0f3;padding:2px 5px;border-radius:7px}.sentenceCorrection{display:inline-block;margin-left:5px;color:#087859;background:#eafaf4;padding:2px 6px;border-radius:7px;font-weight:900;text-decoration:none}.sentenceMissing{color:#087859;background:#eafaf4;padding:2px 6px;border-radius:7px;font-weight:900}.sentenceExtra{text-decoration:line-through;color:#b42348;background:#fff0f3;padding:2px 5px;border-radius:7px}.sentenceReviewActions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px}.sentenceCountdown{font-size:.9rem;color:var(--muted);font-weight:800}
.adaptivePanel{margin:12px 0 16px;padding:14px 15px;background:#f8f9ff;border:1px solid var(--line);border-radius:18px}.adaptivePanelTitle{font-weight:900;margin-bottom:9px}.adaptiveRoute{display:flex;align-items:center;gap:5px;overflow-x:auto;padding:3px 1px 7px}.adaptiveStage{min-width:86px;flex:1;text-align:center;font-size:.73rem;color:var(--muted);line-height:1.2}.adaptiveStageDot{width:18px;height:18px;border-radius:50%;margin:0 auto 6px;background:#e1e5f0;border:3px solid #e1e5f0}.adaptiveStage.done .adaptiveStageDot{background:var(--green);border-color:var(--green)}.adaptiveStage.current{color:var(--ink);font-weight:900}.adaptiveStage.current .adaptiveStageDot{background:#fff;border-color:var(--purple);box-shadow:0 0 0 4px rgba(139,92,246,.13)}.adaptiveConnector{height:3px;min-width:12px;flex:0 0 18px;background:#e1e5f0;border-radius:9px;margin-top:-24px}.adaptiveConnector.done{background:var(--green)}.adaptiveMessage{display:flex;gap:10px;align-items:flex-start;margin-top:8px;padding:10px 12px;border-radius:14px;background:#fff}.adaptiveMessageIcon{font-size:1.35rem}.adaptiveMessageText{font-size:.88rem;line-height:1.35;color:var(--muted)}.adaptiveMessageText b{display:block;color:var(--ink);margin-bottom:2px}.adaptiveReadiness{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:.8rem;color:var(--muted)}.adaptiveDots{display:flex;gap:4px}.adaptiveReadyDot{width:20px;height:7px;border-radius:8px;background:#e1e5f0}.adaptiveReadyDot.on{background:var(--green)}.adaptiveGameStrip{display:none;margin:0 0 12px;padding:9px 12px;border-radius:14px;background:#f8f9ff;border:1px solid var(--line);font-size:.83rem;text-align:left;color:var(--muted)}.adaptiveGameStrip.visible{display:flex;align-items:center;gap:9px}.adaptiveGameStrip b{color:var(--ink)}@media(max-width:620px){.adaptiveStage{min-width:72px;font-size:.66rem}.adaptiveConnector{flex-basis:10px;min-width:8px}.adaptivePanel{padding:12px 10px}}.answer.numericAnswer{-moz-appearance:textfield}.divisionBoard{max-width:620px;margin:8px auto 18px;text-align:left}.divisionTop{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:.6rem;justify-content:center;font-variant-numeric:tabular-nums}.divisionDivisor{font-size:2.4rem;font-weight:900;padding:0 .55rem .3rem 0}.divisionMain{min-width:270px}.divisionQuotient{display:grid;grid-template-columns:repeat(var(--qcols),3.2rem);justify-content:end;min-height:3.5rem;border-bottom:.32rem solid var(--ink);padding:0 .2rem .25rem}.divisionQCell{height:3rem;display:flex;align-items:center;justify-content:center;font-size:2.3rem;font-weight:900}.divisionDividend{display:grid;grid-template-columns:repeat(var(--dcols),3.2rem);justify-content:end;padding-top:.35rem}.divisionDigit{height:3rem;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:900}.divisionWork{margin-left:auto;width:max-content;min-width:220px;padding-top:.3rem}.divisionWorkRow{display:flex;justify-content:flex-end;gap:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:800;line-height:1.3}.divisionWorkRow.sub{border-bottom:.18rem solid #9aa4bb;padding-bottom:.1rem}.divisionStepCard{margin:14px auto 0;max-width:520px;background:#f8f9ff;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center}.divisionStepPrompt{font-weight:900;font-size:1.08rem;margin-bottom:10px}.divisionStepHint{color:var(--muted);font-size:.9rem;margin-top:8px}.divisionInput{width:110px;height:60px;border:3px solid var(--blue);border-radius:16px;text-align:center;font-size:2rem;font-weight:900;outline:none}.divisionInput.wrong{border-color:var(--red);background:#fff1f3}.divisionInput.right{border-color:var(--green);background:#eefbf7}.divisionHighlight{background:#fff4cf;border-radius:10px}.divisionArrow{color:var(--purple);font-weight:900;text-align:center;margin:.15rem 0}.divisionDone{font-weight:900;color:var(--green);font-size:1.1rem;text-align:center;margin-top:12px}@media(max-width:620px){.divisionQuotient,.divisionDividend{grid-template-columns:repeat(var(--qcols),2.55rem)}.divisionDividend{grid-template-columns:repeat(var(--dcols),2.55rem)}.divisionDigit,.divisionQCell{font-size:2rem}.divisionMain{min-width:220px}}.answer.numericAnswer::-webkit-outer-spin-button,.divisionBoard{max-width:620px;margin:8px auto 18px;text-align:left}.divisionTop{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:.6rem;justify-content:center;font-variant-numeric:tabular-nums}.divisionDivisor{font-size:2.4rem;font-weight:900;padding:0 .55rem .3rem 0}.divisionMain{min-width:270px}.divisionQuotient{display:grid;grid-template-columns:repeat(var(--qcols),3.2rem);justify-content:end;min-height:3.5rem;border-bottom:.32rem solid var(--ink);padding:0 .2rem .25rem}.divisionQCell{height:3rem;display:flex;align-items:center;justify-content:center;font-size:2.3rem;font-weight:900}.divisionDividend{display:grid;grid-template-columns:repeat(var(--dcols),3.2rem);justify-content:end;padding-top:.35rem}.divisionDigit{height:3rem;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:900}.divisionWork{margin-left:auto;width:max-content;min-width:220px;padding-top:.3rem}.divisionWorkRow{display:flex;justify-content:flex-end;gap:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:800;line-height:1.3}.divisionWorkRow.sub{border-bottom:.18rem solid #9aa4bb;padding-bottom:.1rem}.divisionStepCard{margin:14px auto 0;max-width:520px;background:#f8f9ff;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center}.divisionStepPrompt{font-weight:900;font-size:1.08rem;margin-bottom:10px}.divisionStepHint{color:var(--muted);font-size:.9rem;margin-top:8px}.divisionInput{width:110px;height:60px;border:3px solid var(--blue);border-radius:16px;text-align:center;font-size:2rem;font-weight:900;outline:none}.divisionInput.wrong{border-color:var(--red);background:#fff1f3}.divisionInput.right{border-color:var(--green);background:#eefbf7}.divisionHighlight{background:#fff4cf;border-radius:10px}.divisionArrow{color:var(--purple);font-weight:900;text-align:center;margin:.15rem 0}.divisionDone{font-weight:900;color:var(--green);font-size:1.1rem;text-align:center;margin-top:12px}@media(max-width:620px){.divisionQuotient,.divisionDividend{grid-template-columns:repeat(var(--qcols),2.55rem)}.divisionDividend{grid-template-columns:repeat(var(--dcols),2.55rem)}.divisionDigit,.divisionQCell{font-size:2rem}.divisionMain{min-width:220px}}.answer.numericAnswer::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.audioBtn{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#eef1ff;color:#3343b5;font-size:1.35rem;cursor:pointer;margin:0 auto 14px;display:block}.audioBtn:hover{transform:scale(1.05)}.karaokeText{display:inline;line-height:1.55}.karaokeToken{display:inline;border-radius:.28em;padding:.03em .07em;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease}.karaokeToken.active{background:#fff0a8;color:#172554;box-shadow:0 0 0 3px rgba(250,204,21,.22)}.karaokeToken.spoken{color:#667085}.discoveryWord .karaokeToken{padding:.02em .1em}.answer{font-size:1.7rem;width:min(260px,90%);padding:13px;text-align:center;border:2px solid #cfd5e6;border-radius:16px}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.choice{padding:15px;border:1px solid var(--line);border-radius:15px;background:#f8f9ff;font-weight:800;cursor:pointer}.choices.operationSymbolChoices .choice{font-size:clamp(3.2rem,7vw,5.6rem);line-height:1;min-height:112px;padding:18px;font-weight:950}.choices.operationSymbolChoices{gap:16px;margin-top:24px}@media(max-width:620px){.choices.operationSymbolChoices .choice{font-size:clamp(2.8rem,14vw,4.6rem);min-height:92px}}.inlineSentence{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25em;font-size:clamp(1.65rem,5vw,3.15rem);font-weight:850;line-height:1.35}.inlineWord{border:0;background:transparent;color:var(--blue);font:inherit;font-weight:950;padding:.05em .12em;border-radius:.22em;cursor:pointer;text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.12em}.inlineWord:hover,.inlineWord:focus{background:#eef1ff;outline:none}.inlineWord.inlineCorrect{background:#dff7e9!important;color:#087443!important;text-decoration:none;box-shadow:0 0 0 4px rgba(16,185,129,.16)}.inlineWord.inlineWrong{background:#ffe4e8!important;color:#b42343!important;text-decoration:none;box-shadow:0 0 0 4px rgba(244,63,94,.14)}.inlineWord:disabled{opacity:1;cursor:default}.inlineSlash{color:var(--muted);font-weight:700;padding:0 .03em}.sentenceBuilder{width:100%;max-width:680px;margin:8px auto 0}.builderTranslation{font-size:1.55rem;font-weight:850;line-height:1.45;background:#f8f9ff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:14px}.builderLabel{font-size:.86rem;color:var(--muted);font-weight:800;margin:8px 0}.builderLine,.builderBank{min-height:68px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;border-radius:17px;padding:12px}.builderLine{border:2px dashed #9ba8d0;background:#fbfcff}.builderLine.empty:before{content:'Construeix aquí la frase en anglès';color:#98a2b3;font-size:.95rem;font-weight:700}.builderBank{background:#eef1ff;border:1px solid #d9def7}.wordTile{border:1px solid #bdc6ea;background:#fff;color:#27336f;border-radius:12px;padding:10px 13px;font-weight:900;cursor:pointer;box-shadow:0 3px 8px rgba(47,55,90,.08);user-select:none}.wordTile:hover,.wordTile:focus{transform:translateY(-1px);border-color:var(--blue);outline:none}.builderLine .wordTile{background:#eafaf4;border-color:#90d5bd;color:#075f48}.builderActions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}.builderHint{font-size:.82rem;color:var(--muted);margin-top:8px}@media(max-width:620px){.wordTile{padding:9px 11px}.builderTranslation{font-size:1.3rem}}.pronunciationCard{max-width:760px;margin:0 auto;background:#f8f9ff;border:1px solid var(--line);border-radius:22px;padding:24px}.pronunciationWord{font-size:clamp(2.8rem,8vw,5.4rem);font-weight:950;line-height:1.05;color:var(--ink)}.pronunciationTranslation{font-size:1.55rem;font-weight:850;color:var(--purple);margin:10px 0 18px}.phoneticGuide{font-size:clamp(1.55rem,4vw,2.45rem);font-weight:900;color:#45506a;background:#fff;border:1px dashed #bbc4dc;border-radius:16px;padding:12px 15px;margin:10px auto 18px;max-width:680px}.phoneticGuide.hiddenGuide{visibility:hidden}.pronunciationExample{margin-top:20px;padding:18px;background:#fff;border-left:6px solid var(--green);border-radius:18px}.pronunciationSentence{font-size:clamp(1.7rem,4.5vw,3rem);font-weight:900;line-height:1.4}.pronunciationLocal{font-size:1.3rem;color:var(--muted);font-weight:800;margin-top:12px}.pronunciationControls{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.pronunciationControls button{font-size:.9rem!important;padding:9px 13px!important;min-height:auto!important}.pronunciationSpeed{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.pronunciationSpeed button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.phoneticToken{display:inline;border-radius:.25em;padding:.02em .06em}.phoneticToken.active{background:#fff0a8;color:#172554}.phoneticToken.spoken{color:#8b93a7}@media(max-width:620px){.pronunciationCard{padding:17px 12px}.pronunciationTranslation{font-size:1.3rem}.pronunciationLocal{font-size:1.1rem}}.feedback{font-weight:900;min-height:30px;margin-top:15px}.vocabAiFeedback{max-width:760px;margin:18px auto 0;padding:18px 22px;border-radius:18px;font-size:clamp(1.28rem,3vw,1.85rem);line-height:1.45;text-align:left;border:2px solid transparent;box-shadow:0 8px 22px rgba(47,55,90,.08)}.vocabAiFeedback.good{color:#087859;background:#eefbf7;border-color:#7ed7ba}.vocabAiFeedback.attention{color:#7a5200;background:#fff8e8;border-color:#f1cf73}.vocabAiFeedback.bad{color:#b42348;background:#fff0f3;border-color:#f4a6b7}.vocabAiFeedback .aiFeedbackTitle{display:block;font-size:1.08em;margin-bottom:6px}.vocabAiFeedback .aiFeedbackDetail{display:block;font-weight:750}.helpBox{margin-top:12px;padding:13px 15px;border-radius:14px;background:#fff8e8;border:1px solid #f7d98b;text-align:left;line-height:1.45}.helpBtn{margin-top:10px;background:#fff3cd;color:#7a5200;border:1px solid #f1cf73}.good{color:var(--green)}.bad{color:var(--red)}.hint{color:var(--muted);font-size:.9rem}.result{text-align:center}.big{font-size:4rem}.stats-table{width:100%;border-collapse:collapse}.stats-table th,.stats-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}.statsSection{margin-top:24px}.statsSubjectTitle{margin:22px 0 7px;padding:9px 12px;border-radius:12px;background:#f2f4ff;font-size:1.05rem}.masteryInfo{background:#f8f9ff;border:1px solid var(--line);border-radius:15px;padding:12px 14px;color:var(--muted);line-height:1.45}.notStarted{color:var(--muted);font-style:italic}.sessionCard{margin:10px 0;border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}.sessionCard summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:800;display:flex;justify-content:space-between;gap:12px;align-items:center}.sessionCard summary::-webkit-details-marker{display:none}.sessionCard[open] summary{background:#f8f9ff}.sessionDetails{padding:0 16px 14px}.sessionMeta{font-size:.86rem;color:var(--muted);font-weight:500}.statsUserSelect{margin-bottom:16px;padding:14px;background:#f8f9ff;border:1px solid var(--line);border-radius:16px}@media(max-width:700px){.stats-table{display:block;overflow-x:auto;white-space:nowrap}.sessionCard summary{align-items:flex-start;flex-direction:column}}.profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.profile{padding:25px;border:2px solid var(--line);background:white;border-radius:22px;text-align:center;cursor:pointer;font-weight:900;font-size:1.2rem}.profile span{display:block;font-size:3rem}.sectiontitle{display:flex;justify-content:space-between;align-items:center;gap:12px}.tiny{font-size:.85rem;color:var(--muted)}.theory{display:grid;gap:13px}.theoryRule{background:#eef8ff;border-left:5px solid var(--blue);padding:15px 17px;border-radius:14px;font-size:1.05rem}.exampleCard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.exampleCard b{font-size:1.08rem}.contrastCard{background:#fff8e8;border:1px solid #f7d98b;border-radius:16px;padding:14px}.lessonLabel{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--purple);font-weight:900}.stepDots{display:flex;justify-content:center;gap:7px;margin:8px 0 15px}.stepDot{width:10px;height:10px;border-radius:50%;background:#d7dcec}.stepDot.on{background:var(--purple)}.discoveryCard{background:#f8f9ff;border:1px solid var(--line);border-radius:20px;padding:18px;margin:12px 0;text-align:left}.discoveryWord{font-size:2.2rem;font-weight:900;text-align:center}.discoveryAudioRow{display:flex;align-items:center;justify-content:center;gap:10px}.discoveryAudioRow.sentenceAudioRow{justify-content:space-between;align-items:flex-start;gap:12px}.inlineAudioBtn{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#eef1ff;color:#3343b5;font-size:1.05rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.inlineAudioBtn:hover{transform:scale(1.05)}.discoveryTranslation{text-align:center;font-size:1.55rem;color:var(--purple);font-weight:800;margin:6px 0 16px}.exampleSentence{background:white;border-left:5px solid var(--green);padding:13px 15px;border-radius:12px;line-height:1.5}.discoveryLocalSentence{display:inline-block;margin-top:10px;font-size:1.28rem;line-height:1.4;color:var(--muted);font-weight:750}.discoveryPlaybackRow{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.discoveryPlaybackStatus{font-size:.9rem;color:var(--muted);font-weight:750}.discoveryPlaybackBtn{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;max-width:100%;min-height:0!important;padding:8px 12px!important;border-radius:12px!important;font-size:.92rem!important;line-height:1.15!important;font-weight:800!important;white-space:nowrap!important}.carouselControls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:15px}.carouselControls button{width:auto!important;min-height:0!important;padding:8px 11px!important;border-radius:11px!important;font-size:.88rem!important}.carouselControls button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.carouselSpeed{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.carouselSpeed.hidden{display:none}.simpleDiscoveryCard{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center}.simpleDiscoveryCard .discoveryWord{font-size:clamp(3rem,9vw,5.5rem)}.simpleDiscoveryCard .discoveryTranslation{font-size:clamp(1.8rem,5vw,2.8rem);margin-top:14px}.bilingualKaraoke{max-width:760px;margin:0 auto}.karaokeSentenceBox{padding:18px;border-radius:18px;border:1px solid var(--line);background:#fff;margin:12px 0;font-size:clamp(1.35rem,4vw,2.2rem);line-height:1.55;font-weight:850}.karaokeSentenceBox.local{background:#f8f9ff;color:var(--purple)}.karaokeRateRow{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:14px}.karaokeRateRow button{width:auto!important;min-width:92px!important;max-width:none!important;min-height:0!important;padding:9px 13px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;color:var(--ink)!important;font-size:.92rem!important;line-height:1.15!important;font-weight:850!important;flex:0 0 auto!important;box-shadow:none!important}.karaokeRateRow button.active{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}.bilingualKaraoke .discoveryPlaybackRow button{font-size:.88rem!important;padding:8px 11px!important}@media(max-width:620px){.discoveryTranslation{font-size:1.35rem}.discoveryLocalSentence{font-size:1.12rem}}.sentenceText{flex:1;min-width:0}.phaseGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px}.phaseBtn{min-height:94px;text-align:left}.phaseBtn small{display:block;font-weight:500;margin-top:5px;line-height:1.3;opacity:.85}.timerPill{background:#fff8e8!important;color:#8a5600}.pin-field{-webkit-text-security:disc;text-security:disc}.countdownOverlay{position:fixed;inset:0;background:rgba(23,32,51,.72);z-index:50;display:flex;align-items:center;justify-content:center;color:#fff;font-size:min(32vw,12rem);font-weight:1000}.speedRules{background:#fff8e8;border:1px solid #f7d98b;border-radius:16px;padding:14px;line-height:1.5;margin:12px 0}@media(max-width:620px){.hero{display:block}.mission{margin-top:15px;min-width:0}.choices{grid-template-columns:1fr}.unit{align-items:flex-start}.meter{width:100px}}

.tradDivision{display:grid;grid-template-columns:auto 150px;justify-content:center;align-items:start;margin:10px auto 18px;font-variant-numeric:tabular-nums;gap:0}.tradLeft{min-width:250px;padding-right:8px}.tradRight{border-left:5px solid var(--ink);min-height:110px}.tradDivisor{font-size:2.7rem;font-weight:900;text-align:center;padding:0 12px 8px;border-bottom:5px solid var(--ink)}.tradQuotient{display:flex;justify-content:flex-start;gap:5px;padding:10px 12px;min-height:65px}.tradDividend{display:flex;justify-content:flex-end;gap:5px;padding:0 8px 6px;font-size:2.8rem;font-weight:900}.tradCell{width:48px;height:52px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:900}.tradInput{width:48px;height:52px;border:2px solid #b8c2dd;border-radius:11px;text-align:center;font-size:1.9rem;font-weight:900;outline:none;background:#fff}.tradInput:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(245,158,11,.18)}.tradInput.right{border-color:var(--green);background:#eefbf7}.tradInput.wrong{border-color:var(--red);background:#fff1f3}.tradWork{display:grid;gap:2px;padding-right:8px}.tradWorkLine{display:flex;justify-content:flex-end;gap:5px;min-height:52px}.tradMinus{width:24px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:900}.tradOperatorSlot{width:34px;height:44px;border:2px dashed #b8c2dd;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:900;background:#fff}.tradOperatorSlot.ready{border-style:solid;border-color:var(--green);background:#eefbf7}.divisionOperatorChoices{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:16px auto 6px;max-width:680px}.divisionOperatorBtn{min-width:64px;min-height:56px;height:auto;border:2px solid #cbd3e8;border-radius:13px;background:#fff;font-size:1.8rem;font-weight:950;cursor:pointer;padding:10px 14px;line-height:1.15}.divisionActionChoices{display:grid!important;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px!important;max-width:620px!important;width:100%;margin:18px auto 8px!important}.divisionActionChoices .divisionActionBtn{width:100%!important;min-width:0!important;min-height:72px!important;height:auto!important;padding:14px 18px!important;font-size:clamp(1.25rem,2vw,1.55rem)!important;line-height:1.18!important;white-space:normal!important;text-align:center!important;overflow-wrap:anywhere}.divisionActionChoices .divisionActionBtn:nth-child(3),.divisionActionChoices .divisionActionBtn:nth-child(4){align-self:stretch}.divisionOperatorBtn:hover,.divisionOperatorBtn:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(82,104,255,.13)}.divisionOperatorBtn.wrong{border-color:var(--red);background:#fff1f3}.divisionOperatorBtn.right{border-color:var(--green);background:#eefbf7}.tradUnderline{border-bottom:3px solid #9aa4bb}.tradBring{color:var(--purple);font-weight:900;text-align:right;padding:3px 12px}.tradBringRow{display:flex;justify-content:flex-end;gap:5px;min-height:52px;align-items:center}.tradArrow{width:24px;display:flex;align-items:center;justify-content:center;color:var(--purple);font-size:1.6rem;font-weight:900}.tradGhost{opacity:.55}.tradBroughtDigit{color:#98a2b3}.divisionQuestion{display:block!important;font-size:1rem!important;min-height:0!important;white-space:normal!important}.activityCard:has(.divisionQuestion) #meaning{font-size:clamp(1.16rem,1.8vw,1.35rem)!important;line-height:1.4!important}.activityCard:has(.divisionQuestion) #feedback{font-size:clamp(1.18rem,1.9vw,1.38rem)!important;line-height:1.38!important}.divisionQuestion .tradDivision{width:max-content;max-width:100%;margin:8px auto 12px}.tradStepInfo{margin:16px auto 0;max-width:720px;background:#f8f9ff;border:1px solid var(--line);border-radius:16px;padding:15px 18px;font-weight:850;font-size:clamp(1.22rem,2vw,1.48rem)!important;line-height:1.4;text-align:center;color:var(--ink)}.tradHighlight{background:#fff4cf;border-radius:9px}@media(max-width:620px){.tradDivision{grid-template-columns:auto 115px}.tradLeft{min-width:190px}.tradCell,.tradInput{width:39px;height:44px;font-size:1.65rem}.tradDividend{font-size:2.2rem}.tradDivisor{font-size:2.1rem}.divisionActionChoices{grid-template-columns:1fr!important;max-width:360px!important}.divisionActionChoices .divisionActionBtn{min-height:60px!important;font-size:1.28rem!important}}

.orthoRouteIntro{background:#f8f9ff;border:1px solid var(--line);border-radius:18px;padding:15px;margin:12px 0 18px}.orthoRouteSteps{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.orthoRouteStep{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.86rem;font-weight:800}.orthoGroup{margin:20px 0 8px;padding:10px 12px;border-radius:14px;background:#eef1ff;font-weight:900;color:#3544a5}.orthoPhaseGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;margin-top:15px}.orthoPhaseBtn{text-align:left;min-height:96px}.orthoPhaseBtn small{display:block;margin-top:6px;line-height:1.35;font-weight:500}.orthoAdaptiveNote{background:#eefbf7;border:1px solid #bfe8db;border-radius:14px;padding:11px 13px;margin-top:12px;font-size:.92rem}.dictationSetup{margin-top:14px;padding:16px;background:#fffaf0;border:1px solid #f5d79a;border-radius:18px}.dictationSetup h4{margin:0 0 8px}.dictationSetup p{margin:0 0 12px;color:var(--muted)}.dictationAudioPrompt{font-size:1.05rem;color:var(--muted);font-weight:700}.dictationFailed{margin-top:12px;padding:12px;border-radius:14px;background:#fff4f4;color:#8b2635}.dictationProgress{font-weight:900;color:#5268ff}.maskedWord{letter-spacing:.08em}.audioRecorderCard{margin-top:14px;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfcff}.audioRecorderGrid{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.audioRecorderStatus{margin-top:12px;padding:11px 13px;border-radius:13px;background:#f3f5fb}.audioRecorderStatus.recording{background:#fff0f0;color:#9a2430}.audioRecorderProgress{font-weight:900}.recordingDot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#d22;margin-right:7px;animation:pulseRec 1s infinite}@keyframes pulseRec{50%{opacity:.3}}.audioWordPreview{font-size:1.45rem;font-weight:900;margin:12px 0}.audioAdminFilters{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.audioAdminFilters button.active{outline:3px solid rgba(82,104,255,.22)}@media(max-width:650px){.audioRecorderGrid{grid-template-columns:1fr}}
.carouselControlLabel{font-size:.78rem;font-weight:850;color:var(--muted);margin-right:3px}.carouselRepeats{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:8px}.carouselRepeats button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;font-weight:850;cursor:pointer}.carouselRepeats button.active{background:#eef1ff;border-color:#7b88d9;color:#26358f}.carouselRepeats.hidden{display:none}
/* v1.22.27 · reconeixement estable i comparació de caràcters en anglès */
.vocabRecognitionChoices{display:grid!important;grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px;max-width:900px;margin:20px auto 0}
.vocabRecognitionChoices .choice{font-size:clamp(1.45rem,2.5vw,2rem);font-weight:800;min-height:82px;padding:18px 22px;line-height:1.15;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}
.vocabRecognitionChoices .choice:disabled{opacity:1;cursor:default}
.vocabRecognitionChoices .choice.vocabCorrect{background:#d8f5df!important;border-color:#249447!important;color:#145c2a!important;box-shadow:0 0 0 4px rgba(36,148,71,.18)!important}
.vocabRecognitionChoices .choice.vocabWrong{background:#ffe0e0!important;border-color:#d43f3f!important;color:#8d1e1e!important;box-shadow:0 0 0 4px rgba(212,63,63,.16)!important}.choices .choice.vocabCorrect{background:#d8f5df!important;border-color:#249447!important;color:#145c2a!important;box-shadow:0 0 0 4px rgba(36,148,71,.18)!important}.choices .choice.vocabWrong{background:#ffe0e0!important;border-color:#d43f3f!important;color:#8d1e1e!important;box-shadow:0 0 0 4px rgba(212,63,63,.16)!important}
.vocabEnglishReview{max-width:860px;margin:18px auto;padding:22px;border-radius:20px;background:#fff;border:2px solid #dbe6f3;text-align:center}
.vocabEnglishReview.bad{border-color:#f0a7a7;background:#fff8f8}
.vocabEnglishReview.good{border-color:#8fd4a1;background:#f7fff9}
.vocabEnglishReviewTitle{font-size:1.25rem;font-weight:800;margin-bottom:14px}
.vocabEnglishReviewWords{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.vocabEnglishReviewLabel{font-size:.9rem;font-weight:700;color:#667085;margin-bottom:6px}
.vocabEnglishReviewWord{font-size:clamp(1.55rem,3.25vw,2.75rem);font-weight:900;letter-spacing:.015em;line-height:1.12;white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%;padding:0 4px}.vocabEnglishReviewSingle{max-width:760px;margin:0 auto;font-size:clamp(1.9rem,4vw,3.25rem);font-weight:900;line-height:1.12;overflow-wrap:anywhere}
.charWrong{text-decoration:line-through;text-decoration-thickness:4px;background:#ffd9d9;color:#a82020;border-radius:6px;padding:0 2px}
.charCorrect{background:#d7f7df;color:#12642c;border-radius:6px;padding:0 2px}
@media(max-width:760px){.vocabEnglishReviewWords{grid-template-columns:1fr}.vocabEnglishReviewWord{font-size:clamp(1.55rem,7vw,2.25rem)}}

.vocabRecognitionChoices .vocabCorrectPulse{animation:vocabCorrectPulse 1.15s ease both;position:relative;z-index:2}
@keyframes vocabCorrectPulse{0%{transform:scale(1)}35%{transform:scale(1.18)}70%{transform:scale(1.10)}100%{transform:scale(1.08)}}
.vocabReview{max-width:850px;margin:14px auto 0;padding:18px 20px;border-radius:18px;text-align:center}
.vocabReview.good{background:#eaf8ef;border:2px solid #55ad73}
.vocabReview.bad{background:#fff5f3;border:2px solid #df7770}
.vocabReviewTitle{font-size:clamp(1.35rem,2.3vw,1.85rem);font-weight:900;margin-bottom:10px}
.vocabReviewWord{font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:900;line-height:1.45}
.vocabReviewCompare{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 4px}
.vocabReviewWrong{text-decoration:line-through;text-decoration-thickness:3px;color:#a92f2f}
.vocabReviewCorrect{color:#16733b}
.charWrong{background:#ffd5d2;color:#9e1f1f;border-radius:5px;padding:0 2px;text-decoration:line-through;text-decoration-thickness:2px}
.charCorrect{background:#cef2d8;color:#126c35;border-radius:5px;padding:0 2px}
.vocabReview .btn{margin-top:12px}
@media(max-width:650px){.vocabRecognitionChoices{grid-template-columns:1fr;gap:12px}.vocabRecognitionChoices .choice{min-height:68px;font-size:1.4rem}}

.phoneticAdminCard{margin-top:16px}.phoneticAdminProgress{font-weight:900;margin:8px 0 12px}.phoneticAdminSource{font-size:1.45rem;font-weight:900;background:#f8f9ff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}.phoneticAdminProposal{font-size:1.2rem;width:100%;padding:13px;border:2px solid #cfd5e6;border-radius:14px}.phoneticAdminBadge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:900}.phoneticAdminBadge.ok{background:#e9fbf5;color:#087859}.phoneticAdminBadge.pending{background:#fff5dc;color:#8a5a00}.phoneticAdminList{display:grid;gap:10px}.phoneticUnvalidated{font-size:.95rem;color:var(--muted);font-style:italic;margin:10px 0}
.carouselAutoOptions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:10px}.carouselAutoOptions>div{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.carouselModeRow{display:flex;justify-content:center;gap:8px}.carouselControlLabel{min-width:170px;text-align:right;font-weight:850;color:var(--muted);font-size:.82rem}.carouselAutoOptions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;font-weight:800;cursor:pointer}.carouselAutoOptions button.active{background:#eafaf4;border-color:#69c5a6;color:#075f48}@media(max-width:620px){.carouselControlLabel{width:100%;min-width:0;text-align:center}.carouselAutoOptions>div{padding-top:5px;border-top:1px solid var(--line)}}
.builderChallengeCard{max-width:720px;margin:18px auto;padding:22px;border:2px solid #c7d2fe;border-radius:22px;background:linear-gradient(180deg,#f8f9ff,#fff);text-align:center}.builderChallengeCard h3{margin:0 0 10px;font-size:1.5rem}.builderChallengeExamples{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:18px 0}.builderChallengeExample{padding:14px;border-radius:15px;background:#fff;border:1px solid var(--line);font-size:1.18rem;font-weight:900}.builderChallengeArrow{font-size:1.5rem;color:var(--purple)}.builderChallengeActions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.builderAssistBadge{display:inline-flex;gap:7px;align-items:center;padding:7px 11px;border-radius:999px;background:#eef1ff;color:#3541a5;font-size:.82rem;font-weight:850;margin-bottom:10px}.builderCapitalBtn.active{background:#eafaf4;border-color:#90d5bd;color:#075f48}@media(max-width:620px){.builderChallengeExamples{grid-template-columns:1fr}.builderChallengeArrow{transform:rotate(90deg)}}

.builderActions .btn{width:auto!important;min-width:0!important;max-width:none!important;min-height:0!important;padding:11px 16px!important;font-size:1rem!important;line-height:1.15!important;flex:0 0 auto!important}
.builderChallengeMode .gamehead{display:none!important}
.questionbox.builderChallengeMode{padding:24px!important;min-height:560px;display:flex;align-items:center;justify-content:center}
.questionbox.builderChallengeMode #question{width:100%;min-height:0;font-size:1rem;display:block}
.builderChallengeFocus{width:100%;max-width:720px;margin:0 auto}
.builderChallengeFocus .builderChallengeCard{margin:0 auto;padding:30px 26px;background:linear-gradient(180deg,#f8f9ff,#fff);box-shadow:0 14px 38px rgba(47,55,90,.10)}
.builderChallengeFocus .builderChallengeCard h3{font-size:clamp(1.6rem,4vw,2.15rem)}
.builderChallengeFocus .builderChallengeCard p{font-size:1.08rem;line-height:1.5;color:var(--muted);max-width:620px;margin:0 auto}
.builderChallengeLabels{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end;margin-top:20px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.builderChallengeNewExample{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}
.builderDotTile{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#eef1ff;border:2px solid #8391e9;color:#27336f;font-size:2rem;font-weight:950;line-height:1}
.builderCapsExample .fromLower{color:#b42348;text-decoration:line-through;text-decoration-thickness:.12em}
.builderCapsExample .toUpper{color:#087859;background:#eafaf4;border-radius:8px;padding:1px 6px;margin-left:5px}
@media(max-width:620px){.questionbox.builderChallengeMode{min-height:470px;padding:14px!important}.builderChallengeFocus .builderChallengeCard{padding:23px 15px}.builderChallengeLabels{grid-template-columns:1fr}.builderChallengeLabels .builderChallengeArrow{transform:rotate(90deg)}}

.categoryHero{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;margin:4px 0 12px;box-shadow:0 8px 24px rgba(47,55,90,.06)}
.categoryHero h3{margin:0 0 5px;font-size:1.35rem}.categoryHero p{margin:0;color:var(--muted)}
.categorySection{margin:22px 0 8px;font-size:1.12rem;font-weight:900;color:#344054;display:flex;align-items:center;gap:8px}
.personalWordsSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0}
.personalWordsStat{background:#f8f9ff;border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center}.personalWordsStat b{font-size:1.35rem}
.personalWordList{display:grid;gap:10px;margin:14px 0}.personalWordRow{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 15px}.personalWordRow small{display:block;color:var(--muted);margin-top:3px}.personalWordState{font-size:.8rem;font-weight:900;border-radius:999px;padding:5px 9px;background:#fff4e5;color:#9a6700;white-space:nowrap}.personalWordState.almost{background:#eefbf7;color:#087859}.personalEmpty{padding:20px;text-align:center;background:#f8f9ff;border:1px dashed #b8c2dd;border-radius:18px;color:var(--muted)}
.personalBlockCard{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fbfffd,#f6fbff)}
.personalBlockActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.personalBlockActions .btn:disabled{background:#eef0f4!important;color:#9aa1ad!important;border-color:#dfe3ea!important;box-shadow:none!important;opacity:1;cursor:not-allowed;transform:none}.personalBlockEmpty{margin-top:14px;padding:18px;border:2px dashed #d7ddea;border-radius:17px;background:#fafbfe;text-align:center;color:var(--muted)}.personalBlockEmptyIcon{font-size:2rem;margin-bottom:7px}.personalBlockEmpty b{display:block;color:var(--ink);font-size:1.02rem;margin-bottom:5px}
.personalSentenceReview{display:grid;gap:12px;margin-top:14px}
.personalSentenceCard{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.personalSentenceCard label{display:block;font-weight:800;margin:8px 0 5px}
.personalSentenceCard textarea{width:100%;min-height:72px;resize:vertical;border:1px solid #cbd3e6;border-radius:12px;padding:10px;font:inherit}
.personalSentenceMeta{font-size:.84rem;color:var(--muted);margin-top:5px}
.personalSentenceStatus{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:900;background:#fff4e5;color:#8a5a00}
.personalSentenceStatus.approved{background:#e9f8ef;color:#167543}

.historyFailedWords{margin-top:6px;font-size:.82rem}.historyFailedWords summary{cursor:pointer;color:#4d5f91;font-weight:800}.historyFailedWords div{margin-top:6px;line-height:1.55;color:var(--muted);max-width:520px}

.catRuleCard{margin:14px auto 0;max-width:720px;padding:16px 18px;border-radius:18px;background:#fff8dc;border:2px solid #f3c94f;color:#4f3a00;text-align:left;box-shadow:0 7px 18px rgba(126,91,0,.08)}
.catRuleTitle{display:flex;align-items:center;gap:8px;font-weight:950;font-size:1.05rem;margin-bottom:7px;color:#6d4b00}
.catRuleText{font-size:1rem;line-height:1.45;font-weight:720}
.catRuleExample{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fffdf3;text-align:center;font-size:clamp(1.35rem,4vw,2rem);font-weight:900;color:#27324a}
.catRuleWrong{color:#c92b4b;text-decoration:line-through;text-decoration-thickness:.12em}
.catRuleRight{color:#087a57;background:#d9f7e8;border-radius:.25em;padding:.02em .12em}
.mathChapterHeading{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.chapterState{font-size:.76rem;font-weight:800;border-radius:999px;padding:6px 10px;white-space:nowrap}.chapterState.visible{background:#dcfce7;color:#166534}.chapterState.hidden{background:#f1f5f9;color:#475569}.chapterState.development{background:#fef3c7;color:#92400e}.privateChapter{border:2px dashed #cbd5e1;background:#f8fafc}.privateRoadmap{margin-top:8px;padding:10px 12px;border-radius:12px;background:#fff;color:#64748b;font-size:.9rem}
.activityPrereqGuide{margin:14px 0 18px;padding:14px 16px;border-radius:18px;background:#f8faff;border:2px solid #dbe4ff}
.activityPrereqGuideHead{font-weight:950;margin-bottom:8px;color:#3448a5}
.activityPrereqGuideText{font-size:.9rem;color:#5b6475;margin-bottom:10px}
.activityPrereqLinks{display:grid;gap:8px}.activityPrereqLink{text-align:left;width:100%}
.activityPrereqLink{border:1px solid #cbd7ff;background:#fff;color:#3448a5;border-radius:999px;padding:8px 11px;font-weight:900;cursor:pointer}
.activityPrereqLink.done{background:#eef9f0;border-color:#b9dfc3;color:#176b37}
.activityPrereqLink:hover{transform:translateY(-1px)}
.activityPrereqCurrent{margin-top:9px;font-size:.82rem;color:#667085}
.mathVisibilityGrid{display:grid;gap:10px;margin-top:12px}.mathVisibilityRow{display:grid;grid-template-columns:minmax(210px,1fr) minmax(190px,260px);gap:12px;align-items:center;padding:10px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.mathVisibilityRow select{width:100%}@media(max-width:700px){.mathChapterHeading,.mathVisibilityRow{display:block}.chapterState{display:inline-block;margin-top:8px}.mathVisibilityRow select{margin-top:8px}}.inlineRecorderBox{margin-top:14px;padding:16px;border:1px solid #dbe4ff;border-radius:18px;background:#f8faff}.inlineRecorderHead{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.fractionStage{display:grid;gap:18px}.fractionVisual{display:flex;justify-content:center;align-items:center;min-height:260px}.fractionText{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:max-content;font-size:2rem;font-weight:900;line-height:1;color:#172033}.fractionTop,.fractionBottom{display:block;padding:2px 10px;white-space:nowrap;line-height:1.05}.fractionBar{align-self:stretch;min-width:74px;height:5px;background:#172033;border-radius:999px}.adminExerciseOverlay{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:9999;padding:24px;overflow:auto}.adminExerciseWindow{max-width:1180px;margin:0 auto;background:#f8faff;border-radius:28px;padding:24px;box-shadow:0 24px 80px rgba(15,23,42,.3)}.adminExerciseHeader{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;background:#f8faff;padding:6px 0 16px;z-index:2}.adminExerciseSection{margin-top:22px}.adminExerciseGrid{display:grid;gap:12px}.adminExerciseRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.adminExerciseRow .unit{margin:0;cursor:default}.adminExerciseRow .btn{white-space:nowrap}@media(max-width:680px){.adminExerciseOverlay{padding:8px}.adminExerciseWindow{padding:14px;border-radius:20px}.adminExerciseRow{grid-template-columns:1fr}.adminExerciseRow .btn{width:100%}}.contentInspectorToolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(170px,.35fr)) auto;gap:10px;align-items:end;margin:12px 0 18px}.contentInspectorToolbar label{display:grid;gap:6px;font-weight:850}.contentInspectorSummary{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.contentInspectorBadge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.82rem;font-weight:900}.contentInspectorList{display:grid;gap:14px}.contentInspectorItem{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:0 7px 20px rgba(15,23,42,.05)}.contentInspectorMeta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}.contentInspectorQuestion{font-size:1.2rem;font-weight:900;line-height:1.35;margin:7px 0 11px}.contentInspectorOptions{display:grid;gap:7px;margin:0 0 10px;padding:0;list-style:none}.contentInspectorOptions li{padding:9px 11px;border-radius:12px;background:#f5f7ff;border:1px solid #e3e8ff}.contentInspectorOptions li.correct{background:#e8f8ee;border-color:#9bd5ae;color:#14532d;font-weight:900}.contentInspectorWhy{padding:10px 12px;border-radius:13px;background:#fff8e7;border:1px solid #f1d693;line-height:1.45}.contentInspectorActions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.contentInspectorEmpty{padding:32px;text-align:center;border:2px dashed #dbe2f4;border-radius:18px;color:#64748b}@media(max-width:760px){.contentInspectorToolbar{grid-template-columns:1fr}.contentInspectorActions{justify-content:stretch}.contentInspectorActions .btn{flex:1}}.exerciseTreeToolbar{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin:10px 0 16px}.exerciseTreeToolbar .btn{padding:9px 13px;font-size:.9rem}.exerciseTree{display:grid;gap:12px}.exerciseTreeBranch{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 7px 20px rgba(15,23,42,.05)}.exerciseTreeBranch>summary{list-style:none;cursor:pointer;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:900}.exerciseTreeBranch>summary::-webkit-details-marker{display:none}.exerciseTreeBranch>summary:after{content:'＋';width:31px;height:31px;border-radius:50%;background:#eef2ff;color:#3730a3;display:grid;place-items:center;font-size:1.2rem;flex:0 0 auto}.exerciseTreeBranch[open]>summary:after{content:'−'}.exerciseTreeSummaryMain{min-width:0}.exerciseTreeSummaryTitle{display:block;font-size:1.16rem;line-height:1.25}.exerciseTreeSummaryDesc{display:block;margin-top:4px;color:#64748b;font-size:.88rem;font-weight:700;line-height:1.4}.exerciseTreeCount{display:inline-flex;margin-top:7px;padding:4px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.76rem;font-weight:900}.exerciseTreeBody{padding:0 16px 16px;display:grid;gap:11px;border-top:1px solid #eef2f7}.exerciseTreeBody>.unit:first-child{margin-top:14px}.exerciseTreeSubheading{font-size:.9rem;font-weight:950;color:#475569;text-transform:uppercase;letter-spacing:.04em;margin:15px 2px 2px}.exerciseTreeEmpty{padding:18px;color:#64748b}.exerciseTreeBranch.privateChapter>summary{background:#faf5ff}@media(max-width:680px){.exerciseTreeToolbar{justify-content:stretch}.exerciseTreeToolbar .btn{flex:1}.exerciseTreeBranch>summary{padding:15px}.exerciseTreeSummaryTitle{font-size:1.05rem}.exerciseTreeBody{padding:0 10px 12px}}.fractionCircle{width:230px;height:230px;border-radius:50%;border:5px solid #172033;position:relative;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(30,41,59,.12)}.fractionCircle.four{background:conic-gradient(#8b5cf6 0deg var(--fill),#fff var(--fill) 360deg)}.fractionCircle.half{background:linear-gradient(to right,#fff 0 50%,#8b5cf6 50% 100%)}.fractionCircle:before,.fractionCircle:after{content:"";position:absolute;background:#172033;z-index:2}.fractionCircle.whole:before,.fractionCircle.whole:after{display:none}.fractionCircle.half:before{display:none}.fractionEquivalentPair{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);gap:22px;align-items:center;justify-items:center}.fractionEquivalentArrow{font-size:3rem;font-weight:950;align-self:center;justify-self:center}@media(max-width:700px){.fractionEquivalentPair{grid-template-columns:1fr}.fractionEquivalentArrow{transform:rotate(90deg)}}.fractionCircle:before{width:100%;height:4px;left:0;top:calc(50% - 2px)}.fractionCircle:after{height:100%;width:4px;top:0;left:calc(50% - 2px)}.fractionLabel{font-size:3.2rem;font-weight:900;text-align:center}.fractionLabel .bar{display:block;height:5px;background:#172033;border-radius:4px;margin:3px auto;width:66px}.fractionDemoGrid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.75fr);gap:24px;align-items:center}.fractionParts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:620px;margin:18px auto}.fractionPart{min-height:96px;border:3px solid #c7d2fe;border-radius:18px;background:#fff;font-size:1.8rem;font-weight:900;cursor:pointer}.fractionPart.on{background:#8b5cf6;color:#fff;border-color:#6d28d9}.fractionChoice{padding:18px 24px;border:3px solid #dbe4ff;border-radius:18px;background:#fff;font-size:1.55rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:120px;min-height:74px}.fractionChoice.wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b}.fractionChoice.correct{background:#dcfce7;border-color:#22c55e;color:#166534}.fractionBig{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:220px}.fractionRole{display:flex;flex-direction:column;align-items:center;border:4px solid transparent;border-radius:22px;padding:10px 28px;transition:.2s}.fractionRole small{font-size:1rem;font-weight:800;color:#64748b}.fractionBigNumber{font-size:4.2rem;font-weight:950;line-height:1}.fractionBigBar{height:6px;width:115px;background:#172033;border-radius:6px;margin:6px 0}.fractionFocus{background:#fef3c7;border-color:#f59e0b;box-shadow:0 8px 24px rgba(245,158,11,.18)}.mixedInline{display:inline-flex;align-items:center;gap:10px;line-height:1}.mixedInlineWhole{font-size:1.2em;font-weight:950;line-height:1}.mixedInlineFraction{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.mixedInlineFractionTop,.mixedInlineFractionBottom{display:block;line-height:1}.mixedInlineFractionBar{display:block;height:4px;width:1.15em;min-width:20px;background:currentColor;border-radius:999px;margin:4px 0}.fractionChoice .mixedInline{gap:8px}.fractionChoice .mixedInlineWhole{font-size:1.15em}.fractionChoice .mixedInlineFractionBar{height:3px;width:1.05em;min-width:18px;margin:3px 0}#fractionAboveReveal .mixedInline,#fractionConvertReveal .mixedInline{font-size:2.6rem}@media(max-width:760px){.fractionDemoGrid{grid-template-columns:1fr}.fractionCircle{width:190px;height:190px}.fractionParts{grid-template-columns:repeat(2,1fr)}}

.demoLaunchCard{margin:16px 0;padding:18px;border:2px solid #cdd6ff;border-radius:20px;background:linear-gradient(135deg,#f7f8ff,#eef2ff)}
.demoLaunchCard b{font-size:1.08rem}.demoLesson{max-width:720px;margin:6px auto}.demoTop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.demoProgress{font-weight:900;color:#4154c9;background:#eef1ff;border-radius:999px;padding:7px 11px}.demoMessage{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;margin:12px 0 16px;box-shadow:0 8px 24px rgba(47,55,90,.08);text-align:left}.demoMessageTitle{font-size:1.18rem;font-weight:900;margin-bottom:7px}.demoReason{color:var(--muted);line-height:1.55}.demoRemember{margin-top:12px;padding:11px 13px;border-radius:14px;background:#fff7d6;border:1px solid #efd77f;color:#684d00;font-weight:800}.demoBoard{padding:18px 10px;background:#fff;border:1px solid var(--line);border-radius:22px}.demoCell{border-radius:12px;transition:.2s}.demoActive{background:#fff0c7;box-shadow:0 0 0 3px rgba(245,158,11,.26)}.demoWritten{background:#eefbf7;border:2px solid var(--green);border-radius:.72rem}.demoCarryWritten{background:#fff8dc;border:2px dashed #d8a900;border-radius:.65rem;color:#7a5a00}.demoGhost{color:#bcc3d3}.demoActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.demoActions .btn:disabled{opacity:.42;cursor:not-allowed}.demoEquation{font-weight:900;color:#3343b5;margin-top:8px}.demoDone{color:#087859}.demoPulse{animation:demoPulse .55s ease}@keyframes demoPulse{0%{transform:scale(.82);opacity:.3}100%{transform:scale(1);opacity:1}}

.earlyHome{max-width:920px;margin:0 auto}.earlyWelcome{padding:28px;border-radius:30px;background:linear-gradient(135deg,#fff7d6,#eef8ff,#f7efff);border:2px solid #e5ddff;text-align:center;margin:20px 0}.earlyWelcome h2{font-size:clamp(2rem,6vw,3.5rem);margin:0 0 8px}.earlyWelcome p{font-size:1.15rem;margin:0;color:#526070}.earlyChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.earlyChoice{min-height:170px;border:2px solid #dde4f5;background:#fff;border-radius:26px;padding:22px;text-align:left;cursor:pointer;box-shadow:0 10px 28px rgba(47,55,90,.08);transition:.18s}.earlyChoice:hover{transform:translateY(-3px);border-color:#8b5cf6}.earlyChoiceIcon{font-size:3.2rem}.earlyChoice h3{font-size:1.45rem;margin:8px 0 5px}.earlyChoice p{margin:0;color:var(--muted);line-height:1.4}.earlyAudioInstruction{display:inline-flex;align-items:center;gap:8px;margin-top:14px}.clearSetupTitle{text-align:center;margin:4px 0 8px}.clearSetupLead{text-align:center;color:var(--muted);margin:0 0 18px}.clearTableGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:14px 0 22px}.clearTableBtn{min-height:76px;border:2px solid #dce3f5;border-radius:18px;background:#fff;font-size:1.12rem;font-weight:900;cursor:pointer}.clearTableBtn.on{background:#eef1ff;border-color:#5268ff;color:#3343b5}.clearModeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clearModeBtn{border:2px solid #dce3f5;border-radius:20px;background:#fff;padding:18px;text-align:left;cursor:pointer}.clearModeBtn.recommended{border-color:#8b5cf6;background:#f8f5ff}.clearModeBtn b{display:block;font-size:1.15rem;margin-bottom:6px}.clearModeBtn span{display:block;color:var(--muted);line-height:1.35}.recommendedBadge{display:inline-block;font-size:.76rem;background:#8b5cf6;color:white;border-radius:999px;padding:4px 8px;margin-bottom:8px}@media(max-width:620px){.earlyChoices,.clearModeGrid{grid-template-columns:1fr}.earlyChoice{min-height:135px}.earlyWelcome{padding:22px 16px}}
.entryShell{max-width:1180px;margin:0 auto;padding:28px 18px 48px}.entryTop{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.entryBrand h1{margin:0;font-size:clamp(1.8rem,5vw,3rem)}.entryBrand p{margin:6px 0 0;color:var(--muted)}.entryHero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;align-items:stretch}.entryHeroMain{padding:34px;border-radius:30px;background:linear-gradient(135deg,#eef2ff,#fff,#f4edff);border:1px solid #dce3ff;box-shadow:0 18px 50px rgba(55,65,125,.11)}.entryEyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:#fff;color:#4655c6;font-weight:900;font-size:.82rem}.entryHero h2{font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.02;margin:18px 0 14px}.entryLead{font-size:1.14rem;line-height:1.6;color:#4b5567;max-width:720px}.entryMotivation{margin:14px 0 0;color:#3346c3;font-weight:800;font-size:1.05rem}.entryActions{display:flex;gap:11px;margin-top:24px}.entryQuickLinks{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.entryQuickLink{border:0;background:transparent;padding:0;color:#4655c6;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}.entryQuickLink:hover{text-decoration:underline}.entrySubjects{display:grid;gap:14px}.entrySubjectCard{padding:22px;text-align:left;cursor:pointer;font:inherit;color:inherit;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(47,55,90,.06);display:flex;flex-direction:column;gap:8px;min-height:0}.entrySubjectCard:hover{transform:translateY(-2px);border-color:#bfc9ff;box-shadow:0 14px 34px rgba(47,55,90,.10)}.entrySubjectCard .entrySubjectIcon{font-size:1.8rem}.entrySubjectCard h3{margin:0;font-size:1.55rem}.entrySubjectCard p{margin:0;color:var(--muted);line-height:1.45}.entrySubjectTag{display:inline-flex;align-self:flex-start;margin-top:auto;padding:6px 10px;border-radius:999px;background:#f2f5ff;color:#4252c9;font-weight:800;font-size:.85rem}.entryAudience{margin-top:26px}.entryAudienceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.entryAudienceCard{padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line)}.entryAudienceIcon{font-size:2rem}.entryAudienceCard h3{margin:10px 0 6px}.entryAudienceCard p{color:var(--muted);line-height:1.45}.accessSetupGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.accessTypeCard{border:2px solid #e1e6f5;background:#fff;border-radius:22px;padding:20px;text-align:left;cursor:pointer;transition:.18s}.accessTypeCard:hover,.accessTypeCard.active{border-color:var(--purple);transform:translateY(-2px);box-shadow:0 10px 28px rgba(109,40,217,.10)}.accessTypeCard .icon{font-size:2rem}.accessTypeCard h3{margin:10px 0 6px}.accessDetail{margin-top:18px;padding:20px;border-radius:22px;background:#f8f9ff;border:1px solid var(--line)}.accessModeOptions{display:grid;gap:10px;margin:14px 0}.accessModeRow{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid #dce2f1;border-radius:15px;background:#fff}.accessModeRow input{margin-top:4px}.entryNote{margin-top:14px;color:var(--muted);font-size:.9rem;line-height:1.45}.spaceWhy{margin:18px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.spaceWhyCard{padding:18px;border:1px solid #dce3ff;border-radius:20px;background:#fff}.spaceWhyCard h3{margin:0 0 8px;font-size:1.08rem}.spaceWhyCard p{margin:0;color:var(--muted);line-height:1.5}.spaceWhySteps{margin:10px 0 0;padding-left:20px;color:#344054;line-height:1.55}.spaceWhyBanner{margin:15px 0;padding:14px 16px;border-radius:16px;background:#eef2ff;color:#3546b5;font-weight:900}.spacePrivacy{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:13px 15px;border-radius:16px;background:#f8fafc;border:1px solid var(--line);color:#475467;line-height:1.45}@media(max-width:700px){.spaceWhy{grid-template-columns:1fr}}.profileContext{margin:0 0 14px;padding:12px 14px;border-radius:15px;background:#f5f7ff;border:1px solid #dce3ff;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.profileContext b{color:#3546b5}.spaceSessionChip{display:none;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#eef8f1;border:1px solid #bfe3c9;color:#24613a;font-weight:900;white-space:nowrap}.spaceSessionChip.visible{display:inline-flex}.spaceSessionChip small{font-weight:700;color:#477356}.accountMenuWrap{position:relative}.accountMenu{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:min(310px,88vw);padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 48px rgba(30,41,59,.18)}.accountMenu.hidden{display:none}.accountMenuHead{padding:10px 11px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.accountMenuHead b,.accountMenuHead small{display:block}.accountMenuHead small{color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.accountMenu button,.accountMenu a{display:flex;width:100%;align-items:center;gap:9px;padding:10px 11px;border:0;background:transparent;border-radius:11px;color:var(--ink);font:inherit;font-weight:800;text-decoration:none;cursor:pointer;text-align:left}.accountMenu button:hover,.accountMenu a:hover{background:#f3f5ff}.accountMenu .danger{color:#a61b1b}.accountMenuSep{height:1px;background:var(--line);margin:6px 4px}.accountSwitchOverlay{position:fixed;inset:0;z-index:9999;background:rgba(22,29,47,.52);display:flex;align-items:center;justify-content:center;padding:18px}.accountSwitchDialog{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 80px rgba(20,30,55,.26);padding:26px}.accountSwitchDialog h2{margin:0 0 10px;font-size:1.65rem}.accountSwitchDialog p{color:var(--muted);line-height:1.55}.accountSwitchActions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}@media(max-width:560px){.accountSwitchActions .btn{width:100%}}@media(max-width:850px){.entryHero{grid-template-columns:1fr}.entryAudienceGrid,.accessSetupGrid{grid-template-columns:1fr}}@media(max-width:560px){.entryShell{padding:18px 12px 36px}.entryHeroMain{padding:24px 18px}.entryTop{align-items:flex-start}.entryActions .btn{width:100%}.entryQuickLinks{flex-direction:column;gap:10px}}

.managementHub{max-width:980px;margin:0 auto;display:grid;gap:18px}.managementHero{padding:24px;border-radius:26px;background:linear-gradient(135deg,#eef2ff,#fff,#f7efff);border:1px solid #dce3ff}.managementHero h2{margin:12px 0 6px;font-size:clamp(1.8rem,5vw,2.8rem)}.managementGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.managementCard{padding:22px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(47,55,90,.06);display:flex;flex-direction:column;gap:10px}.managementCard h3{margin:0;font-size:1.28rem}.managementCard p{margin:0;color:var(--muted);line-height:1.48}.managementCard .btn{margin-top:auto}.managementSection{padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line)}.managementActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.managementAction{padding:16px;border:1px solid #dfe5f3;border-radius:17px;background:#f8f9ff;text-align:left;cursor:pointer;font:inherit;color:inherit}.managementAction b{display:block;margin-bottom:4px;font-size:1.03rem}.managementAction span{color:var(--muted);line-height:1.4}.managementRole{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3f50bf;font-weight:900;font-size:.82rem}@media(max-width:760px){.managementGrid{grid-template-columns:1fr}.managementActions{grid-template-columns:1fr}}
.guidedRouteCard{margin:18px 0 24px;padding:24px;border-radius:26px;background:linear-gradient(135deg,#eef2ff,#fff8df);border:2px solid #cfd7ff;box-shadow:0 12px 34px rgba(47,55,90,.09)}.guidedRouteCard h2{font-size:clamp(1.8rem,5vw,3rem);margin:8px 0}.guidedRouteStep{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:#fff;border:1px solid #dfe5f5;margin-top:12px}.guidedRouteStep.done{opacity:.62;background:#f3faf5}.guidedRouteNumber{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#5268ff;color:#fff;font-weight:900;flex:0 0 auto}.guidedRouteStep.done .guidedRouteNumber{background:#25a56a}.guidedRouteLocked{opacity:1;pointer-events:auto}.guidedConfigGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.guidedModeChoice{border:2px solid #dfe5f3;border-radius:18px;padding:16px;background:#fff;cursor:pointer;text-align:left}.guidedModeChoice.on{border-color:#5268ff;background:#eef1ff}.guidedModeChoice b{display:block;font-size:1.08rem;margin-bottom:5px}@media(max-width:700px){.guidedConfigGrid{grid-template-columns:1fr}}
.myProgressShell{display:grid;gap:22px}.weeklyReportCard{margin-top:18px;padding:20px;border-radius:22px;background:#fff;border:1px solid #dfe5f3;box-shadow:0 8px 24px rgba(47,55,90,.06)}.weeklyReportGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.weeklyReportBlock{padding:15px;border-radius:17px;background:#f8f9ff;border:1px solid #e5e9f4}.weeklyReportBlock h4{margin:0 0 8px}.weeklyReportList{display:grid;gap:10px}.weeklyReportItem{padding:12px;border-radius:14px;background:#fff;border:1px solid #e3e7f1}.weeklyReportItem b{display:block;margin-bottom:4px}.weeklyReportLoading{text-align:center;padding:26px}.weeklyReportActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.weeklyStudentMessage{margin-top:16px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#eefbf5,#f7fbff);border:1px solid #bfe8d4}.weeklyStudentMessage h4{margin:0 0 8px}.weeklyStudentMessage p{font-size:1.05rem;line-height:1.5;margin:0 0 10px}.weeklyStudentAction{font-weight:900;color:#176b4c;margin-top:8px}@media(max-width:700px){.weeklyReportGrid{grid-template-columns:1fr}}.progressHero{padding:24px;border-radius:26px;background:linear-gradient(135deg,#eef2ff,#fff,#f4edff);border:1px solid #dce3ff}.progressHeroTop{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.progressSummaryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.progressSummaryCard{padding:17px;border-radius:19px;background:#fff;border:1px solid var(--line)}.progressSummaryCard b{display:block;color:var(--muted);font-size:.9rem}.progressSummaryValue{font-size:2rem;font-weight:950;margin-top:5px}.subjectProgressGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.subjectProgressCard{padding:20px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(47,55,90,.06)}.subjectProgressCard h3{margin:0 0 12px}.subjectProgressStats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px}.subjectProgressStat{padding:11px;border-radius:14px;background:#f7f8ff}.subjectProgressStat b{display:block;font-size:1.2rem}.skillProgressList{display:grid;gap:10px}.skillProgressRow{border:1px solid #e1e6f2;border-radius:17px;background:#fff;overflow:hidden}.skillProgressButton{width:100%;border:0;background:#fff;padding:14px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;cursor:pointer;font:inherit}.skillProgressButton:hover{background:#fafbff}.skillProgressTitle{font-weight:900}.skillProgressMeta{font-size:.86rem;color:var(--muted);margin-top:4px}.skillProgressPct{font-size:1.2rem;font-weight:950}.skillProgressDetail{display:none;padding:0 15px 15px}.skillProgressRow.open .skillProgressDetail{display:block}.skillProgressBar{height:9px;border-radius:999px;background:#edf0f7;overflow:hidden;margin:9px 0}.skillProgressBar span{display:block;height:100%;background:linear-gradient(90deg,#5268ff,#8b5cf6);border-radius:999px}.sessionBars{height:94px;display:flex;align-items:flex-end;gap:7px;padding:12px 5px 4px}.sessionBar{flex:1;min-width:11px;max-width:36px;background:#dfe5ff;border-radius:8px 8px 3px 3px;position:relative}.sessionBar.good{background:#bcebd3}.sessionBar span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:.69rem;font-weight:800;margin-bottom:3px}.progressEmpty{padding:18px;border-radius:18px;background:#f8f9ff;color:var(--muted)}.skillEvolutionBtn{margin-top:13px}.evolutionShell{display:grid;gap:20px}.evolutionHeader{padding:24px;border-radius:25px;background:linear-gradient(135deg,#eef2ff,#fff,#f4edff);border:1px solid #dce3ff}.evolutionHeaderTop{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.evolutionSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.evolutionSummaryCard{padding:15px;border-radius:17px;background:#fff;border:1px solid var(--line)}.evolutionSummaryCard b{display:block;color:var(--muted);font-size:.86rem}.evolutionSummaryValue{font-size:1.65rem;font-weight:950;margin-top:5px}.evolutionChartCard{padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(47,55,90,.06)}.evolutionChartCard h3{margin:0 0 4px}.evolutionChartHelp{color:var(--muted);font-size:.9rem;margin-bottom:12px}.evolutionSvg{width:100%;height:auto;min-height:250px;display:block}.evolutionFilters{display:flex;gap:8px;flex-wrap:wrap}.evolutionFilters .active{background:#5268ff;color:#fff;border-color:#5268ff}.evolutionTable{width:100%;border-collapse:collapse;margin-top:8px}.evolutionTable th,.evolutionTable td{padding:10px 8px;border-bottom:1px solid #edf0f7;text-align:left;font-size:.9rem}.evolutionTable th{color:var(--muted)}.maturityBadge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:900;white-space:nowrap}.maturity-0{background:#eef2ff;color:#4655c6}.maturity-1{background:#e0f2fe;color:#075985}.maturity-2{background:#fef3c7;color:#92400e}.maturity-3{background:#dcfce7;color:#166534}.maturity-4{background:#ede9fe;color:#6d28d9}.maturityTrack{display:flex;gap:4px;margin-top:9px}.maturityTrack span{height:7px;flex:1;border-radius:999px;background:#e5e7eb}.maturityTrack span.on{background:linear-gradient(90deg,#5268ff,#8b5cf6)}.maturityExplain{margin-top:7px;font-size:.78rem;color:var(--muted);line-height:1.35}.newContentBadge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:4px 8px;border-radius:999px;background:#e8f7ec;border:1px solid #a7ddb5;color:#176b37;font-size:.72rem;font-weight:950;vertical-align:middle;white-space:nowrap}.newContentNote{margin-top:7px;font-size:.82rem;font-weight:850;color:#176b37}
.unitMaturity{margin-top:10px}.subjectActivityMaturity{margin:10px 0 12px;padding:10px 12px;border-radius:14px;background:#f8f9ff;border:1px solid #e6e9f4}@media(max-width:900px){.progressSummaryGrid,.subjectProgressGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.progressSummaryGrid,.subjectProgressGrid{grid-template-columns:1fr}.skillProgressButton{grid-template-columns:1fr}.skillProgressPct{justify-self:start}}

.earlyReadingShell{max-width:900px;margin:0 auto}.earlyLibrary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:18px}.earlyBook{border:3px solid #dbe4ff;border-radius:24px;background:#fff;padding:18px;text-align:center;cursor:pointer;box-shadow:0 8px 20px rgba(30,41,59,.08);transition:.18s}.earlyBook:hover{transform:translateY(-2px);border-color:#8b5cf6}.earlyBook.done{background:#ecfdf5;border-color:#22c55e}.earlyBookIcon{font-size:3.5rem}.earlyBook h3{margin:8px 0 4px}.earlyBook small{color:#64748b;font-weight:800}.earlyReadingCard{max-width:820px;margin:0 auto;text-align:center}.earlyEnglishCard{width:min(1180px,100%);max-width:none;margin:0 auto;text-align:center;padding:34px 38px}.earlyEnglishCard h2{font-size:clamp(2rem,3vw,3rem);margin:18px 0 24px}.earlyEnglishCard .demoStepPill{font-size:1.25rem}.earlyEnglishCard .earlyEnglishPicture{font-size:clamp(7rem,12vw,11rem);line-height:1;margin:22px 0}.earlyEnglishCard .earlyEnglishOptions{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:22px;margin-top:28px}.earlyEnglishCard .earlyEnglishChoice{width:100%;min-width:0!important;min-height:150px!important;border-radius:24px}.earlyEnglishCard .earlyEnglishChoice .earlyEnglishWord{font-size:clamp(2rem,3vw,2.8rem)!important}.earlyEnglishCard .earlyEnglishChoice .earlyEnglishIcon{font-size:clamp(4rem,7vw,6rem)!important}@media(max-width:850px){.earlyEnglishCard{padding:24px 20px}.earlyEnglishCard .earlyEnglishOptions{grid-template-columns:1fr}.earlyEnglishCard .earlyEnglishChoice{min-height:105px!important}}.earlyStoryIllustration{font-size:5.5rem;margin:8px 0}.earlyStoryText{font-size:2rem;line-height:1.55;font-weight:850;background:#f8fafc;border:3px solid #dbe4ff;border-radius:24px;padding:24px;margin:18px auto;max-width:720px}.earlyStoryText .karaokeToken{display:inline-block;padding:2px 4px;border-radius:8px}.earlyReadingOptions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}.earlyReadingOption{border:3px solid #dbe4ff;border-radius:18px;background:#fff;padding:16px 22px;font-size:1.35rem;font-weight:900;cursor:pointer;min-width:150px}.earlyReadingOption.correct{background:#dcfce7;border-color:#22c55e;color:#166534}.earlyReadingOption.wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b}.earlyReadingProgress{display:flex;justify-content:center;gap:8px;margin:12px 0}.earlyReadingDot{width:14px;height:14px;border-radius:50%;background:#dbe4ff}.earlyReadingDot.on{background:#8b5cf6}.earlyWordCloud{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:22px 0}.earlyWordChip{font-size:1.5rem;font-weight:900;padding:16px 22px;border:3px solid #dbe4ff;border-radius:18px;background:#fff;cursor:pointer}.earlyWordChip.correct{background:#dcfce7;border-color:#22c55e;color:#166534}.earlyWordChip.wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b}.earlyReadingCelebration{font-size:4rem;margin-bottom:8px}.earlyMultiplyShell{max-width:860px;margin:0 auto}.earlyMultiplyCard{text-align:center}.earlyGroups{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:24px 0}.earlyGroup{display:flex;gap:8px;padding:16px 18px;border:3px solid #dbe4ff;border-radius:22px;background:#f8fafc;min-width:100px;justify-content:center}.earlyObject{font-size:2.4rem}.earlyMathSentence{font-size:clamp(2rem,6vw,3.4rem);font-weight:950;margin:20px 0}.earlyMultiplyOptions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0}.earlyMultiplyOption{min-width:120px;padding:16px 22px;border:3px solid #dbe4ff;border-radius:18px;background:#fff;font-size:1.45rem;font-weight:950;cursor:pointer}.earlyMultiplyOption.correct{background:#dcfce7;border-color:#22c55e;color:#166534}.earlyMultiplyOption.wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b}.earlyMultiplyPathGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:22px 0}.earlyMultiplyPath{border:3px solid #dbe4ff;border-radius:24px;background:#fff;padding:22px;text-align:left;cursor:pointer;box-shadow:0 8px 20px rgba(30,41,59,.08)}.earlyMultiplyPath:hover{border-color:#8b5cf6;transform:translateY(-2px)}.earlyMultiplyPath .pathNumber{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;background:#ede9fe;color:#6d28d9;font-weight:950;margin-bottom:10px}.earlyRelationPrompt{font-size:1.25rem;font-weight:850;margin:12px 0}.earlyRelationOption{min-width:190px;padding:16px 20px;border:3px solid #dbe4ff;border-radius:18px;background:#fff;font-size:1.25rem;font-weight:900;cursor:pointer}.earlyRelationOption.correct{background:#dcfce7;border-color:#22c55e;color:#166534}.earlyRelationOption.wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b}.earlyStepNote{font-size:1.15rem;color:#526070;max-width:650px;margin:0 auto 14px;line-height:1.5}

.progressSubjectChooser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.progressSubjectChoice{border:2px solid #e1e6f5;border-radius:24px;background:#fff;padding:28px;text-align:left;cursor:pointer;transition:.18s;box-shadow:0 10px 26px rgba(31,43,81,.06)}.progressSubjectChoice:hover{transform:translateY(-2px);border-color:#8190ff}.progressSubjectChoiceIcon{font-size:2.6rem}.progressSubjectChoice h3{font-size:1.45rem;margin:10px 0 7px}.progressSubjectChoiceStats{display:flex;gap:16px;flex-wrap:wrap;color:#647089;font-weight:750}.subjectProgressWide{width:100%;display:grid;gap:22px}.subjectProgressWideHeader{background:#fff;border:2px solid #e1e6f5;border-radius:26px;padding:26px}.subjectWideSummary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:20px}.subjectWideMetric{background:#f7f8fe;border:1px solid #e4e8f5;border-radius:18px;padding:16px}.subjectWideMetric b{display:block;font-size:1.7rem;margin-top:5px}.combinedChartCard{background:#fff;border:2px solid #e1e6f5;border-radius:26px;padding:24px;overflow:hidden}.combinedLegend{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 16px;font-weight:800}.legendDot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px}.subjectActivityGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.subjectActivityCard{background:#fff;border:2px solid #e1e6f5;border-radius:22px;padding:20px}.subjectActivityTop{display:flex;justify-content:space-between;gap:16px}.subjectActivityMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.subjectActivityMetric{background:#f7f8fe;border-radius:14px;padding:10px}.subjectActivityMetric b{display:block;font-size:1.15rem}.combinedSvg{width:100%;height:auto;display:block}@media(max-width:900px){.progressSubjectChooser{grid-template-columns:1fr}.subjectWideSummary{grid-template-columns:repeat(2,1fr)}.subjectActivityGrid{grid-template-columns:1fr}}@media(max-width:560px){.subjectWideSummary{grid-template-columns:1fr}.subjectActivityMetrics{grid-template-columns:1fr}}

#papDebugPanel{position:fixed;left:0;right:0;bottom:0;z-index:999999;background:#160b20;color:#f7eaff;border-top:5px solid #ff2d7a;font:13px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:46vh;display:flex;flex-direction:column;box-shadow:0 -8px 30px rgba(0,0,0,.35)}#papDebugHead{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#2b123a;flex-wrap:wrap}#papDebugHead b{font-size:14px}#papDebugHead button,#papDebugMini button{border:1px solid #a979bd;background:#fff;color:#24102e;border-radius:8px;padding:5px 9px;font-weight:800;cursor:pointer}#papDebugState{margin-left:auto;color:#ffd666}#papDebugLog{overflow:auto;white-space:pre-wrap;padding:9px 11px;min-height:130px}#papDebugLog .err{color:#ff9fae}#papDebugLog .ok{color:#9fffb6}#papDebugMini{position:fixed;right:14px;bottom:14px;z-index:999999;background:#160b20;color:#f7eaff;border:2px solid #ff2d7a;border-radius:14px;padding:8px 10px;box-shadow:0 8px 24px rgba(0,0,0,.25)}body.pap-debug-on{padding-bottom:47vh!important}
.planBadge{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#f3f4f6;border:1px solid #d7dce8;font-weight:900;white-space:nowrap}.planBadge.pro{background:#fff7d6;border-color:#ecd06c;color:#745600}.proShell{display:grid;gap:18px}.proHero{padding:26px;border-radius:28px;background:linear-gradient(135deg,#eef2ff,#fff7d6,#f7efff);border:1px solid #dce3ff}.proPromise{padding:15px 17px;border-radius:17px;background:#eaf9f1;border:1px solid #b8e1c9;color:#205c39;font-weight:900}.proPlans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.proPlanCard{padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line);cursor:pointer;transition:.18s}.proPlanCard:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(47,55,90,.10)}.proPlanCard.current{border:3px solid #5268ff}.proPlanCard h3{margin:0 0 8px}.proPlanCard ul{padding-left:20px;line-height:1.55}.proAdmin{padding:20px;border-radius:22px;background:#f8f9ff;border:1px solid var(--line)}@media(max-width:800px){.proPlans{grid-template-columns:1fr}}

.liveSummaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.liveMetric{padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff}.liveMetric b{display:block;font-size:1.7rem}.liveTable{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}.liveTable th,.liveTable td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.liveStatus{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:900;font-size:.78rem}.liveStatus.online{background:#e9f8ee;color:#1f6b39}.liveStatus.recent{background:#fff4d6;color:#875d00}.liveStatus.offline{background:#f0f2f5;color:#667085}.adminTabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.adminTabs button.active{background:var(--purple);color:#fff}.adminNotice{padding:14px 16px;border-radius:16px;background:#fff7e6;border:1px solid #f3d08a;color:#714b00}.hiddenAdminLink{opacity:.82}

.buildTableShell{max-width:820px;margin:0 auto}.buildTableIntro{text-align:center;padding:24px}.buildTableBoard{display:grid;gap:10px;margin:20px auto;max-width:640px}.buildTableRow{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-radius:18px;background:#fff;font-size:clamp(1.35rem,4vw,2rem);font-weight:900}.buildTableRow.done{background:#f0fff5;border-color:#a7e7b8}.buildTableRow.current{box-shadow:0 0 0 3px rgba(79,70,229,.13);border-color:#9aa4ff}.buildLineAudio{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid #a7d9b6;background:#fff;color:#18713b;font-size:1rem;cursor:pointer}.buildLineAudio:hover{transform:scale(1.06)}.buildAudioControls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px 0}.buildAudioToggle{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:850;cursor:pointer}.buildAudioToggle.on{background:#eefbf3;border-color:#8bd0a1;color:#166534}.buildDigitGroup{display:inline-flex;gap:4px}.buildDigit{width:52px;height:58px;border:2px solid #cfd6e6;border-radius:13px;text-align:center;font-size:1.65rem;font-weight:900;background:#fff}.buildDigit:focus{outline:3px solid rgba(79,70,229,.2);border-color:#5968e8}.buildDigit.correct{background:#e9fff0;border-color:#36a85c}.buildDigit.wrong{background:#fff0f0;border-color:#d54848}.buildHint{min-height:28px;text-align:center;font-weight:800;color:var(--muted)}.buildProgress{text-align:center;font-weight:900;color:#4655c6}.buildCompletedTable{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:8px;max-width:580px;margin:18px auto;text-align:left}.buildCompletedTable .buildCompletedLine{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:12px;background:#f4fff7;font-weight:800}.buildTablePicker{grid-template-columns:repeat(5,minmax(110px,1fr));margin-top:18px}.buildTableChoice{text-align:center;cursor:pointer}.buildTableChoice.done{background:#f0fff5;border-color:#a7e7b8}.buildTableChoice .icon{font-size:2rem}.buildTableChoice h3{margin:8px 0 4px}.buildTableChoice p{margin:0;color:var(--muted);font-size:.88rem}@media(max-width:760px){.buildTablePicker{grid-template-columns:repeat(2,minmax(120px,1fr))}.buildCompletedTable{grid-template-columns:1fr}}@media(max-width:560px){.buildTableRow{gap:6px;padding:10px 7px}.buildDigit{width:42px;height:50px;font-size:1.4rem}.buildLineAudio{width:34px;height:34px}}

.friendlyAssessment{max-width:900px;margin:0 auto}.friendlyAssessment textarea{font-size:1.05rem;line-height:1.6;padding:14px;border:2px solid var(--line);border-radius:16px}.friendlyAssessment .choices{display:grid;gap:10px;margin-top:16px}.friendlyAssessment .choice{text-align:left;padding:14px 16px;border:2px solid var(--line);border-radius:15px;background:#fff;cursor:pointer}.friendlyAssessment .choice:hover{border-color:var(--blue);background:#f7f8ff}

.subjectCardWrap{position:relative}.subjectPauseBtn{position:absolute;top:14px;right:14px;z-index:3;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:7px 10px;font-weight:850;font-size:.82rem;cursor:pointer}.subjectPauseBtn:hover{color:#b42348;background:#fff5f6;border-color:#fecdd3}.subjectRegionBar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:-4px 0 16px;padding:12px 14px;border:1px solid var(--line);background:rgba(255,255,255,.82);border-radius:16px}.subjectRegionBar label{font-weight:850}.subjectRegionBar select{border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 12px;font-weight:750}.pausedSubjectsBox{margin-top:14px;padding:14px 16px;border:1px dashed #b8c0d9;border-radius:18px;background:#f8f9ff}.pausedSubjectsBox h3{margin:0 0 9px;font-size:1rem}.pausedSubjectChip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:850;cursor:pointer;margin:4px 6px 4px 0}.pausedSubjectChip:hover{background:#eef1ff}.regionHint{color:var(--muted);font-size:.9rem;line-height:1.35}.subject .tag.subjectRegionalTag{background:#eef6ff;color:#2457a6}

.readinessCard{margin-top:18px;padding:22px;border-radius:24px;background:#fff;border:1px solid #dfe5f3;box-shadow:0 8px 24px rgba(47,55,90,.06)}.readinessHero{padding:20px;border-radius:20px;background:linear-gradient(135deg,#effcf5,#f7f9ff);border:1px solid #caead8}.readinessAreas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.readinessArea{padding:15px;border-radius:17px;background:#f8f9ff;border:1px solid #e4e8f3}.readinessAreaTop{display:flex;justify-content:space-between;gap:10px;align-items:center}.readinessStatus{padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:900}.readiness-ready{background:#dcfce7;color:#166534}.readiness-consolidate{background:#ffedd5;color:#9a3412}.readiness-priority{background:#fee2e2;color:#991b1b}.readiness-check{background:#fef3c7;color:#92400e}.readiness-insufficient_evidence{background:#e0f2fe;color:#075985}.readiness-no_evidence{background:#eef2f7;color:#4b5563}.readinessMetrics{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.readinessMetric{padding:5px 8px;border-radius:10px;background:#fff;border:1px solid #e4e8f3;font-size:.76rem;font-weight:800;color:#475569}.readinessQueueTitle{margin:20px 0 8px}.readinessDiagnostic{padding:14px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;margin-top:10px}.readinessBar{height:9px;background:#e6eaf2;border-radius:999px;overflow:hidden;margin-top:10px}.readinessBar span{display:block;height:100%;background:linear-gradient(90deg,#4f6df5,#54b88a)}.readinessPriority{padding:14px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;margin-top:10px}.readinessStudent{margin-top:16px;padding:18px;border-radius:18px;background:#eefbf5;border:1px solid #bfe8d4;font-size:1.05rem;line-height:1.5}@media(max-width:700px){.readinessAreas{grid-template-columns:1fr}}
.adminFold{margin:14px 0;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05);overflow:hidden}.adminFold>summary{list-style:none;cursor:pointer;padding:18px 20px;font-size:1.08rem;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f8faff}.adminFold>summary::-webkit-details-marker{display:none}.adminFold>summary:after{content:"＋";width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#3730a3;font-size:1.18rem;flex:0 0 auto}.adminFold[open]>summary:after{content:"−"}.adminFoldBody{padding:16px 18px 20px;background:#fff}.adminFoldBody>h3:first-child{margin-top:4px}@media(max-width:680px){.adminFold>summary{padding:15px 16px}.adminFoldBody{padding:12px 12px 16px}}.guidedPlannerOverlay{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:10050;display:grid;place-items:center;padding:18px}.guidedPlannerDialog{width:min(620px,96vw);background:#fff;border-radius:26px;padding:24px;box-shadow:0 28px 90px rgba(15,23,42,.28)}.guidedPlannerTimes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.guidedPlannerTime{padding:18px 10px;border:2px solid #dbe3f5;border-radius:18px;background:#f8faff;font-size:1.15rem;font-weight:900;cursor:pointer}.guidedPlannerTime:hover{border-color:#5268ff;background:#eef2ff}.guidedNowCard{display:grid;gap:8px;padding:18px;border:2px solid #dfe5f7;border-radius:20px;background:#fff}.guidedNowTitle{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:950}.guidedPlanMeta{display:flex;gap:8px;flex-wrap:wrap}.guidedPlanMeta .pill{background:#f1f5ff}.guidedMoreWork{margin-left:auto}@media(max-width:680px){.guidedPlannerTimes{grid-template-columns:repeat(2,1fr)}.guidedMoreWork{margin-left:0;width:100%}}
.earlyTraceShell{max-width:980px;margin:0 auto;padding:6px 0 12px}.earlyTraceIntro{text-align:center;padding:18px}.earlyTraceIntro h2{font-size:clamp(2rem,6vw,3.7rem);margin:8px 0}.earlyTraceMenu{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}.earlyTraceCard{border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px;cursor:pointer;text-align:center;box-shadow:0 8px 24px rgba(47,55,90,.08)}.earlyTraceCard .icon{font-size:3rem}.earlyTraceCard h3{font-size:1.3rem;margin:8px 0 4px}.earlyTraceStage{background:#fff;border:1px solid var(--line);border-radius:28px;padding:18px;box-shadow:0 12px 34px rgba(47,55,90,.09)}.earlyTraceTop{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.earlyTraceTitle{text-align:center;font-size:clamp(1.8rem,5vw,3rem);margin:10px 0 2px}.earlyTraceHint{text-align:center;color:var(--muted);font-size:1.05rem;margin:0 auto 14px;max-width:720px}.earlyTraceCanvasWrap{touch-action:none;user-select:none;-webkit-user-select:none;background:#fbfcff;border:2px solid #e4e8f7;border-radius:24px;overflow:hidden}.earlyTraceSvg{display:block;width:100%;height:auto;min-height:260px;touch-action:none}.earlyGuideWide{fill:none;stroke:#d9dfee;stroke-width:34;stroke-linecap:round;stroke-linejoin:round}.earlyGuideCenter{fill:none;stroke:#8390b2;stroke-width:3;stroke-dasharray:10 12;stroke-linecap:round;stroke-linejoin:round}.earlyUserStroke{fill:none;stroke:#5268ff;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.earlyProgressStroke{fill:none;stroke:#22c55e;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.earlyTraceStart{fill:#22c55e;stroke:#fff;stroke-width:5}.earlyTraceStartPulse{fill:none;stroke:#22c55e;stroke-width:4;opacity:.45}.earlyDirectionHint{pointer-events:none}.earlyDirectionHint line{stroke:#ff9f1c;stroke-width:9;stroke-linecap:round}.earlyDirectionHint polygon{fill:#ff9f1c}.earlyDirectionHint text{fill:#a85b00;font-size:20px;font-weight:950;paint-order:stroke;stroke:#fff;stroke-width:5;stroke-linejoin:round}.earlyTraceStatus{text-align:center;min-height:44px;padding:10px 4px;font-size:1.12rem;font-weight:850}.earlyTraceActions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:12px}.earlyTraceProgress{height:10px;background:#edf0f8;border-radius:999px;overflow:hidden;max-width:600px;margin:12px auto}.earlyTraceProgress span{display:block;height:100%;background:linear-gradient(90deg,#5268ff,#22c55e);width:0;transition:width .15s}.earlyTraceWord{font-size:clamp(2rem,7vw,4rem);font-weight:950;text-align:center;margin:2px 0 10px;color:#111b35}.earlyTraceCelebration{text-align:center;padding:30px 15px}.earlyTraceCelebration .big{font-size:5rem}.earlyTraceCelebration h2{font-size:clamp(2rem,6vw,3.6rem);margin:8px 0}@media(max-width:680px){.earlyTraceStage{padding:10px;border-radius:20px}.earlyTraceSvg{min-height:220px}.earlyGuideWide{stroke-width:40}.earlyTraceActions .btn{flex:1;min-width:130px}}

.progressStoryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.progressStory{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:start;padding:15px;border:2px solid #d9e2ff;border-radius:18px;background:linear-gradient(135deg,#fff,#f7f9ff)}
.progressStoryIcon{font-size:1.7rem}
.progressBeforeAfter{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:7px 0;font-weight:900}
.progressBeforeAfter span:last-child{color:#2458c6}
.progressStoryMain{font-weight:900;margin:7px 0;color:#2458c6}
.nowCanGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.nowCanItem{display:flex;gap:10px;padding:12px 14px;border-radius:16px;background:#f7fbf7;border:2px solid #d7ead8}
.nowCanItem>span{font-size:1.25rem;font-weight:950;color:#23723a}
.sessionAutonomy{margin:14px auto;padding:12px 15px;max-width:680px;border-radius:16px;background:#fff8d9;border:2px solid #ead274;font-weight:850}

.workPlanner{display:grid;gap:16px}.workPlannerTop{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.plannerDateNav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plannerDateBtn{font-weight:900}.plannerColumns{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.4fr);gap:16px}.plannerDayBox,.plannerCatalogBox{border:1px solid #dfe5f3;border-radius:20px;background:#fbfcff;padding:16px}.plannerFilters{display:grid;grid-template-columns:1.1fr .8fr .9fr 1fr .9fr;gap:8px;margin:12px 0}.plannerCatalog{max-height:620px;overflow:auto;display:grid;gap:8px;padding-right:4px}
.plannerBulkBar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 12px;padding:10px 12px;border-radius:14px;background:#f4f7ff;border:1px solid #d9e2ff}
.plannerBulkInfo{font-size:.82rem;color:#526079;font-weight:800}
.plannerBulkBtn{font-weight:950}
.plannerOrderPreview{margin-top:8px;padding:9px 11px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.8rem;line-height:1.45}
.plannerExercise{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e1e6f2;border-radius:16px;background:#fff}.plannerExerciseTitle{font-weight:900}.plannerExerciseMeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.plannerNever{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e8f7ec;color:#176b37;border:1px solid #a7ddb5;font-size:.75rem;font-weight:950}
.plannerReady{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e8f7ec;color:#176b37;border:1px solid #a7ddb5;font-size:.75rem;font-weight:950}
.plannerCaution{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff5d9;color:#8a5b00;border:1px solid #eed48a;font-size:.75rem;font-weight:950}
.plannerBlocked{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0f0;color:#a33434;border:1px solid #efb8b8;font-size:.75rem;font-weight:950}
.plannerReview{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#4655c6;border:1px solid #cfd7ff;font-size:.75rem;font-weight:950}
.plannerPrereqBox{margin:10px 0 0;padding:11px 12px;border-radius:14px;background:#fff7df;border:1px solid #ead48b;font-size:.82rem}
.plannerPrereqBox b{display:block;margin-bottom:4px}
.plannerWarningCard{margin:12px 0 0;padding:14px;border:2px solid #efc66f;border-radius:16px;background:#fff9e8}
.plannerWarningActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.plannerStarted{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.75rem;font-weight:900}.plannerDayList{display:grid;gap:9px;margin-top:12px}.plannerDayItem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border-radius:16px;background:#fff;border:1px solid #e0e6f2}.plannerOrder{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#4655c6;font-weight:950}.plannerItemActions{display:flex;gap:5px}.plannerItemActions button{padding:7px 9px}.assignedWorkCard{border:2px solid #b9c8ff;background:linear-gradient(135deg,#f7f9ff,#eef3ff)}.assignedPlanSummary{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.assignedPlanSummary span,.assignedPlanSummary b{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #dbe3f5}.plannerEmpty{padding:18px;text-align:center;color:#667085;border:2px dashed #d8deea;border-radius:16px}.plannerSaveStatus{font-weight:850;min-height:22px}
.plannerSaveStatus.ok{margin-top:10px;padding:10px 12px;border-radius:12px;background:#eaf8ee;border:1px solid #b9dfc3;color:#176b37}
.plannerSaveStatus.saving{margin-top:10px;padding:10px 12px;border-radius:12px;background:#eef3ff;border:1px solid #cbd7ff;color:#3852b8}
.plannerSaveStatus.error{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff0f0;border:1px solid #efb8b8;color:#a33434}
.plannerSaveFlash{animation:plannerSavePulse .55s ease}
@keyframes plannerSavePulse{0%{transform:scale(.98);opacity:.5}100%{transform:scale(1);opacity:1}}
@media(max-width:900px){.plannerColumns{grid-template-columns:1fr}.plannerFilters{grid-template-columns:1fr 1fr}}@media(max-width:620px){.plannerFilters{grid-template-columns:1fr}.plannerExercise{grid-template-columns:1fr}.plannerDayItem{grid-template-columns:auto 1fr}.plannerItemActions{grid-column:2}}

.equationMeaningGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
.equationMeaningCard{padding:16px;border:2px solid #dbe4ff;border-radius:18px;background:#fff;line-height:1.45}
.equationMeaningEquation{font-size:1.45rem;font-weight:950;text-align:center;margin:12px 0;color:#3047b8}
.equationAdaptiveBadge{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border-radius:999px;background:#eef3ff;border:1px solid #cbd7ff;color:#3448a5;font-weight:900;font-size:.82rem}
.equationPaperShell{max-width:820px;margin:0 auto}.equationPaperEq{font-size:clamp(1.65rem,5vw,2.4rem);font-weight:950;text-align:center;padding:24px 14px;margin:18px 0;border:2px solid #dbe4ff;border-radius:20px;background:#fbfcff}
.equationPaperRule{padding:14px 16px;border-radius:16px;background:#fff8df;border:2px solid #ead48b;line-height:1.45}
.equationPaceNotice{margin:10px 0;padding:10px 12px;border-radius:14px;background:#eef9f0;border:1px solid #b9dfc3;color:#176b37;font-weight:850}

.exerciseTreeBranch.learningGroupBranch{margin:10px 0;border:1px solid #dbe4ff;background:#fbfcff}
.exerciseTreeBranch.learningGroupBranch>summary{background:#f5f7ff;border-radius:14px}
.exerciseTreeBranch.learningGroupBranch .exerciseTreeSummaryTitle{font-size:1rem}
.plannerLearningGroups{display:grid;gap:10px;margin:12px 0 16px}
.plannerLearningGroup{border:2px solid #dbe4ff;border-radius:17px;background:#fbfcff;padding:13px}
.plannerLearningGroupHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.plannerLearningGroupTitle{font-weight:950;font-size:1rem}
.plannerLearningGroupMeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.plannerGroupBadge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef3ff;color:#3448a5;border:1px solid #cbd7ff;font-size:.75rem;font-weight:900}
.plannerGroupNeed{margin-top:8px;font-size:.8rem;color:#8a5b00}
.plannerGroupActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:700px){.plannerLearningGroupHead{display:block}.plannerLearningGroupHead .btn{margin-top:10px;width:100%}}

.activityPrereqGroupCard{padding:14px;border:2px solid #dbe4ff;border-radius:16px;background:#fff}
.activityPrereqGroupTitle{font-size:1.05rem;font-weight:950;color:#3448a5}
.activityPrereqGroupNeed{margin-top:10px;padding:9px 10px;border-radius:12px;background:#fff8df;color:#8a5b00;font-weight:850}
.activityPrereqReady{margin-top:10px;padding:9px 10px;border-radius:12px;background:#eef9f0;color:#176b37;font-weight:850}
.activityPrereqGroupActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.activityPrereqDetail{display:grid;gap:7px;margin-top:10px}

.equationTestStory{padding:14px 16px;border-radius:16px;background:#f8faff;border:2px solid #dbe4ff;margin:12px 0;font-size:1.05rem;line-height:1.45}
.equationTestProposal{font-size:1.5rem;font-weight:950;text-align:center;margin:14px 0;color:#3047b8}
.equationTestCheck{display:inline-block;margin:8px 0;font-size:1.25rem;font-weight:950;color:#3448a5}

.equationTestMeaning{margin:10px 0;padding:10px 12px;border-radius:13px;background:#eef3ff;color:#3448a5}
.equationTestEquationWrap{margin:12px 0;padding:12px;border-radius:16px;border:2px solid #dbe4ff;background:#fbfcff;text-align:center}
.equationTestCheckStack{display:grid;gap:6px;margin:12px 0}
.equationTestCheckStack .equationTestCheck{display:block;margin:0}

.unit.nextRecommendedFocus{position:relative;border:3px solid #6677e8!important;box-shadow:0 0 0 5px rgba(102,119,232,.12),0 12px 28px rgba(35,49,120,.12);animation:nextRecommendedPulse 1.2s ease-out 1}
.nextRecommendedMarker{display:inline-flex;margin:0 0 8px;padding:5px 9px;border-radius:999px;background:#eef1ff;color:#3448a5;font-size:.78rem;font-weight:950}
@keyframes nextRecommendedPulse{0%{transform:scale(.985)}45%{transform:scale(1.008)}100%{transform:scale(1)}}

#activityPrereqs.activityPrereqsHidden{display:none!important;margin:0!important;padding:0!important}

.learningGroupStatusRow{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:8px}
.learningGroupState{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:950;border:1px solid transparent}
.learningGroupState-0{background:#f2f4f7;color:#667085;border-color:#d0d5dd}
.learningGroupState-1{background:#eef4ff;color:#3156a3;border-color:#c7d7fe}
.learningGroupState-2{background:#fff7db;color:#8a5b00;border-color:#f5d77c}
.learningGroupState-3{background:#edf9f0;color:#1d6b3a;border-color:#b7dfc2}
.learningGroupState-4{background:#e7f8f4;color:#11685c;border-color:#9bd7cc}
.learningGroupProgressText{font-size:.75rem;font-weight:800;color:#667085}
.learningGroupProgressBar{width:min(420px,100%);height:7px;border-radius:999px;background:#e8ebf3;overflow:hidden;margin-top:6px}
.learningGroupProgressFill{height:100%;border-radius:999px;background:currentColor;color:#6574d9}

.learningGoalCard{margin:18px 0;border:2px solid #b9c7ff;background:linear-gradient(135deg,#fbfcff,#f2f5ff);border-radius:22px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.learningGoalCard h3{margin:0 0 6px}.learningGoalSummary{font-size:1.05rem;font-weight:850;line-height:1.4}.learningGoalMeta{margin-top:7px;color:var(--muted);font-size:.84rem}.learningGoalOverlay{position:fixed;inset:0;background:rgba(22,29,47,.58);z-index:10000;overflow:auto;padding:24px 14px}.learningGoalWindow{width:min(940px,100%);margin:0 auto;background:#fff;border-radius:26px;border:1px solid var(--line);box-shadow:0 28px 80px rgba(20,30,55,.28);padding:22px}.learningGoalHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.learningGoalChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:18px 0}.learningGoalChoice{border:2px solid var(--line);background:#fff;border-radius:17px;padding:14px;text-align:left;cursor:pointer}.learningGoalChoice.active{border-color:#6d7df5;background:#f4f6ff}.learningGoalForm{display:grid;gap:12px}.learningGoalForm label{font-weight:850}.learningGoalForm textarea,.learningGoalForm input,.learningGoalForm select{width:100%;margin-top:6px}.goalRoutePanel{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.goalRouteStats{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.goalRouteStep{border:1px solid var(--line);border-radius:16px;padding:13px 14px;margin:8px 0;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.goalRouteNo{width:34px;height:34px;border-radius:50%;background:#eef1ff;display:flex;align-items:center;justify-content:center;font-weight:950}.goalRouteWhy{font-size:.8rem;color:var(--muted);margin-top:3px}.goalRouteBlock{margin:16px 0 20px}.goalRouteBlockTitle{font-weight:950;font-size:1rem;margin:0 0 7px;display:flex;align-items:center;gap:7px}.goalRouteBlockHint{font-size:.8rem;color:var(--muted);margin:-2px 0 8px}.goalConfirmBox{margin-top:18px;border:1px dashed #bdc7de;border-radius:15px;padding:12px 13px;background:#fafbff}.goalConfirmTitle{font-weight:900;margin-bottom:7px}.goalConfirmItem{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 0;border-top:1px solid #edf0f7}.goalConfirmItem:first-of-type{border-top:0}.goalConfirmText{font-size:.84rem}.goalRoutePriority{display:inline-block;font-size:.72rem;font-weight:900;padding:3px 7px;border-radius:999px;background:#fff2c7;margin-left:6px}.goalRouteMicro{display:inline-block;font-size:.72rem;font-weight:900;padding:3px 7px;border-radius:999px;background:#eef7ff;margin-left:6px}.goalRouteStepMicro{border-style:dashed;background:#f8fbff}.goalRouteStepMicro .goalRouteNo{background:#e7f4ff}.goalPilotNote{background:#fff8e8;border:1px solid #efd798;border-radius:14px;padding:11px 13px;font-size:.86rem;line-height:1.45}.goalJourneySection{margin-top:20px;border:1px solid #dfe4f2;border-radius:20px;padding:16px;background:#fbfcff}.goalJourneyTitle{font-size:1.18rem;font-weight:950;margin-bottom:4px}.goalJourneyIntro{font-size:.86rem;color:var(--muted);line-height:1.5;margin-bottom:12px}.goalJourneyGroup{margin:14px 0 18px}.goalJourneyGroupTitle{font-size:.92rem;font-weight:950;margin-bottom:7px}.goalJourneyItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf0f7}.goalJourneyItem:first-child{border-top:0}.goalJourneyName{font-weight:850;line-height:1.35}.goalJourneyMeta{font-size:.76rem;color:var(--muted);margin-top:3px}.goalJourneyState{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:900;padding:4px 8px;border-radius:999px;white-space:nowrap}.goalJourneyState-solid{background:#eaf8ef;color:#22683a}.goalJourneyState-confirm{background:#fff6db;color:#7c5b00}.goalJourneyState-reinforce{background:#fff0ec;color:#8a3928}.goalJourneyState-diagnose{background:#eef3ff;color:#40548f}.goalNowSection{margin-top:22px;border-top:3px solid #e9ecf8;padding-top:20px}.goalRouteSeparation{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.goalRouteSeparation>div{border:1px solid var(--line);border-radius:15px;padding:11px 12px;background:#fff}.goalRouteSeparation b{display:block;margin-bottom:3px}@media(max-width:700px){.learningGoalCard,.goalRouteStep,.goalJourneyItem{grid-template-columns:1fr}.learningGoalWindow{padding:16px;border-radius:20px}.learningGoalOverlay{padding:10px}.goalRouteSeparation{grid-template-columns:1fr}}

.competencyMapLaunch{margin:0 0 18px;border:1px solid #cfd8ff;background:linear-gradient(135deg,#f8f9ff,#f3fbff);border-radius:22px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.competencyMapLaunch h3{margin:0 0 6px;font-size:1.2rem}.competencyMapLaunch p{margin:0;color:var(--muted);line-height:1.45}.competencyMapOverlay{position:fixed;inset:0;background:rgba(22,29,47,.56);z-index:9999;overflow:auto;padding:24px 14px}.competencyMapWindow{width:min(1120px,100%);margin:0 auto;background:#fff;border-radius:26px;border:1px solid var(--line);box-shadow:0 28px 80px rgba(20,30,55,.26);padding:22px}.competencyMapHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.competencyMapHead h2{margin:0 0 6px}.competencyMapLegend{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.competencyLegendPill,.competencyStatus{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.77rem;font-weight:900}.competencyLegendPill{background:#f2f4f7;color:#475467}.competencyMapSection{margin-top:22px}.competencyMapSection h3{margin:0 0 10px}.competencyGrid{display:grid;gap:10px}.competencyCard{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.competencyCard[data-level="0"]{background:#fafafa}.competencyCard[data-level="1"]{background:#f8fbff}.competencyCard[data-level="2"]{background:#fffdf5}.competencyCard[data-level="3"]{background:#f7fcf8}.competencyTitle{font-weight:950}.competencyMeta{margin-top:5px;color:var(--muted);font-size:.84rem;line-height:1.4}.competencyPrereq{margin-top:8px;font-size:.82rem}.competencyActivities{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap}.competencyActivityBtn{border:1px solid #d6dcf5;background:#fff;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:850;cursor:pointer}.competencyMetrics{text-align:right;min-width:132px}.competencyMetricBig{font-size:1.25rem;font-weight:950}.competencyMetricSmall{font-size:.76rem;color:var(--muted);margin-top:2px}.competencyBar{height:7px;background:#e8ebf3;border-radius:999px;overflow:hidden;margin-top:7px}.competencyBar>span{display:block;height:100%;background:currentColor;color:#6574d9}.competencyStatus-0{background:#f2f4f7;color:#667085}.competencyStatus-1{background:#eef4ff;color:#3156a3}.competencyStatus-2{background:#fff7db;color:#8a5b00}.competencyStatus-3{background:#edf9f0;color:#1d6b3a}.competencyStatus-4{background:#e7f8f4;color:#11685c}.competencyTechId{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:#98a2b3;margin-top:4px}@media(max-width:700px){.competencyMapLaunch,.competencyCard{grid-template-columns:1fr}.competencyMetrics{text-align:left}.competencyMapWindow{padding:16px;border-radius:20px}.competencyMapOverlay{padding:10px}}
.competencyPriority{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:950;margin-left:6px}.competencyPriority-3{background:#fff0e8;color:#9b3e12}.competencyPriority-2{background:#fff8d8;color:#765600}.competencyPriority-1{background:#eef3ff;color:#3657a5}.competencyCoverage{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:900;background:#f2f4f7;color:#475467;margin-top:7px}.competencyMapSummary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:14px 0}.competencySummaryCard{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fafbff}.competencySummaryCard b{font-size:1.3rem;display:block}.competencyAreaIntro{color:var(--muted);font-size:.88rem;line-height:1.45;margin:-4px 0 10px}.competencySignal{margin-top:7px;font-size:.8rem;color:#475467;line-height:1.4}.competencyNoActivity{font-size:.78rem;color:#8a94a6;margin-top:8px}.competencyStage{font-weight:950}.competencyCard[data-priority="3"]{border-left:5px solid #e58b55}.competencyCard[data-priority="2"]{border-left:5px solid #e3bd4d}@media(max-width:700px){.competencyMapSummary{grid-template-columns:repeat(2,minmax(120px,1fr))}}

.plannerDayNoteBox{margin:14px 0 16px;padding:14px;border:1px solid #dfe3f0;border-radius:16px;background:#fbfcff}
.plannerDayNote{width:100%;margin-top:10px;resize:vertical;min-height:110px;line-height:1.45}
.assignedPlanNote{margin:14px 0 16px;padding:15px 16px;border:2px solid #d9e0ff;border-radius:16px;background:#f7f9ff;line-height:1.5}
.assignedPlanNote .tiny{font-weight:950;color:#5268a8;margin-bottom:6px}

.aiDailyPlanCard{border:2px solid #cbd5ff;background:linear-gradient(135deg,#fbfcff,#f2f5ff)}
.aiDailyPlanMessage{margin:12px 0 16px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #dfe4ff;line-height:1.5}

.aiDailyDurationCard{border:2px solid #cbd5ff;background:linear-gradient(135deg,#fbfcff,#f2f5ff)}
.aiDailyDurationButtons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.aiDailyDurationButtons .btn{min-width:92px}



.earlyRewardPlayBtn{background:#ffe8f4;border:2px solid #ef9ac5;color:#7c2854;font-weight:950}
.earlyRewardOverlay{position:fixed;inset:0;z-index:99999;background:rgba(40,31,67,.76);display:flex;align-items:center;justify-content:center;padding:14px}
.earlyRewardGame{width:min(1120px,98vw);height:min(790px,96vh);background:linear-gradient(135deg,#fffafc,#f8f4ff);border-radius:30px;padding:18px;box-shadow:0 28px 90px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}
.earlyRewardTop{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.earlyRewardTop h2{font-size:2rem;margin:4px 0;color:#7b2f67}.earlyRewardTop .tiny{font-weight:950;color:#a04b81}
.earlyRewardCounters{display:flex;gap:9px;flex-wrap:wrap}.earlyRewardCounters span{font-size:1.05rem;font-weight:950;padding:9px 13px;border-radius:999px;background:white;border:2px solid #edd4e3}
.earlyRewardInstruction{text-align:center;font-size:1.03rem;font-weight:800;margin:4px 0 10px;color:#66546d}
.lookDesignerGrid{display:grid;grid-template-columns:minmax(310px,.9fr) minmax(460px,1.25fr) 180px;gap:14px;flex:1;min-height:0}
.lookStage{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(#f7dcff 0%,#e7f7ff 50%,#fde6ef 100%);border:3px solid #ead5f3;display:flex;align-items:center;justify-content:center;min-height:520px}
.lookStage:before{content:'';position:absolute;inset:auto 7% 5% 7%;height:20%;border-radius:50%;background:radial-gradient(ellipse,#d7b3da 0%,rgba(215,179,218,.22) 55%,transparent 70%)}
.lookMirror{position:absolute;left:18px;top:20px;width:86px;height:150px;border-radius:50% 50% 44% 44%;border:8px solid #f2d8a8;background:linear-gradient(135deg,#eefaff,#fff);box-shadow:0 5px 14px rgba(0,0,0,.12)}
.lookPlant{position:absolute;right:20px;bottom:35px;font-size:4.3rem;filter:drop-shadow(0 4px 4px rgba(0,0,0,.12))}
.lookAvatarWrap{position:relative;z-index:2;width:min(330px,86%);height:500px;display:flex;align-items:center;justify-content:center}
.lookAvatarWrap svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 10px rgba(92,61,101,.16))}
.lookDesignerPanel{border:2px solid #ead9f0;background:#fff;border-radius:24px;padding:13px;overflow:auto}
.lookTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:sticky;top:0;background:#fff;padding-bottom:10px;z-index:3}
.lookTab{border:2px solid #ead8ed;border-radius:15px;padding:9px 6px;background:#fff;cursor:pointer;font-weight:900;font-size:.92rem}.lookTab.on{background:#8d57d6;color:#fff;border-color:#8d57d6}.lookTab span{display:block;font-size:1.55rem;margin-bottom:3px}
.lookChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.lookChoice{border:2px solid #eee1f0;background:#fff;border-radius:17px;padding:8px;min-height:104px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-weight:850;color:#664b70}.lookChoice.on{border-color:#a05bd4;background:#faf3ff;box-shadow:0 0 0 2px #e9cfff inset}.lookChoiceIcon{font-size:2.2rem;line-height:1}.lookChoiceSwatch{width:54px;height:54px;border-radius:15px;border:2px solid rgba(0,0,0,.09);box-shadow:inset 0 0 0 3px rgba(255,255,255,.45)}
.lookColors{display:flex;gap:8px;flex-wrap:wrap;margin:12px 2px}.lookColor{width:36px;height:36px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 2px #e2d2e7;cursor:pointer}.lookColor.on{box-shadow:0 0 0 3px #8d57d6}
.lookActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.lookActions .btn{flex:1 1 130px}
.lookAlbum{border:2px solid #d9e8ff;background:#f7fbff;border-radius:24px;padding:11px;overflow:auto}.lookAlbum h3{margin:4px 0 10px;text-align:center;color:#355f9a}.lookAlbumGrid{display:grid;gap:9px}.lookThumb{border:2px solid #dce9fa;background:white;border-radius:16px;padding:7px;text-align:center}.lookThumbPreview{height:112px;border-radius:12px;background:linear-gradient(#f7ddff,#e5f6ff);display:flex;align-items:center;justify-content:center;font-size:2.3rem;overflow:hidden}.lookThumb .tiny{margin-top:5px}.lookEmpty{font-size:.9rem;color:#6c7b93;text-align:center;padding:15px 4px}
.earlyRewardTip{font-size:.9rem;line-height:1.4;color:#69566e;background:#fff8fb;border:1px dashed #e4bfd3;border-radius:13px;padding:9px 11px;margin-top:10px}
.earlyRewardRowActions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:11px}
.earlyRewardFinish{width:min(600px,92vw);background:white;border-radius:28px;padding:32px;text-align:center;box-shadow:0 26px 80px rgba(0,0,0,.28)}.earlyRewardFinish h2{font-size:2.15rem;margin:8px;color:#7b2f67}.earlyRewardBigStar{font-size:4.8rem}.earlyRewardFinish p{font-size:1.15rem;line-height:1.45}.earlyRewardTotal{margin:17px auto;padding:13px;border-radius:18px;background:#fff1cf;font-size:1.1rem}
@media(max-width:900px){.earlyRewardGame{height:96vh}.lookDesignerGrid{grid-template-columns:1fr 1.1fr}.lookAlbum{display:none}.lookStage{min-height:430px}.lookAvatarWrap{height:420px}.lookChoices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.earlyRewardGame{padding:11px}.earlyRewardTop h2{font-size:1.45rem}.earlyRewardInstruction{font-size:.93rem}.lookDesignerGrid{grid-template-columns:1fr;overflow:auto}.lookStage{min-height:410px}.lookAvatarWrap{height:400px}.lookTabs{grid-template-columns:repeat(4,1fr)}.lookTab{font-size:.78rem;padding:7px 3px}.lookTab span{font-size:1.25rem}.lookDesignerPanel{overflow:visible}.lookChoices{grid-template-columns:repeat(3,minmax(0,1fr))}.lookChoice{min-height:85px;font-size:.78rem}.lookChoiceIcon{font-size:1.8rem}}

.rationalBridgeHome{max-width:900px}.rationalBridgeTheory{display:grid;gap:12px;width:min(820px,100%);margin:16px auto}.rationalTheoryStep{display:grid;grid-template-columns:46px 1fr;gap:13px;align-items:start;text-align:left;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #dfe5f3}.rationalTheoryStep>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#4353b3;font-weight:950}.rationalTheoryStep b{font-size:1.06rem}.rationalTheoryStep p{margin:5px 0 0;line-height:1.5}.rationalBridgeQuestion .fairChoice{font-size:1.15rem;min-height:64px}.paperPrompt{display:inline-flex;margin:6px 0 10px;padding:9px 13px;border-radius:999px;background:#fff7d6;border:1px solid #ebcc68;font-weight:900}

.primeFactorIntro{max-width:820px;margin:0 auto}
.factorPaperDemo{display:flex;justify-content:center;margin:18px 0}
.factorPaper{display:grid;grid-template-columns:minmax(84px,auto) 4px minmax(84px,auto);column-gap:14px;align-items:start;padding:18px 22px;border-radius:18px;background:#fff;border:2px solid #dfe5ef;box-shadow:0 8px 24px rgba(30,50,90,.06);font-size:1.7rem;font-weight:900;font-variant-numeric:tabular-nums}
.factorPaperLeft,.factorPaperRight{display:grid;gap:10px;min-width:84px}
.factorPaperLeft{text-align:right}.factorPaperRight{text-align:left}
.factorPaperLine{background:#26364f;border-radius:999px;align-self:stretch;min-height:120px}
.factorPaperGhost{color:#9aa6b7;font-weight:800}
.factorPaperNew{animation:factorRowIn .28s ease}
@keyframes factorRowIn{from{transform:translateY(-5px);opacity:.25}to{transform:none;opacity:1}}
.factorStepCard{max-width:880px;margin:0 auto}
.factorStepQuestion{font-size:clamp(1.35rem,2.8vw,2.05rem);font-weight:900;text-align:center;margin:18px 0 12px}
.factorPrimeChoices{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0}
.factorPrimeChoice{min-width:72px;font-size:1.35rem!important}
.factorQuotientBox{max-width:620px;margin:12px auto;padding:13px 16px;border-radius:14px;background:#f7f9ff;border:1px solid #dce3ff;text-align:center;font-size:1.08rem}
.factorProgressNote{max-width:720px;margin:14px auto;padding:12px 14px;border-radius:14px;background:#fff9df;border:1px solid #ead898;line-height:1.45}
.factorFinalProduct{max-width:720px;margin:16px auto;padding:16px;border-radius:16px;background:#f2fbf5;border:2px solid #bce3c6;text-align:center;font-size:1.35rem;font-weight:950}
@media(max-width:600px){.factorPaper{font-size:1.45rem;padding:14px 16px;grid-template-columns:minmax(66px,auto) 3px minmax(66px,auto)}.factorPrimeChoice{min-width:62px}}

.factorDivisorInputWrap{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}
.factorDivisorInput{width:150px;text-align:center;font-size:1.65rem!important;font-weight:950}
.factorNoHelp{max-width:650px;margin:10px auto 0;text-align:center;color:#69748a;font-size:.95rem;line-height:1.4}

.factorCountGrid{max-width:560px;margin:16px auto;display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:center}
.factorCountLabel{font-size:1.18rem;font-weight:900;text-align:right}
.factorCountInput{width:92px;text-align:center;font-size:1.35rem!important;font-weight:950}
.factorExpressionWrap{max-width:650px;margin:18px auto;text-align:center}
.factorExpressionInput{width:min(360px,92%);text-align:center;font-size:1.5rem!important;font-weight:950}
.factorExpressionPreview{margin:10px auto 0;min-height:48px;padding:10px 14px;border-radius:14px;background:#f7f9ff;border:1px solid #dce3ff;font-size:1.45rem;font-weight:950}
.factorKeyboardHint{max-width:650px;margin:10px auto;padding:11px 14px;border-radius:13px;background:#fff9df;border:1px solid #ead898;line-height:1.45}
.factorMiniKey{display:inline-block;padding:2px 8px;border-radius:8px;background:#fff;border:1px solid #cfd6e3;font-family:monospace;font-weight:900}

.factorPaperOnlyCard{max-width:820px;margin:0 auto}
.factorPaperOnlyNumber{font-size:clamp(3rem,8vw,5.4rem);font-weight:1000;text-align:center;margin:18px 0}
.factorPaperOnlyPrompt{max-width:700px;margin:12px auto;padding:16px 18px;border-radius:16px;background:#fff9df;border:1px solid #ead898;font-size:1.12rem;line-height:1.5}

.gcdPair{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:820px;margin:18px auto}
.gcdColumnCard{padding:14px;border-radius:18px;background:#fff;border:2px solid #e1e6f0}
.gcdColumnTitle{text-align:center;font-size:1.25rem;font-weight:950;margin-bottom:6px}
.gcdStepPrompt{max-width:760px;margin:16px auto;text-align:center;font-size:1.25rem;font-weight:900}
.gcdFactorCompare{max-width:760px;margin:16px auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gcdFactorBox{padding:16px;border-radius:16px;background:#f7f9ff;border:1px solid #dce3ff;text-align:center;font-size:1.25rem;font-weight:900}
.gcdCommon{outline:3px solid #9ad4ad;background:#f2fbf5}
.gcdResultBox{max-width:720px;margin:18px auto;padding:18px;border-radius:18px;background:#f2fbf5;border:2px solid #bce3c6;text-align:center;font-size:1.55rem;font-weight:1000}
.gcdInputWrap{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}
.gcdSmallInput{width:130px;text-align:center;font-size:1.45rem!important;font-weight:950}
@media(max-width:700px){.gcdPair,.gcdFactorCompare{grid-template-columns:1fr}}

.mcdMcmCards{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:860px;margin:18px auto}
.mcdMcmCard{padding:20px;border-radius:20px;border:2px solid #dfe5ef;background:#fff}
.mcdMcmArrow{font-size:2.3rem;font-weight:1000}
.mcdMcmRule{font-size:1.4rem;font-weight:1000;margin:8px 0}
.mcdMcmSituation{max-width:780px;margin:16px auto;padding:18px;border-radius:18px;background:#f7f9ff;border:1px solid #dce3ff;font-size:1.2rem;line-height:1.5}
.mcmFractionDemo{max-width:780px;margin:18px auto;padding:18px;border-radius:18px;background:#fff9df;border:1px solid #ead898;font-size:1.18rem;line-height:1.5}
@media(max-width:700px){.mcdMcmCards{grid-template-columns:1fr}}

.fracTheorySlide{max-width:860px;margin:0 auto;padding:clamp(22px,4vw,42px);border-radius:24px;background:#fff;border:2px solid #dfe5ef;box-shadow:0 10px 28px rgba(30,50,90,.07);text-align:center}
.fracTheorySlideNum{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;background:#eef3ff;font-size:1.7rem;font-weight:1000}
.fracTheorySlide h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;margin:10px 0 24px}
.fracTheoryFormula{font-size:clamp(1.7rem,4.4vw,3rem);font-weight:1000;line-height:1.35;margin:24px auto;max-width:800px}
.fracTheoryExplain{font-size:clamp(1.15rem,2.4vw,1.45rem);line-height:1.55;max-width:760px;margin:0 auto 26px}
.fracTheoryProgress{display:flex;justify-content:center;gap:8px;margin:18px 0 24px}
.fracTheoryDot{width:12px;height:12px;border-radius:50%;background:#d7deeb}.fracTheoryDot.on{background:#4a67d6}
.fracTheoryActions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.fracBigFraction{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;line-height:1;text-align:center;margin:0 .15em}
.fracBigFraction span:first-child{border-bottom:3px solid currentColor;padding:0 .2em .12em}.fracBigFraction span:last-child{padding:.12em .2em 0}

.fracLineWrap{max-width:880px;margin:24px auto;padding:22px 18px 34px;background:#fff;border:2px solid #dfe5ef;border-radius:20px}
.fracLine{position:relative;height:92px;margin:18px 22px}
.fracLineAxis{position:absolute;left:0;right:0;top:42px;height:4px;background:#26364d;border-radius:4px}
.fracTick{position:absolute;top:32px;width:3px;height:24px;background:#26364d;transform:translateX(-50%)}
.fracTickLabel{position:absolute;top:60px;transform:translateX(-50%);font-weight:900}
.fracPoint{position:absolute;top:31px;width:24px;height:24px;border-radius:50%;background:#fff;border:5px solid #4a67d6;transform:translate(-50%,-50%);z-index:2}
.fracPointLabel{position:absolute;top:0;transform:translateX(-50%);font-size:1.25rem;font-weight:1000}
.fracLineChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;max-width:680px;margin:18px auto}

.exerciseSearchOverlay{position:fixed;inset:0;background:rgba(22,29,47,.52);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:clamp(18px,5vh,52px) 14px;overflow:auto}
.exerciseSearchWindow{width:min(980px,100%);background:#fff;border-radius:26px;border:1px solid var(--line);box-shadow:0 28px 80px rgba(20,30,55,.26);padding:clamp(18px,3vw,28px)}
.exerciseSearchHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.exerciseSearchHead h2{margin:0 0 5px;font-size:clamp(1.7rem,3vw,2.3rem)}
.exerciseSearchBar{display:flex;gap:10px;align-items:center;border:2px solid #cbd5e1;background:#fff;border-radius:18px;padding:8px 12px;margin-bottom:14px}
.exerciseSearchBar:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(82,104,255,.12)}
.exerciseSearchInput{flex:1;border:0;outline:0;font-size:1.2rem;padding:9px 4px;min-width:0}
.exerciseSearchFilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.exerciseSearchFilter{border:1px solid var(--line);background:#f8f9ff;border-radius:999px;padding:8px 12px;font-weight:850;cursor:pointer}
.exerciseSearchFilter.on{background:#eef1ff;border-color:#aab5ff;color:#3343b5}
.exerciseSearchMeta{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:.92rem}
.exerciseSearchResults{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-right:3px}
.exerciseSearchResult{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;text-align:left;cursor:pointer}
.exerciseSearchResult:hover{border-color:#aab5ff;background:#fafbff}
.exerciseSearchResult h3{margin:0 0 5px;font-size:1.05rem}
.exerciseSearchResult p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.38}
.exerciseSearchBadges{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.exerciseSearchBadge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f2f4f7;font-size:.77rem;font-weight:850}
.exerciseSearchState{white-space:nowrap;font-size:.8rem;font-weight:900;padding:7px 10px;border-radius:999px;background:#edf8f4;color:#087859}
.exerciseSearchEmpty{padding:28px;text-align:center;border:1px dashed #cbd5e1;border-radius:18px;color:var(--muted)}
@media(max-width:650px){.exerciseSearchResult{grid-template-columns:1fr}.exerciseSearchState{justify-self:start}.exerciseSearchOverlay{padding:10px}.exerciseSearchWindow{border-radius:20px;padding:16px}}

.primeMemoryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:10px;max-width:760px;margin:18px auto}
.primeMemoryChip{display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:16px;border:2px solid #dfe5ef;background:#fff;font-size:1.35rem;font-weight:1000}
.primeMemoryChip.prime{background:#eefbf7;border-color:#a7e3c3}
.primeMemoryChip.nonprime{background:#fff7ed;border-color:#fed7aa}
.primeMemoryLegend{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:12px 0 18px}
.primeMemoryLegend span{padding:7px 11px;border-radius:999px;font-weight:900;font-size:.86rem}
.primeMemoryLegend .p{background:#eefbf7;border:1px solid #a7e3c3}.primeMemoryLegend .n{background:#fff7ed;border:1px solid #fed7aa}

/* English 3r ESO · recovered foundations */
.englishSurvivalDeck{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;max-width:900px;margin:18px auto}
.englishSurvivalCard{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;text-align:left}
.englishSurvivalWord{font-size:1.45rem;font-weight:1000}
.englishSurvivalMeaning{font-size:1rem;color:var(--muted);margin-top:3px}
.englishAudioMini{margin-top:10px;padding:7px 10px;border-radius:12px;border:1px solid var(--line);background:#f8f9ff;font-weight:900;cursor:pointer}
.englishSurvivalExample{margin-top:7px;font-size:.95rem;line-height:1.35}
.englishConfidenceNote{max-width:820px;margin:16px auto;padding:14px 16px;border-radius:16px;background:#f5f3ff;border:1px solid #d8d1ff;font-weight:800}
.engPSCCompare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:860px;margin:20px auto}
.engPSCCard{border:2px solid #dfe5ef;border-radius:20px;background:#fff;padding:18px;text-align:left}
.engPSCLabel{font-size:1.2rem;font-weight:1000;margin-bottom:10px}
.engPSCTime{display:inline-block;padding:5px 9px;border-radius:999px;background:#f4f6ff;font-weight:900;margin-bottom:10px}
.engPSCEn{font-size:1.35rem;font-weight:900;margin:8px 0}
.engPSCLocal{font-size:1rem;color:#5f6b7d;margin-top:4px}
.engPSCRule{max-width:850px;margin:16px auto;padding:15px 17px;border-radius:16px;background:#f4f8ff;border:1px solid #cfd9ff;font-weight:850}
.engPSCInput{width:100%;font-size:1.2rem;padding:14px 16px;border:2px solid #cbd5e1;border-radius:14px}
@media(max-width:680px){.engPSCCompare{grid-template-columns:1fr}}



.papStatsData{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.papStatsData span{padding:9px 12px;border-radius:12px;background:#f2f4f7;font-size:1.14rem;font-weight:800}.papStatsBins{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.papStatsBin{padding:16px;border:2px solid #e2e6ed;border-radius:16px;background:#fff;font-size:1.1rem}.papStatsBin strong{font-size:1.35rem;display:block;margin-bottom:6px}.papStatsFormula{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:900;padding:18px 20px;border-radius:18px;background:#f7f8fb;border:2px solid #e1e5ec;margin:18px 0;text-align:center}.papStatsChoiceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:16px 0}.papStatsChoiceGrid button{padding:17px;border-radius:16px;border:2px solid #dfe4ec;background:white;font:inherit;font-size:1.12rem;font-weight:800;cursor:pointer}.papStatsCountTable{width:100%;border-collapse:collapse;margin:18px 0;font-size:1.12rem}.papStatsCountTable th,.papStatsCountTable td{padding:12px;border-bottom:2px solid #edf0f4;text-align:left}.papStatsHint{padding:14px 16px;border-radius:15px;background:#fff8e1;border:2px solid #f0d27a;font-size:1.08rem;line-height:1.5}.papStatsStep{display:flex;gap:12px;align-items:flex-start;margin:14px 0}.papStatsStepNum{min-width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef2ff;font-weight:900}.papToolbox{margin:20px 0;padding:18px;border-radius:20px;background:#f5f1e8;border:3px solid #b79d70}.papToolboxTitle{font-size:1.15rem;font-weight:900;margin-bottom:12px}.papNails{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:14px;border-radius:16px;background:#fff}.papNail{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:42px}.papNailBar{width:8px;background:#4b5563;border-radius:4px 4px 2px 2px}.papNailLabel{font-size:.88rem;font-weight:800;color:#4b5563}.papDrawers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.papDrawer{position:relative;padding:20px 14px 18px;border-radius:12px;background:#d7b98c;border:3px solid #9c7748;box-shadow:inset 0 -8px 0 rgba(0,0,0,.07);text-align:center}.papDrawer:after{content:'';position:absolute;width:42px;height:8px;border-radius:6px;background:#6d5436;left:50%;transform:translateX(-50%);top:8px}.papDrawer strong{display:block;font-size:1.25rem;margin-top:10px}.papDrawer span{display:block;margin-top:5px;font-size:1.02rem;font-weight:800}.papRangeLine{display:grid;grid-template-columns:repeat(15,1fr);gap:2px;margin:22px 0 10px}.papRangeCell{padding:10px 2px;text-align:center;background:#f3f5f8;border:1px solid #dfe3e8;font-weight:800;font-size:.95rem}.papRangeCell.g1{background:#eef6ff}.papRangeCell.g2{background:#f6f0ff}.papRangeCell.g3{background:#fff4e8}.papStatsBigQuestion{font-size:1.35rem;font-weight:900;line-height:1.45;margin:18px 0}.papStatsBridge{padding:18px;border-radius:18px;background:#eef7ef;border:2px solid #b8d9be;font-size:1.12rem;line-height:1.55;margin:18px 0}.papStatsContextBar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:14px 0 18px}.papStatsContextItem{padding:12px 14px;border-radius:14px;background:#f4f6f9;border:2px solid #e2e6ec;font-size:1rem;line-height:1.4}.papStatsContextItem small{display:block;color:#667085;font-weight:800;margin-bottom:3px}.papStatsContextItem b{font-size:1.12rem}.papStatsSampleSticky{padding:14px 16px;border-radius:16px;background:#fff;border:2px solid #e3e6eb;margin:12px 0}.papStatsSampleSticky strong{display:block;margin-bottom:8px}.papStatsSampleValues{display:flex;flex-wrap:wrap;gap:8px}.papStatsSampleValues span{padding:7px 10px;border-radius:10px;background:#f2f4f7;font-weight:800}.papStatsMilestone{padding:14px 16px;border-radius:15px;background:#eef7ef;border:2px solid #b9d9bf;font-size:1.05rem;line-height:1.5;margin:12px 0}.papPreclassGoal{padding:18px 20px;border-radius:18px;background:#fff8df;border:2px solid #efd279;font-size:1.15rem;line-height:1.55;margin:18px 0}.papPreclassTerm{padding:22px;border-radius:20px;background:#f7f8fb;border:2px solid #e0e5ec;margin:18px 0}.papPreclassTerm small{display:block;font-size:1rem;font-weight:900;color:#667085;margin-bottom:6px}.papPreclassTerm strong{font-size:clamp(1.9rem,5vw,2.7rem);display:block;line-height:1.15;margin-bottom:12px}.papPreclassMeaning{font-size:1.2rem;line-height:1.55}.papPreclassExample{margin-top:14px;padding:14px 16px;border-radius:15px;background:#fff;font-size:1.1rem;line-height:1.5}.papPreclassProgress{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 18px}.papPreclassDot{width:28px;height:8px;border-radius:999px;background:#e2e6ec}.papPreclassDot.on{background:#7588d8}.papPreclassCheat{width:100%;border-collapse:collapse;margin:18px 0;font-size:1.08rem}.papPreclassCheat th,.papPreclassCheat td{padding:12px 10px;border-bottom:2px solid #edf0f4;text-align:left;vertical-align:top}.papPreclassCheat th{font-weight:900}.papPreclassSymbol{font-size:1.45rem;font-weight:900}.papPreclassFinish{padding:18px;border-radius:18px;background:#eef7ef;border:2px solid #b9d9bf;font-size:1.13rem;line-height:1.55;margin:16px 0}.papFreqHero{padding:22px;border-radius:20px;background:#f7f8fb;border:2px solid #e1e5ec;margin:18px 0;text-align:center}.papFreqHero .sym{font-size:3rem;font-weight:950;line-height:1}.papFreqHero .meaning{font-size:1.18rem;line-height:1.5;margin-top:10px}.papFreqMiniTable{width:100%;border-collapse:collapse;margin:18px 0;font-size:1.08rem}.papFreqMiniTable th,.papFreqMiniTable td{padding:11px 10px;border-bottom:2px solid #edf0f4;text-align:center}.papFreqMiniTable th:first-child,.papFreqMiniTable td:first-child{text-align:left}.papFreqRule{padding:14px 16px;border-radius:15px;background:#eef4ff;border:2px solid #c8d4ff;font-size:1.08rem;line-height:1.5;margin:14px 0}.papFreqEquation{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:900;text-align:center;padding:16px;border-radius:16px;background:#fff8df;border:2px solid #efd279;margin:14px 0}.papTenths{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:18px auto;max-width:620px}.papTenth{height:52px;border-radius:9px;border:2px solid #cfd5df;background:#fff}.papTenth.on{background:#dbe7ff;border-color:#8197dc}.papHundredths{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin:18px auto;max-width:420px}.papHundredth{aspect-ratio:1/1;border-radius:3px;border:1px solid #d7dce5;background:#fff}.papHundredth.on{background:#dbe7ff}.papDecimalBridge{padding:18px;border-radius:18px;background:#f5f8ff;border:2px solid #cbd8ff;font-size:1.12rem;line-height:1.55;margin:16px 0}.papGuidedTable{width:100%;border-collapse:collapse;margin:16px 0;font-size:1.02rem}.papGuidedTable th,.papGuidedTable td{padding:10px 8px;border:2px solid #e4e7ec;text-align:center}.papGuidedTable th{background:#f5f7fa;font-weight:900}.papGuidedTable td:first-child,.papGuidedTable th:first-child{text-align:left}.papCellNew{background:#fff8df;font-weight:900}.papCellFuture{color:#98a2b3;background:#fafafa}.papGuidedStep{padding:16px;border-radius:16px;background:#eef7ef;border:2px solid #bdddc4;font-size:1.08rem;line-height:1.5;margin:14px 0}.papFormulaTiny{font-size:1.32rem;font-weight:900;text-align:center;margin:10px 0}.papGuidedLegend{font-size:.98rem;color:#667085;margin:8px 0 14px}.papTransferData{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.papTransferData span{padding:8px 11px;border-radius:10px;background:#f2f4f7;font-weight:850}.papTransferSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0}.papTransferSummary>div{padding:12px 14px;border-radius:14px;background:#f7f8fb;border:2px solid #e3e7ee}.papTransferSummary small{display:block;color:#667085;font-weight:850;margin-bottom:4px}.papTransferSummary b{font-size:1.12rem}.papTransferDecision{padding:15px 17px;border-radius:16px;background:#fff8df;border:2px solid #efd279;font-size:1.08rem;line-height:1.5;margin:14px 0}.papGridBuilder{overflow-x:auto;margin:16px 0}.papGridBuilder table{width:100%;border-collapse:collapse;min-width:760px;font-size:1.02rem}.papGridBuilder th,.papGridBuilder td{border:1px solid #d9dee8;padding:10px;text-align:center}.papGridBuilder th{background:#f4f6fa}.papGridBuilder td.done{background:#eef8f2;font-weight:850}.papGridBuilder td.future{background:#f7f8fa;color:#a0a7b4}.papGridBuilder td.current{background:#fff8df;border:3px solid #e3b743}.papGridBuilder input{width:90px;max-width:100%;font:inherit;font-size:1.12rem;font-weight:850;text-align:center;padding:8px;border:2px solid #9aa5b5;border-radius:10px;background:#fff}.papGridQuestion{padding:16px 18px;border-radius:16px;background:#f6f8ff;border:2px solid #d9e1ff;font-size:1.08rem;line-height:1.55;margin:16px 0}.papGridMiniHint{padding:12px 14px;border-radius:14px;background:#f7f8fb;color:#4b5563;line-height:1.45;margin:12px 0}.papGridProgress{font-weight:900;color:#4c5bd4;margin:8px 0 12px}.papAlmostHeader{padding:14px 16px;border-radius:16px;background:#fffdf3;border:2px solid #eadc9a;margin:14px 0;line-height:1.5}.papAlmostInputRow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:16px 0}.papAlmostInputRow input{width:110px;font:inherit;font-size:1.2rem;font-weight:850;text-align:center;padding:10px;border:2px solid #8e99aa;border-radius:11px}.papAlmostGrid{overflow-x:auto;margin:16px 0}.papAlmostGrid table{width:100%;border-collapse:collapse;min-width:760px}.papAlmostGrid th,.papAlmostGrid td{border:1px solid #d9dee8;padding:10px;text-align:center}.papAlmostGrid th{background:#f4f6fa}.papAlmostGrid td.done{background:#eef8f2;font-weight:850}.papAlmostGrid td.current{background:#fff8df;border:3px solid #e3b743}.papAlmostGrid td.future{background:#f8f9fb;color:#a0a7b4}.papAlmostGrid input{width:90px;max-width:100%;font:inherit;font-size:1.12rem;font-weight:850;text-align:center;padding:8px;border:2px solid #8e99aa;border-radius:10px}.papAlmostPrompt{font-size:1.08rem;line-height:1.55;padding:16px;border-radius:16px;background:#f6f8ff;border:2px solid #d9e1ff;margin:14px 0}.papSoloBrief{padding:16px 18px;border-radius:16px;background:#f7f8fb;border:2px solid #dce1e8;margin:14px 0;line-height:1.55}.papSoloRule{padding:13px 15px;border-radius:14px;background:#fff8df;border:2px solid #efd279;margin:12px 0;line-height:1.45}.papSoloMini{font-size:.98rem;color:#667085;margin-top:8px}.papSoloGrid{overflow-x:auto;margin:16px 0}.papSoloGrid table{width:100%;border-collapse:collapse;min-width:760px}.papSoloGrid th,.papSoloGrid td{border:1px solid #d9dee8;padding:10px;text-align:center}.papSoloGrid th{background:#f4f6fa}.papSoloGrid td.done{background:#eef8f2;font-weight:850}.papSoloGrid td.current{background:#fff8df;border:3px solid #e3b743}.papSoloGrid td.future{background:#fafbfc;color:#a0a7b4}.papSoloGrid input{width:92px;max-width:100%;font:inherit;font-size:1.12rem;font-weight:850;text-align:center;padding:8px;border:2px solid #8e99aa;border-radius:10px}.papThinkCase{padding:18px;border-radius:18px;background:#f7f9fc;border:2px solid #d9e0ea;margin:14px 0;line-height:1.6}.papThinkQuestion{font-size:1.15rem;font-weight:850;line-height:1.5;margin:18px 0 12px}.papThinkChoiceGrid{display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0}.papThinkChoiceGrid button{font:inherit;text-align:left;padding:14px 16px;border:2px solid #cfd6e2;border-radius:14px;background:white;cursor:pointer;line-height:1.35}.papThinkChoiceGrid button:hover{border-color:#8794ad}.papThinkTag{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef1f7;font-size:.92rem;font-weight:800;margin-bottom:8px}.papStatsRealContext{max-width:900px;margin:12px auto 16px;padding:16px 18px;border-radius:16px;background:#f3f7ff;border:1px solid #d7e2ff;font-size:1.15rem;line-height:1.5}
.papThinkTakeaway{padding:15px 17px;border-radius:15px;background:#eef8f2;border:2px solid #b9ddc7;margin:14px 0;line-height:1.5}.papThinkProgress{font-weight:900;color:#4c5bd4;margin:10px 0}


/* Global question-size rule */
/* FIX130 · Norma global de llegibilitat de les preguntes.
   Una pregunta interactiva ha de destacar del text explicatiu.
   Mai reduïm la tipografia per fer-la cabre: la pantalla creix verticalment. */
:root{--pap-question-min-desktop:1.75rem;--pap-question-min-mobile:1.5rem}
.smrQuestion,
.papStatsBigQuestion,
.papGridQuestion,
.papThinkQuestion,
.factorStepQuestion,
.contentInspectorQuestion,
.sfaQuestion,
.whyMathQuestion h3,
.catPreviewQuestion h3,
.papPreviewQuestion h3{
  font-size:max(var(--pap-question-min-desktop),1em)!important;
  line-height:1.32!important;
  font-weight:850!important;
}
@media(max-width:760px){
  .smrQuestion,
  .papStatsBigQuestion,
  .papGridQuestion,
  .papThinkQuestion,
  .factorStepQuestion,
  .contentInspectorQuestion,
  .sfaQuestion,
  .whyMathQuestion h3,
  .catPreviewQuestion h3,
  .papPreviewQuestion h3{
    font-size:max(var(--pap-question-min-mobile),1em)!important;
  }
}
