:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB",sans-serif;color:#17253e;background:#eef2f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;border:0}button:disabled{cursor:default}button:focus-visible{outline:3px solid #42caa3;outline-offset:3px}h1,h2,h3,p{margin:0}h3{font-size:16px}button,input{touch-action:manipulation}.workspace{max-width:1100px;margin:0 auto;padding:44px 36px;display:grid;grid-template-columns:1fr 430px;gap:86px;align-items:start}.intro-panel{position:sticky;top:44px;min-height:700px;padding-top:18px;display:flex;flex-direction:column}.brand{display:flex;gap:14px;align-items:center}.brand img{width:46px;height:46px;border-radius:13px}.brand strong{display:block;font-size:18px;color:#071f4b;letter-spacing:1px}.brand span{display:block;font-size:9px;letter-spacing:2px;color:#92a0b3;margin-top:5px}.intro-copy{margin-top:95px}.small-label{font-size:10px;color:#099970;font-weight:750;letter-spacing:1.8px}.intro-copy h1{font-size:56px;line-height:1.27;letter-spacing:-2px;color:#071f4b;margin:23px 0}.intro-copy h1 em{font-style:normal;color:#0ca47a}.intro-copy p{color:#7a889d;font-size:15px;line-height:1.9}.intro-topics{display:flex;gap:12px;margin-top:28px}.intro-topics span{font-size:12px;padding:7px 15px;border:1px solid #d9e2eb;border-radius:20px;color:#65748a}.preview-info{font-size:10px;color:#8c99a9;margin-top:auto;padding-top:60px;display:flex;gap:8px;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;background:#11b982}.device-shell{background:#f4f6fa;border:1px solid #fff;box-shadow:0 24px 70px #152b4920;border-radius:32px;overflow:hidden;min-width:0}.device-header{height:66px;padding:16px 23px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e8edf3;background:#f9fafc}.device-header img{width:28px;height:28px;border-radius:8px}.device-header strong{font-size:14px;color:#071f4b}.device-header>span{margin-left:auto;border:1px solid #e1e6ed;padding:4px 10px;font-size:10px;border-radius:14px;color:#77869d}#app{padding:28px 22px 20px;min-height:625px}.page-heading{margin-bottom:22px}.page-heading h2{font-size:24px;color:#071f4b;line-height:1.4;margin:9px 0 8px;letter-spacing:-.6px}.page-heading p{font-size:12px;color:#8190a4;line-height:1.8}.hero{background:#071f4b;border-radius:23px;color:#fff;padding:23px 23px 20px;position:relative;overflow:hidden}.hero:after{content:"";width:150px;height:150px;border:1px solid #fff0;border-radius:50%;position:absolute;right:-75px;top:35px;box-shadow:0 0 0 20px #ffffff04,0 0 0 40px #ffffff04,0 0 0 60px #ffffff04;pointer-events:none}.hero-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#c8d2e5}.hero-badge{background:#ffffff13;padding:4px 8px;border:1px solid #ffffff12;border-radius:7px;font-size:9px}.hero-number{font-size:64px;font-weight:750;line-height:1.25;letter-spacing:-2px;margin-top:13px}.hero-number small{font-size:13px;font-weight:450;letter-spacing:0;margin-left:10px;color:#b3c4de}.hero p{font-size:11px;color:#a9bcd9;margin:6px 0 23px}.hero-action{background:#13b886;border-radius:12px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;width:100%;font-weight:600;color:#fff;font-size:13px;position:relative;z-index:1}.hero-action:hover{background:#0faa7b}.resume-card{padding:14px 17px;display:flex;justify-content:space-between;align-items:center;width:100%;background:#e9f4f1;border-radius:14px;color:#087b5e;text-align:left;margin-top:14px}.resume-card strong{font-size:12px;display:block}.resume-card small{font-size:10px;display:block;margin-top:4px;color:#6f8e86}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0 30px;text-align:center}.quick-stats>div+div{border-left:1px solid #e1e7ef}.quick-stats strong{font-size:24px;color:#142848;display:block;line-height:1.5}.quick-stats strong small{font-size:12px;color:#9aa6b7;font-weight:400}.quick-stats span{font-size:10px;color:#8793a5}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-heading span{color:#98a4b5;font-size:10px}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.module-card{border:1px solid #e5ebf3;border-radius:18px;background:#fff;padding:18px;text-align:left;display:flex;flex-direction:column}.module-card:hover{border-color:#acbdcc}.module-icon{height:34px;width:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;font-size:15px;font-weight:700;margin-bottom:13px;flex-shrink:0}.geo{background:#e6f4ef;color:#19856b}.history{background:#fff2dc;color:#b48832}.politics{background:#e9effb;color:#5975a7}.economy{background:#f2ebf9;color:#9976b2}.all{background:#edf1f7;color:#546d97}.module-card strong{font-size:16px;font-weight:650;color:#172c4a}.module-card small{font-size:10px;color:#94a0b0;margin-top:6px}.module-count{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-top:17px;color:#8799ad}.module-count b{font-weight:400;color:#899bb2}.footnote{text-align:center;font-size:10px;line-height:1.7;color:#99a5b6;margin-top:23px}#tabbar{display:grid;grid-template-columns:repeat(4,1fr);padding:10px 8px 15px;background:#fff;border-top:1px solid #e7edf4;position:sticky;bottom:0;z-index:3}#tabbar[hidden]{display:none}#tabbar button{background:none;color:#98a4b3;font-size:10px;display:flex;flex-direction:column;gap:5px;align-items:center;padding:5px}#tabbar button span{font-size:21px;line-height:1.1}#tabbar button.active{color:#071f4b;font-weight:650}.card{border:1px solid #e8edf3;background:#fff;border-radius:20px;padding:22px;margin-bottom:18px}.primary,.secondary,.danger{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 19px;min-height:48px;width:100%;font-size:14px;font-weight:650;border-radius:13px}.primary{background:#071f4b;color:#fff}.primary:hover{background:#17365d}.primary span{margin-left:auto}.secondary{background:#e9eef4;color:#304968}.danger{background:#aa5144;color:#fff}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{padding:9px 13px;background:#f2f5f9;border:1px solid transparent;color:#7b899c;font-size:12px;border-radius:10px}.chip.active{background:#e8f6ef;color:#098963;border-color:#b7e2d2;font-weight:650}.library-description{display:flex;gap:14px;align-items:center;border-top:1px solid #edf1f6;margin-top:23px;padding-top:22px}.library-description .module-icon{margin:0;height:42px;width:42px}.library-description strong{font-size:14px;display:block}.library-description small{color:#8e9aae;font-size:11px;display:block;margin-top:6px}.count-grid{display:flex;gap:12px;margin:20px 0}.count-option{padding:17px 8px;border:1px solid #e5ebf3;background:#fff;border-radius:12px;font-size:21px;font-weight:700;flex:1;color:#6e7f97}.count-option small{font-size:10px;font-weight:400;margin-left:4px}.count-option.active{background:#edf3fa;border-color:#8096b7;color:#071f4b}.muted{font-size:12px;line-height:1.8;color:#8794a7}.quiet-note{text-align:center;margin:26px 10px 5px;font-size:12px;color:#728197}.quiet-note strong{font-size:12px;font-weight:550}.quiet-note p{font-size:11px;margin-top:8px;line-height:1.8;color:#99a5b3}.quiz-heading{display:flex;align-items:center;gap:12px}.quiz-heading>strong{margin-left:auto;font-size:24px;color:#071f4b}.quiz-heading>strong small{font-size:12px;color:#91a0b4;font-weight:400}.back-button{background:#e8edf3;border-radius:9px;width:29px;height:29px;font-size:18px;color:#718198}.progress-track{height:4px;background:#e0e6ee;overflow:hidden;border-radius:20px;margin:14px 0 20px}.progress-track>span{display:block;height:100%;background:#12b585}.quiz-meta{display:flex;gap:10px;align-items:center;margin-bottom:17px}.pill{display:inline-block;padding:4px 9px;background:#e6f4ef;border-radius:15px;color:#188465;font-size:10px}.quiz-meta .muted{font-size:10px}.bookmark{margin-left:auto;background:transparent;color:#8996a9;font-size:12px;padding:8px 0 8px 8px}.bookmark.bookmarked{color:#b7831d}.question-card{padding:23px 18px}.passage{background:#f3f6f9;border-left:3px solid #b7c7dc;padding:15px;margin-bottom:20px;color:#44546a;line-height:1.95;white-space:pre-wrap;font-size:14px}.stem{font-size:17px;font-weight:650;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;color:#1d2d46}.answer-instruction{font-size:10px;color:#94a0b2;margin:20px 0 14px}.options{display:flex;flex-direction:column;gap:11px}.option{display:flex;gap:12px;text-align:left;padding:14px 13px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;align-items:flex-start;line-height:1.7;color:#33425a;font-size:14px}.option>span:nth-child(2){flex:1;white-space:pre-wrap}.option:not(:disabled):hover{background:#f5f8fb;border-color:#9badc4}.option-letter{display:block;flex-shrink:0;width:25px;height:25px;line-height:25px;text-align:center;border-radius:7px;background:#f0f3f7;color:#5c708a;font-size:12px;font-weight:700}.option.correct{border-color:#1aac80;background:#eef9f4;color:#0c7e5c}.option.correct .option-letter{background:#14a577;color:#fff}.option.wrong{border-color:#ce8b7e;background:#fff4f0;color:#a35241}.option.wrong .option-letter{background:#bc745f;color:#fff}.feedback{border-radius:19px;padding:21px 19px;background:#fff;border:1px solid #e6ecf3;margin-bottom:18px}.feedback h3{color:#13926d;font-size:15px;margin-bottom:13px}.feedback-wrong h3{color:#a8634b}.correct-answer{display:flex;align-items:center;font-size:12px;gap:12px;color:#8290a3}.correct-answer strong{font-size:21px;color:#122b4c}.correct-answer>span{font-size:11px;margin-left:7px;color:#b08271}.explanation{font-size:14px;line-height:1.95;color:#405169;white-space:pre-wrap;margin-top:15px}.knowledge-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.knowledge-tags span{padding:4px 7px;background:#eef3f8;border-radius:6px;font-size:10px;color:#6d829b}.notes-toggle{background:transparent;width:100%;text-align:left;border-top:1px solid #e7edf3;font-size:12px;color:#6f8199;padding:14px 0 0;margin-top:15px}.option-notes p{display:flex;gap:11px;font-size:12px;line-height:1.9;color:#708199;margin-top:13px}.option-notes strong{color:#344b6c}.completion{text-align:center;padding-top:20px}.completion-check{background:#e0f3eb;color:#11966d;font-size:37px;line-height:70px;height:70px;width:70px;border-radius:23px;margin:0 auto 20px}.completion>.small-label{display:block;margin-top:10px}.completion>h2{font-size:23px;letter-spacing:-.5px;margin:14px 0 10px;color:#071f4b}.completion .primary{margin-top:22px}.completion .secondary{margin-top:12px}.result-card{margin-top:26px;padding:25px 15px}.result-score{font-size:70px;font-weight:750;line-height:1.4;color:#071f4b;letter-spacing:-3px}.result-score small{font-size:25px;color:#a3afbf;font-weight:400;letter-spacing:0}.result-stats{display:flex;justify-content:space-around;margin-top:20px;border-top:1px solid #edf1f5;padding-top:23px}.result-stats span{display:block;font-size:11px;color:#8a98aa}.result-stats strong{display:block;font-size:24px;margin-top:9px;color:#172e50}.text-button{background:transparent;color:#8796ab;width:100%;padding:18px;font-size:12px}.segmented{display:flex;background:#e7edf3;padding:4px;border-radius:13px;margin-bottom:22px}.segmented button{flex:1;background:transparent;border-radius:10px;padding:11px;color:#8190a6;font-size:13px}.segmented button.active{background:#fff;color:#122b4c;box-shadow:0 2px 7px #1b365514}.segmented button span{margin-left:4px;font-size:11px;color:#97a4b6}.list-help{font-size:11px;color:#91a0b2;margin:14px 0 19px}.review-list{display:flex;flex-direction:column;gap:13px}.review-item{background:#fff;border:1px solid #e6edf4;border-radius:17px;text-align:left;padding:18px;width:100%}.review-item>div{display:flex;justify-content:space-between;align-items:center}.review-item .muted{font-size:10px}.review-item p{font-size:14px;line-height:1.8;color:#334762;margin:12px 0 17px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.review-item footer{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:#91a2b6}.review-item footer>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-item footer b{white-space:nowrap;color:#367965;font-weight:500}.empty{text-align:center;padding:38px 10px}.empty-icon{display:block;margin:0 auto 24px;width:65px;height:65px;line-height:65px;border-radius:21px;background:#e5f0ed;font-size:30px;color:#5a9e8b}.empty h2,.empty h3{font-size:18px;color:#233f60}.empty p{font-size:12px;color:#9aabbd;line-height:1.8;margin:13px 0 28px}.profile-title{display:flex;gap:11px;align-items:center}.profile-title img{width:42px;height:42px;border-radius:13px}.profile-title h3{font-size:14px}.profile-title .muted{font-size:10px}.profile-title>.pill{margin-left:auto;white-space:nowrap;padding:4px 7px;font-size:9px}.profile-stats{display:flex;justify-content:space-around;margin-top:27px;padding-top:22px;border-top:1px solid #edf1f6;text-align:center}.profile-stats strong{display:block;font-size:26px;color:#152e50}.profile-stats span{display:block;font-size:10px;color:#99a7b8;margin-top:8px}.chart{display:flex;justify-content:space-between;gap:9px;height:150px;padding-top:8px}.chart-col{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bar-slot{height:90px;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar-slot>span{background:#24b489;width:17px;border-radius:5px 5px 2px 2px;display:block}.bar-slot>span.zero{background:#e5ebf2}.bar-value{font-size:10px;color:#6b9186;height:19px}.chart-col small{font-size:9px;color:#9aa7b8;margin-top:10px}.body-note{font-size:12px;line-height:1.95;color:#8593a6;margin-top:14px}.clear-button{display:block;margin:20px auto 0;background:none;color:#b48376;font-size:12px;padding:14px}.modal-shade{position:fixed;inset:0;background:#071f4b70;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:22px;padding:27px;max-width:350px;box-shadow:0 20px 80px #071f4b33}.modal h2{font-size:20px;color:#142e4f}.modal p{font-size:13px;color:#8795a9;line-height:1.9;margin:15px 0 25px}.modal>div{display:flex;gap:12px}.modal>div button{font-size:12px;padding:11px;min-height:42px}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#172d4aeb;color:#fff;font-size:12px;line-height:1.7;max-width:300px;padding:12px 20px;border-radius:13px;z-index:40;opacity:0;pointer-events:none;transition:opacity .15s}#toast.visible{opacity:1}@media(max-width:800px){.workspace{display:block;padding:0;max-width:480px}.intro-panel{display:none}.device-shell{border:0;border-radius:0;box-shadow:none;min-height:100dvh}.device-header{height:57px}#app{padding:27px 22px;min-height:calc(100dvh - 132px)}#tabbar{padding-bottom:max(12px,env(safe-area-inset-bottom))}.page-heading h2{font-size:24px}.device-shell{overflow:visible}.hero{padding:24px}.module-card{padding:19px}body{background:#f4f6fa}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.paper-label{font-size:12px;color:#71849d;display:block;margin-bottom:10px}.paper-select{width:100%;border:1px solid #dce5ef;background:#f4f7fa;padding:13px 10px;border-radius:10px;color:#273d5d;font:inherit;font-size:12px}.page-select{min-width:85px;border:1px solid #dce5ef;padding:7px 3px;border-radius:9px;color:#53708d;background:#fff;font:inherit;font-size:11px}.source-viewer{margin-top:16px}.source-zoom{display:block;width:100%;background:#fff;border:1px solid #e1e8f0;padding:0;cursor:zoom-in}.source-zoom img{display:block;width:100%;height:auto}.media-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:12px 0}.media-actions .chip{padding:8px;font-size:10px}.media-actions button:disabled{opacity:.4}.location-note{color:#9b7b51;font-size:11px;line-height:1.8;margin:10px 0}.image-overlay{position:fixed;inset:0;z-index:40;background:#edf1f5;overflow:auto;padding:75px 20px 25px}.close-image{position:fixed;right:20px;top:18px;background:#071f4b;color:#fff;border-radius:12px;padding:13px 23px;z-index:41}.image-scroll{overflow:auto;background:white;margin-top:16px}.image-scroll img{display:block;width:1200px;max-width:none;height:auto}.image-overlay p{font-size:12px;color:#657b95}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.primary:disabled{opacity:.4}.quiz-meta{flex-wrap:wrap}.quiz-meta>.muted{max-width:65%}.option:disabled:not(.correct):not(.wrong){opacity:.7}

.review-source{color:#7c8ea5;font-size:11px;margin-top:12px;line-height:1.7}
.review-notice{font-size:12px;line-height:1.6;color:#526b5f;background:#eff6f1;border-radius:8px;padding:9px 12px;margin:14px 0 0}

/* The browser shows a reviewable card; WeChat performs group forwarding natively. */
.result-share-entry{background:#098566}.result-share-entry:hover{background:#087558}.result-share-shade{padding:16px;align-items:center;overflow:auto}.result-share-dialog{width:100%;max-width:420px;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:#f7f9fc;border-radius:24px;padding:23px;box-shadow:0 20px 80px #071f4b33;text-align:left}.result-share-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-share-heading h2{font-size:20px;color:#142e4f;line-height:1.4}.share-close{width:36px;height:36px;flex:none;border-radius:50%;background:#eaf0f5;color:#667c94;font-size:23px;line-height:1}.result-share-help{font-size:12px;line-height:1.8;color:#6b7d92;margin:10px 0 17px}.share-report{container-type:inline-size;border-radius:18px;overflow:hidden;background:#f5f5ec;color:#183d33;padding:12px;box-shadow:0 8px 25px #183d3308}.share-report-sheet{container-type:inline-size;background:#fff;border-radius:16px;padding:12px 10px 14px}.share-report-brand{display:flex;align-items:center;gap:8px}.share-report-brand>span{width:4px;height:19px;border-radius:3px;background:#18765f;flex:none}.share-report-brand strong{font-size:clamp(12px,4.4cqw,22px);font-weight:600;line-height:1.3}.share-report-kicker{color:#657c72;font-size:clamp(10px,3.4cqw,17px);line-height:1.6;margin:18px 0 14px}.share-report-metrics{display:grid;grid-template-columns:minmax(0,1fr) 30%;gap:12px;align-items:end}.share-report-score{min-width:0}.share-report-score>span{display:block;color:#657c72;font-size:clamp(10px,3cqw,15px);margin-bottom:6px}.share-report-score>strong{display:block;color:#183d33;font-size:clamp(26px,16cqw,80px);font-weight:700;line-height:1.1;letter-spacing:-1px;white-space:nowrap;font-variant-numeric:tabular-nums}.share-report-score>strong.share-score-long{font-size:clamp(18px,8.5cqw,43px);letter-spacing:-.6px;line-height:1.8}.share-report-accuracy{text-align:center;background:#edf5ed;border-radius:12px;padding:12px 4px 10px;min-width:0}.share-report-accuracy>span{display:block;color:#657c72;font-size:clamp(10px,2.8cqw,14px);margin-bottom:6px}.share-report-accuracy>strong{display:block;color:#18765f;font-size:clamp(20px,7.8cqw,39px);line-height:1.15;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.share-report-progress{height:4px;border-radius:3px;background:#edf0e8;overflow:hidden;margin:19px 0 15px}.share-report-progress>span{display:block;height:100%;border-radius:3px;background:#18765f}.share-report h3{font-size:clamp(11px,3.8cqw,19px);line-height:1.65;overflow-wrap:anywhere;font-weight:600;color:#183d33}.share-report-footer{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin-top:17px;color:#657c72;font-size:clamp(9px,2.8cqw,14px);line-height:1.5}.share-report-footer p{font-size:inherit}.share-report-footer time{font-size:inherit;margin-left:auto}.share-summary-label{display:block;font-size:12px;color:#415d79;font-weight:650;margin:20px 0 9px}.share-summary{resize:vertical;display:block;width:100%;min-height:110px;max-height:210px;border:1px solid #dce5ee;border-radius:12px;background:#fff;padding:12px 14px;font:inherit;font-size:12px;color:#536a82;line-height:1.7;overflow-wrap:anywhere}.share-summary:focus-visible{outline:2px solid #19ab83;outline-offset:2px}.share-copy-status{min-height:34px;color:#71839a;font-size:11px;line-height:1.6;margin:10px 0}.share-copy{background:#098566}.share-copy:hover{background:#087558}.result-share-dialog .text-button{padding-bottom:0}.share-copy:disabled{opacity:.65}@media(max-width:360px){.result-share-shade{padding:10px}.result-share-dialog{padding:18px;max-height:calc(100dvh - 20px);border-radius:20px}.share-report{padding:10px}.share-report-sheet{padding:10px 8px 12px}.share-report-metrics{gap:8px}.share-report-accuracy{padding:10px 3px}}

/* Subject selection and short, native-text mathematics practice. */
.subject-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}.subject-switch button{display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;gap:3px 8px;align-items:center;min-height:69px;padding:12px;background:#edf1f6;border:1px solid #e0e6ef;border-radius:15px;color:#7d8a9d;text-align:left}.subject-switch button>span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:30px;height:34px;border-radius:9px;background:#fff8;font-size:22px;font-family:Georgia,serif}.subject-switch strong{font-size:13px}.subject-switch small{font-size:10px;font-weight:400}.subject-switch button.active{background:#fff;border-color:#a2b4c8;color:#10294b;box-shadow:0 3px 9px #14345b06}.subject-switch button[data-subject=math1].active{border-color:#b6a8cf;background:#fbf9ff;color:#675087}.math-feature{position:relative;overflow:hidden;padding:25px 23px;background:#eee9f6;border:1px solid #e4ddee;border-radius:22px;margin-bottom:18px;color:#51396f}.math-feature .small-label{color:#88729e;font-size:9px;letter-spacing:1.5px}.math-feature h3{font-size:27px;line-height:1.47;letter-spacing:-.6px;margin:13px 0}.math-feature p{font-size:12px;line-height:1.9;color:#8a789c}.math-feature-bottom{display:flex;align-items:center;gap:7px;margin-top:20px}.math-feature-bottom>span{font-size:9px;border:1px solid #dcd2e8;border-radius:7px;background:#f7f3fc;padding:6px;color:#8d779f;position:relative;z-index:1}.math-feature-bottom>b{position:absolute;right:19px;bottom:7px;font-size:134px;font-family:Georgia,serif;font-style:italic;font-weight:400;line-height:1;color:#ded3ea;transform:rotate(9deg);pointer-events:none}.math-hero .hero-action{background:#9673b3}.math-hero .hero-action:hover{background:#8964a7}.math-violet{background:#f0eaf8;color:#8a67a5}.math-modules .module-card strong{font-size:14px}.math-modules .module-card:last-child{grid-column:1/-1}.math-library-note{display:flex;align-items:center;gap:13px;background:#f0ebf7;border:1px solid #e5ddee;border-radius:16px;padding:17px;margin-bottom:19px}.math-library-note .module-icon{margin:0;background:#e4daef}.math-library-note strong{font-size:13px;color:#654b80}.math-library-note p{margin-top:5px;font-size:11px;line-height:1.8;color:#9687a4}.math-practice .quiz-heading .small-label{letter-spacing:.2px;font-size:11px;color:#806096}.math-progress>span{background:#9a7bb5}.math-pill{background:#efe8f6;color:#8a68a1}.math-question{padding:21px 19px 22px;border-color:#e8e0f0}.math-goal{font-size:10px;color:#a496b0;border-bottom:1px solid #eee8f4;padding-bottom:16px;margin-bottom:20px;display:flex;align-items:baseline;gap:10px;line-height:1.7}.math-goal span{font-size:12px;color:#776286}.math-question .stem{font-size:18px;font-weight:600;line-height:1.9;letter-spacing:.1px}.math-formula{background:#f8f5fb;border:1px solid #eee6f6;border-radius:13px;padding:20px 10px;text-align:center;margin:21px 0;color:#543e6b;font-size:24px;line-height:1.65;font-family:Georgia,"Times New Roman","Hiragino Mincho ProN",serif;white-space:pre-wrap;overflow-wrap:anywhere}.math-hint{border-top:1px dashed #e4ddeb;border-bottom:1px dashed #e4ddeb;margin-top:20px}.math-hint-toggle{background:none;padding:14px 0;min-height:48px;width:100%;text-align:left;color:#8b719f;font-size:12px}.math-hint p{font-size:12px;line-height:1.9;color:#8e7c9c;margin:0 0 15px}.math-options .option{min-height:65px;align-items:center;font-size:19px;padding:15px;border-color:#e7e0ed;gap:16px}.math-options .option-letter{width:26px;height:26px;line-height:26px;background:#f3eff7;color:#8a789a;font-size:11px}.math-options .option:not(:disabled):hover{background:#fbf8ff;border-color:#b29bc4}.math-option-content{font-family:Georgia,"Times New Roman","Hiragino Mincho ProN",serif;line-height:1.75;overflow-wrap:anywhere}.math-options .option b{font-size:17px}.math-fraction{display:inline-flex;flex-direction:column;align-items:stretch;vertical-align:middle;line-height:1.25;text-align:center;font-variant-numeric:lining-nums;margin:0 .16em;min-width:1.1em}.math-fraction>span:first-child{padding:0 .2em .13em;border-bottom:1px solid currentColor}.math-fraction>span:last-child{padding:.13em .2em 0}.math-feedback{border-color:#e6ddec;padding:24px 20px}.math-feedback-kicker{font-size:10px;color:#ab98b8;margin-bottom:8px;letter-spacing:1px}.math-feedback h3{font-size:21px;margin-bottom:17px}.math-feedback .explanation{font-size:13px;line-height:1.9}.math-steps{list-style:none;padding:0;margin:24px 0 18px}.math-steps li{display:grid;grid-template-columns:24px 1fr;gap:11px;position:relative;padding-bottom:22px}.math-steps li:last-child{padding-bottom:0}.math-steps li:not(:last-child):before{content:"";width:1px;background:#e8e0ee;position:absolute;top:27px;left:11px;bottom:5px}.math-step-number{width:24px;height:24px;background:#f0e9f7;border-radius:8px;text-align:center;line-height:24px;font-size:11px;color:#8d6ba4}.math-steps h4{font-size:13px;color:#65497b;margin:3px 0 7px}.math-steps p{font-size:12px;line-height:1.85;color:#8b7b97}.math-step-formula{background:#f7f4fa;padding:12px 10px;border-radius:9px;margin-top:10px;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.6;color:#735486;white-space:pre-wrap;overflow-wrap:anywhere}.math-mistake{font-size:12px;color:#9a7568;line-height:1.85;background:#fff8f3;border-radius:11px;padding:13px 15px;margin-top:18px}.math-mistake strong{font-size:11px;display:block;margin-bottom:4px;color:#ad826f}.review-subject-filter{display:flex;gap:8px;margin-bottom:18px}.review-subject-filter .chip{min-height:42px;flex:1;padding:9px 6px}
@media(max-width:380px){.subject-switch{gap:8px}.subject-switch button{padding:10px;grid-template-columns:25px 1fr;gap:3px 6px}.subject-switch button>span{width:25px}.subject-switch strong{font-size:12px}.math-formula{font-size:21px}.math-options .option{padding:13px 11px;gap:12px}.math-question{padding:18px 15px}.math-practice .quiz-heading .small-label{font-size:10px}.math-feature-bottom>span{font-size:8px}.intro-topics{gap:8px}}
.math-review-formula{font-family:Georgia,"Times New Roman",serif;font-size:17px;color:#775c8a;padding:12px;border-radius:9px;background:#f6f2fa;margin:0 0 14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}

/* Three calm subject tabs stay readable on a 320px phone. */
.subject-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.subject-switch button{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:5px;padding:12px 7px;justify-items:center;text-align:center;min-width:0;min-height:99px}.subject-switch button>span{grid-row:auto;width:30px;height:30px;font-size:23px}.subject-switch strong{font-size:12px;white-space:nowrap}.subject-switch small{font-size:9px;white-space:nowrap}.subject-switch button[data-subject=japanese-listening].active{border-color:#d5b576;background:#fffbf3;color:#926c29}.review-subject-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.subject-learning-stats{margin-top:16px}.subject-learning-stats>div{display:flex;align-items:center;gap:10px;padding:15px 0;border-top:1px solid #edf1f6}.subject-learning-stats strong{font-size:12px;color:#47617e}.subject-learning-stats span{font-size:10px;color:#8b9aaf;flex:1}.subject-learning-stats b{font-size:15px;color:#45645c}
.listening-feature{position:relative;overflow:hidden;padding:25px 23px;background:#f5eddd;border:1px solid #eaddc3;border-radius:22px;margin-bottom:18px;color:#7b5726}.listening-feature .small-label{color:#a58a5c;font-size:9px;letter-spacing:1.2px}.listening-feature h3{font-size:27px;line-height:1.47;letter-spacing:-.6px;margin:13px 0}.listening-feature p{font-size:12px;line-height:1.9;color:#a18a67}.listening-feature-bottom{display:flex;align-items:center;gap:7px;margin-top:20px}.listening-feature-bottom>span{font-size:9px;border:1px solid #e4d4b4;border-radius:7px;background:#fbf7ed;padding:6px;color:#aa8957;position:relative;z-index:1}.listening-feature-bottom>b{position:absolute;right:24px;bottom:7px;font-size:114px;line-height:1;color:#e8d9b9;transform:rotate(-10deg);pointer-events:none}.listening-hero .hero-action{background:#ba9257}.listening-hero .hero-action:hover{background:#ad8246}.listening-amber{background:#f6eddb;color:#ac8548}.listening-library-note{display:flex;align-items:center;gap:13px;background:#f7efdf;border:1px solid #ecdfc7;border-radius:16px;padding:17px;margin-bottom:19px}.listening-library-note .module-icon{margin:0;background:#efe2c7}.listening-library-note strong{font-size:13px;color:#8b6938}.listening-library-note p{margin-top:5px;font-size:11px;line-height:1.8;color:#a69576}
.listening-practice .quiz-heading .small-label{letter-spacing:0;font-size:11px;color:#9b7846}.listening-progress>span{background:#c09b62}.listening-pill{background:#f5ecda;color:#a8874e}.listening-player{background:#f6eedf;border:1px solid #e9dcc4;border-radius:22px;padding:22px 20px 14px;margin-bottom:19px;color:#78572a}.listening-scene{display:flex;align-items:center;gap:13px}.listening-headphone{display:flex;align-items:center;justify-content:center;background:#fff8e9;border:1px solid #e8d8b7;width:47px;height:47px;flex:none;border-radius:16px;font-size:29px;color:#bb985c}.listening-scene>div{min-width:0}.listening-scene div>span{font-size:10px;line-height:1.6;color:#b09976}.listening-scene h2{font-size:19px;line-height:1.55;margin-top:4px;color:#775527;overflow-wrap:anywhere}.listening-instruction{font-size:11px;line-height:1.85;color:#866d49;margin-top:11px}.listening-wave{height:44px;display:flex;align-items:center;justify-content:center;gap:5px;margin:8px 0 6px}.listening-wave i{display:block;width:5px;max-height:56px;background:#d5bb89;border-radius:5px;transform:scaleY(.65);opacity:.68}.is-playing .listening-wave i{animation:listening-wave 1.3s ease-in-out infinite;animation-delay:var(--wave-delay);opacity:1}.listening-timeline{display:flex;align-items:center;gap:12px}.listening-track{height:4px;background:#e7d8bd;flex:1;border-radius:5px;overflow:hidden}.listening-track>span{display:block;background:#b3894d;width:0;height:100%;border-radius:5px}.listening-timeline>span{font-size:10px;font-variant-numeric:tabular-nums;color:#866d49;white-space:nowrap}.listening-controls{display:flex;align-items:center;gap:10px;margin-top:16px}.listening-play{flex:1;min-height:48px;border-radius:13px;padding:12px;background:#a67d3f;color:#fffaf2;font-size:14px;font-weight:600;box-shadow:0 4px 12px #91743b14}.listening-play:hover{background:#946b31}.listening-restart{min-height:48px;padding:12px 10px;border-radius:12px;border:1px solid #e3d1ae;background:#fcf7eb;color:#a08457;font-size:11px}.listening-rate{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.listening-rate>span{font-size:10px;color:#866d49}.listening-rate>div{display:flex;gap:5px}.listening-rate button{background:transparent;border:1px solid transparent;border-radius:7px;padding:8px 10px;font-size:11px;color:#8a7150;min-width:44px;min-height:36px}.listening-rate button.active{background:#fff9ee;color:#97733b;border-color:#e4d2af}.listening-status{font-size:10px;color:#866d49;line-height:1.8;min-height:26px;margin-top:12px;border-top:1px solid #e9dcc6;padding-top:12px}.listening-question{padding:22px 19px 24px;border-color:#e9e2d5}.listening-question-label{font-size:10px;color:#b59a71;margin-bottom:13px;letter-spacing:1px}.listening-question .stem{font-size:17px;line-height:1.9;color:#51462f;font-weight:550}.listening-options .option{min-height:62px;align-items:center;padding:15px 13px;border-color:#e8e3d9;font-size:15px;line-height:1.85;gap:13px}.listening-options .option:not(:disabled):hover{background:#fffcf5;border-color:#ccb588}.listening-options .option:disabled:not(.correct):not(.wrong){opacity:.66;background:#faf9f6}.listening-options .option-letter{background:#f3eee3;color:#a58d65}.listening-options .option.correct .option-letter{background:#14a577;color:#fff}.listening-options .option.wrong .option-letter{background:#bc745f;color:#fff}.listening-feedback{padding:23px 20px;border-color:#e6ddcc}.listening-feedback-kicker{font-size:10px;color:#bba17b;letter-spacing:1px;margin-bottom:8px}.listening-feedback h3{font-size:21px;margin-bottom:18px}.listening-feedback .explanation{font-size:13px;line-height:1.95}.listening-mistake{font-size:12px;color:#997867;line-height:1.85;background:#fff7f0;border-radius:11px;padding:13px 15px;margin-top:18px}.listening-mistake strong{font-size:10px;display:block;margin-bottom:5px;color:#b18d78}.listening-phrases{background:#faf6ed;padding:17px;border-radius:13px;margin-top:22px}.listening-phrases h4{font-size:11px;color:#a28556;margin-bottom:12px}.listening-phrases p{padding:10px 0;border-top:1px solid #eee4d1}.listening-phrases strong{display:block;font-size:14px;line-height:1.8;font-weight:550;color:#78623f;overflow-wrap:anywhere}.listening-phrases span{display:block;margin-top:4px;font-size:11px;line-height:1.85;color:#b09c7d}.listening-transcripts{padding:20px;border-color:#e9e2d5}.listening-transcripts h3{font-size:13px;color:#8d7651;margin-bottom:6px}.listening-transcript-toggle{width:100%;background:none;min-height:50px;text-align:left;font-size:12px;color:#a28b64;border-bottom:1px solid #eee8dc;padding:12px 0}.listening-script{padding:7px 0 12px}.listening-line{margin-top:16px}.listening-line>span{display:block;font-size:10px;color:#b8a68a;margin-bottom:7px}.listening-line p{font-size:14px;line-height:1.95;color:#6a614f;overflow-wrap:anywhere;white-space:pre-wrap}.translation-script .listening-line p{font-size:12px;color:#978b77}.listening-practice>.primary{background:#a67d3f}
@keyframes listening-wave{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
@media(max-width:380px){.subject-switch button{grid-template-columns:1fr;gap:5px;padding:10px 4px}.subject-switch strong{font-size:11px}.subject-switch small{font-size:8px}.subject-switch button>span{width:26px}.listening-player{padding:20px 16px 12px}.listening-question{padding:20px 15px}.listening-scene h2{font-size:17px}.listening-wave{gap:4px}.listening-wave i{width:4px}.listening-controls{gap:8px}.listening-play{font-size:12px}.listening-restart{font-size:10px;padding:10px 8px}.listening-practice .quiz-heading .small-label{font-size:10px}.listening-feature-bottom>span{font-size:8px}.subject-learning-stats{font-size:10px}.subject-learning-stats>div{gap:7px}}
@media(prefers-reduced-motion:reduce){.is-playing .listening-wave i{animation:none;transform:scaleY(.85)}}

.listening-source-label { margin: 0 0 16px; color: #836749; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }

.listening-practice .quiz-meta { flex-wrap: wrap; row-gap: 8px; }
.listening-practice .quiz-meta > .muted { font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }

.listening-library-link{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;width:100%;min-height:44px;margin-top:18px;padding:10px 13px;background:#fbf7ed;border:1px solid #dfccaa;border-radius:10px;color:#775321;font-size:12px;font-weight:650}.listening-library-link:hover{background:#fffaf0;border-color:#ba9257}.listening-library-link:focus-visible{outline:3px solid #ba9257;outline-offset:3px}
.listening-section-switch{display:flex;gap:12px;margin:18px 0}.listening-section-switch button{flex:1;padding:15px;text-align:left;border:1px solid transparent;border-radius:13px;background:#f0f5f6;color:#456270;display:grid;grid-template-columns:1fr auto;gap:7px}.listening-section-switch strong{font-size:17px}.listening-section-switch span{font-size:12px}.listening-section-switch small{grid-column:1/-1;color:#71838b}.listening-section-switch .section-active{background:#eaf4f2;border-color:#3c8b78;color:#145747}
.listening-material-card{border:1px solid #dce5e9}.listening-material-card h2{font-size:20px;margin:10px 0 22px;line-height:1.5}.material-kicker{font-size:12px;letter-spacing:1px;color:#397282;font-weight:700}.listening-drawing{width:100%;margin:12px 0}.listening-drawing svg{display:block;width:100%;height:auto;background:#fff}.listening-option-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;text-align:left}.listening-option-body .listening-drawing{margin:0}.listening-reading-practice .listening-player{position:sticky;top:8px;z-index:8;padding:14px 18px;box-shadow:0 5px 22px #17334a13}.listening-reading-practice .listening-wave,.listening-reading-practice .listening-instruction,.listening-reading-practice .listening-scene>span,.listening-reading-practice .listening-scene div>span{display:none}.listening-reading-practice .listening-scene h2{font-size:17px;margin:0}.listening-reading-practice .listening-controls{margin:10px 0;gap:10px}.listening-reading-practice .listening-controls button{padding:10px 12px;min-height:42px;font-size:14px}.listening-reading-practice .listening-timeline{margin:10px 0}.listening-reading-practice .listening-status{font-size:11px;margin:4px 0 0}.listening-reading-practice .listening-options .option{align-items:flex-start}


.listening-options .listening-visual-option{display:flex;flex-wrap:wrap;padding:16px;gap:6px;position:relative}.listening-visual-option .listening-option-body{flex:none;width:100%}.listening-visual-option .option-letter{width:24px;height:24px;font-size:12px}.listening-visual-option>b{position:absolute;right:16px;top:16px}

.listening-choice-wrap{width:100%;min-width:0}.listening-choice-wrap>.option{width:100%}

.listening-reading-practice .listening-player{padding:10px 14px;border-radius:18px}.listening-reading-practice .listening-scene{display:none}.listening-reading-practice .listening-timeline{margin:0 0 6px}.listening-reading-practice .listening-controls{margin:0;gap:10px}.listening-reading-practice .listening-controls button{min-height:38px;padding:7px 12px}.listening-reading-practice .listening-status{display:none}.listening-reading-practice .needs-attention .listening-status{display:block;margin:6px 0 0}.table-scroll.definition-table th:first-child,.table-scroll.definition-table td:first-child{width:30%}.table-scroll.definition-table th:last-child,.table-scroll.definition-table td:last-child{width:70%}

.listening-reading-practice .listening-controls{gap:7px}.listening-reading-practice .listening-play{min-width:0;flex:1}.listening-reading-practice .listening-restart{flex:none;padding:7px 8px;font-size:12px}

/* Pure listening reveals text only when requested; A–D always remain selectable. */
.listening-reveal-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px}.listening-reveal{min-height:44px;padding:10px 6px;border:1px solid #e6d9c2;border-radius:11px;background:#f8f2e7;color:#795c32;font-size:14px;line-height:1.6}.listening-reveal[aria-expanded="true"]{background:#eee0c7;color:#684a22}.listening-reveal:focus-visible,.listening-blind-option:focus-visible{outline:3px solid #795c32;outline-offset:3px}.listening-options.listening-blind-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.listening-options .listening-blind-option{display:flex;justify-content:center;align-items:center;min-height:84px;width:100%;padding:15px}.listening-blind-option .option-letter{width:auto;height:auto;line-height:1.2;background:transparent;color:#8a642d;font-size:30px;font-weight:600}.listening-only-practice .listening-wave{height:22px;margin:8px 0}.listening-only-practice .listening-wave i{max-height:28px}.listening-only-practice .listening-rate{margin-top:10px}.listening-only-practice .listening-status{padding-top:8px;margin-top:8px;min-height:0}.listening-only-practice .listening-question-label{font-size:12px;letter-spacing:0}

.listening-visual-tip{font-size:12px;line-height:1.7;color:#78847e;margin:8px 0 14px}

/* Mobile answer cards retain readable text, uncut formulae and complete diagrams. */
.quiz-heading{flex-wrap:wrap}.quiz-heading>strong{flex:none}.option{min-height:56px}.option>span:not(.option-letter){min-width:0;overflow-wrap:anywhere}
.options .option:disabled:not(.correct):not(.wrong){opacity:1}
.math-option-content,.math-fraction{min-width:0;max-width:100%}.math-fraction>span{overflow-wrap:anywhere;white-space:pre-wrap}
.listening-rate button,.listening-reading-practice .listening-controls button{min-width:44px;min-height:44px}
.listening-reading-practice .listening-controls{gap:8px}.listening-reading-practice .listening-controls button{font-size:14px;padding:10px 8px}
.listening-options .option:not(.listening-blind-option){align-items:flex-start}.listening-blind-option .option-letter{flex:none}
@media(max-width:430px){
.listening-options .option:not(.listening-blind-option){font-size:16px;line-height:1.85}.options:not(.math-options) .option:not(.listening-blind-option){font-size:16px}
.listening-feedback .explanation,.math-feedback .explanation,.math-steps p,.listening-line p,.translation-script .listening-line p{font-size:15px}
.listening-instruction,.listening-question-label,.listening-transcript-toggle,.listening-phrases span,.math-hint-toggle,.math-hint p,.math-mistake,.listening-mistake{font-size:13px}
}
@media(max-width:360px){.listening-question,.math-question,.listening-material-card{padding:18px 14px}.listening-options .option:not(.listening-blind-option){padding:13px 10px;gap:10px}.math-options .option{gap:10px}}

.listening-rate{gap:10px;margin-top:12px}.listening-rate>span{flex-shrink:0;font-size:11px}.listening-rate>div{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.listening-rate button{width:100%;min-height:44px;font-size:13px;padding:8px 4px;background:#fffcf5;border-color:#e5d7bd;color:#846b43}.listening-rate button.active{background:#a67d3f;border-color:#a67d3f;color:#fff;font-weight:600}.listening-reading-practice .listening-rate{display:flex;margin-top:10px}

/* Keep all four practice modules in the same mobile shell. */
body.has-vocabulary .subject-switch{grid-template-columns:repeat(4,minmax(0,1fr))}.subject-switch button{min-width:0}.subject-switch strong{overflow-wrap:anywhere}.subject-switch small{font-size:9px}
[data-vocabulary-host]{display:block;min-width:0;margin-top:22px}
@media(max-width:360px){.subject-switch{gap:5px}.subject-switch button{padding:12px 4px}.subject-switch strong{font-size:11px}}
