:root{color:#101b33;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f4fa;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:#f2f4fa;min-width:320px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #2f4bc066}.catalogPage{background:#f2f4fa;min-height:100vh}.catalogHeader{min-height:4rem;padding:max(.75rem, env(safe-area-inset-top)) 1rem .75rem;color:#eef2ff;background:linear-gradient(135deg,#101b33 0%,#1c2b52 50%,#2f4bc0 100%);grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.catalogBadge{white-space:nowrap;background:#2f4bc0d9;border:1px solid #ffffff40;border-radius:999px;align-items:center;min-height:1.8rem;padding:.25rem .7rem;font-size:.74rem;font-weight:700;display:inline-flex}.catalogHeader h1{letter-spacing:0;white-space:nowrap;margin:0;font-size:1.35rem;line-height:1}.catalogHeader p{color:#eef2ffad;text-align:right;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:.82rem;overflow:hidden}.catalogBody{width:min(100%,52rem);margin:0 auto;padding:1rem}.catalogTools{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;margin-bottom:.85rem;display:grid}.catalogForm{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;min-width:0;display:grid}.catalogSearchWrap{min-width:0;position:relative}.catalogSearchIcon{color:#7b8497;pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.catalogSearch{color:#101b33;background:#fff;border:1px solid #d5daea;border-radius:.5rem;outline:none;width:100%;min-height:2.8rem;padding:.65rem 2.65rem .65rem 2.45rem;font-size:.88rem}.catalogSearch:focus{border-color:#4a66d8;box-shadow:0 0 0 3px #4a66d821}.catalogSearchClear{color:#667087;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:2rem;height:2rem;padding:0;display:grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.catalogSearchSubmit{color:#fff;cursor:pointer;background:#2f4bc0;border:0;border-radius:.5rem;min-width:4.5rem;min-height:2.8rem;padding:.6rem .9rem;font-size:.86rem;font-weight:700}.catalogCount{color:#68738a;white-space:nowrap;font-size:.78rem}.courseList{gap:.85rem;display:grid}.courseCard{width:100%;min-width:0;min-height:6.1rem;color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:.5rem;grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.85rem;display:grid;box-shadow:0 .15rem .75rem #101b3314}.courseCard:active{opacity:.86;transform:scale(.995)}.courseNumber{color:#eef2ff;background:linear-gradient(135deg, var(--course-accent,#2f4bc0), #101b33);border:1px solid #ffffff21;border-radius:.45rem;align-content:center;place-items:center;width:4.5rem;height:4.5rem;display:grid;box-shadow:inset 0 1px #ffffff1f}.courseNumber strong{font-size:1.75rem;line-height:1}.courseNumber small{letter-spacing:.12em;opacity:.75;margin-top:.25rem;font-size:.58rem}.courseInfo{min-width:0;display:block}.courseTitleRow{align-items:baseline;gap:.55rem;min-width:0;display:flex}.courseTitleRow strong{white-space:nowrap;text-overflow:ellipsis;flex:none;min-width:0;max-width:100%;font-size:1.05rem;overflow:hidden}.courseTitleRow small{color:#8a93a8;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:.72rem;overflow:hidden}.courseMystery{color:#5a647a;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.45rem;font-size:.82rem;line-height:1.5;display:-webkit-box;overflow:hidden}.courseAction{color:#eef2ff;white-space:nowrap;background:linear-gradient(135deg,#2f4bc0,#6e8bff);border-radius:999px;justify-content:center;align-items:center;gap:.25rem;min-height:2.45rem;padding:0 .85rem;font-size:.82rem;font-weight:700;display:inline-flex}.catalogEmpty{color:#68738a;text-align:center;background:#ffffffb8;border:1px dashed #cbd1e1;border-radius:.5rem;margin:0;padding:2rem 1rem;font-size:.86rem}.catalogPagination{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1rem;display:flex}.catalogPagination button{color:#34405a;cursor:pointer;background:#fff;border:1px solid #d4daea;border-radius:.5rem;place-items:center;min-width:2.55rem;min-height:2.55rem;padding:.4rem .65rem;display:grid}.catalogPagination button[aria-current=page]{color:#fff;background:#2f4bc0;border-color:#2f4bc0}.catalogPagination button:disabled{opacity:.42;cursor:default}.lessonCover,.sectionPage,.reportPage{background:#f2f4fa;min-height:100vh}.coverGlow{display:none}.coverInner,.sectionInner,.reportInner{width:min(100%,50rem);margin:0 auto;padding:1.5rem 1.25rem 3.5rem}.backButton{color:#2f4bc0;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;min-height:2.5rem;padding:.4rem .55rem;font-weight:700;display:inline-flex}.coverCaseRow{color:#101b3385;letter-spacing:.14em;justify-content:center;align-items:center;gap:.75rem;margin:1.6rem 0 1.35rem;font-size:.78rem;font-weight:700;display:flex}.statusBadge{color:#2f4bc0;letter-spacing:.06em;background:#2f4bc014;border:1px solid #2f4bc073;border-radius:999px;padding:.22rem .65rem;font-size:.7rem}.statusPartial{color:#4a66d8;border-color:#6e8bff85}.lessonCover h1{color:#101b33;text-align:center;letter-spacing:0;margin:0;font-size:2.25rem;line-height:1.16}.coverSubtitle{color:#2f4bc0;text-align:center;margin:.75rem 0 0;font-size:.88rem}.coverMystery{color:#4a66d8;text-align:center;max-width:36rem;margin:1.4rem auto 1.7rem;font-size:1rem;font-weight:600;line-height:1.7}.coverMeta{border-block:1px solid #2f4bc026;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;padding:1.25rem 0;display:grid}.coverMeta>span{justify-items:center;gap:.35rem;display:grid}.coverMeta strong{color:#2f4bc0;font-size:1.55rem;line-height:1}.coverMeta small{color:#101b339e;font-size:.75rem}.coverMeta i{background:#2f4bc033;width:1px;height:2rem}.coverSource{color:#101b3385;text-align:center;margin:1.25rem 0 1.75rem;font-size:.78rem;line-height:1.6}.modeGroup{gap:.75rem;display:grid}.modeEntry{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #2f4bc02e;border-radius:.5rem;grid-template-columns:3.25rem minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.9rem;display:grid;box-shadow:0 .125rem .5rem #101b330d}.modeIcon{background:linear-gradient(135deg,#2f4bc01a,#6e8bff2e);border-radius:.5rem;place-items:center;width:3.25rem;height:3.25rem;font-size:1.35rem;display:grid}.modeInfo{gap:.3rem;min-width:0;display:grid}.modeNameRow{align-items:center;gap:.55rem;min-width:0;display:flex}.modeNameRow strong{font-size:1rem}.modeNameRow small{color:#2f4bc0;background:#2f4bc01a;border-radius:999px;padding:.2rem .55rem;font-size:.68rem}.modeDescription{color:#5a647a;font-size:.78rem;line-height:1.45}.modeDone{color:#eef2ff;background:linear-gradient(135deg,#2f4bc0,#6e8bff);border-radius:999px;padding:.3rem .58rem;font-size:.7rem}.lessonNav{color:#667087;justify-content:space-between;align-items:center;gap:1rem;min-width:0;font-size:.76rem;display:flex}.lessonNav>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.lessonProgress{grid-template-columns:repeat(5,1fr);align-items:center;gap:.5rem;padding:1.25rem 0 .8rem;display:grid}.lessonProgress span{background:#101b3326;border-radius:999px;height:.35rem}.lessonProgress .isDone{background:#6e8bff}.lessonProgress .isCurrent{background:#2f4bc0}.sectionHeader{text-align:center;padding:.75rem 0 1.25rem}.sectionHeader>span{color:#2f4bc0;font-size:.76rem;font-weight:700}.sectionHeader h1{letter-spacing:0;margin:.55rem 0;font-size:1.75rem;line-height:1.25}.sectionHeader p{color:#101b3394;margin:0;font-size:.88rem;line-height:1.6}.lessonBlock{margin-bottom:1.35rem}.lessonBlock>h2,.blockHeading h2{color:#2f4bc0;letter-spacing:0;margin:0 0 .8rem;padding-left:.75rem;font-size:.95rem;position:relative}.lessonBlock>h2:before,.blockHeading h2:before{content:"";background:#2f4bc0;border-radius:999px;width:.25rem;height:1rem;position:absolute;top:50%;left:0;transform:translateY(-50%)}.pointList{gap:.6rem;display:grid}.pointCard{background:#fff;border-left:.2rem solid #6e8bff;border-radius:.45rem;grid-template-columns:1.6rem minmax(0,1fr);align-items:start;gap:.65rem;padding:.9rem;display:grid;box-shadow:0 .125rem .45rem #101b330a}.pointCard>span{color:#fff;background:linear-gradient(135deg,#2f4bc0,#6e8bff);border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;font-size:.72rem;font-weight:700;display:grid}.pointCard p{color:#3d485f;margin:0;font-size:.88rem;line-height:1.68}.blockHeading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.blockHeading>span{color:#7c8598;font-size:.78rem}.questionCard{background:#fff;border:1px solid #2f4bc024;border-radius:.5rem;padding:1rem;box-shadow:0 .125rem .55rem #101b330d}.questionCard h3{color:#101b33;letter-spacing:0;margin:0 0 1rem;font-size:1rem;line-height:1.55}.choiceList,.sequencePool{gap:.55rem;display:grid}.choiceOption,.sequenceOption,.matchOption{color:#34405a;text-align:left;cursor:pointer;background:#f8f9fd;border:1px solid #d8ddec;border-radius:.45rem;min-height:2.75rem;padding:.65rem .8rem}.choiceOption:disabled,.sequenceOption:disabled,.matchOption:disabled{opacity:1;cursor:default}.choiceOption.isPicked,.sequenceOption.isPicked,.matchOption.isPicked{background:#2f4bc017;border-color:#2f4bc0}.choiceOption.isCorrect,.matchOption.isCorrect{color:#235e53;background:#e7f4ef;border-color:#3f8073}.choiceOption.isWrong,.matchOption.isWrong{color:#963f3f;background:#fff0f0;border-color:#c95555}.sequenceOption{align-items:center;gap:.6rem;display:flex}.sequenceOption span{color:#fff;background:#2f4bc0;border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.7rem;display:grid}.questionHint{color:#7a8396;margin:-.2rem 0 .7rem;font-size:.76rem}.matchList{gap:.8rem;display:grid}.matchRow{background:#f7f8fc;border-radius:.45rem;padding:.75rem}.matchRow>strong{color:#2f4bc0;margin-bottom:.55rem;font-size:.88rem;display:block}.matchOptions{flex-wrap:wrap;gap:.45rem;display:flex}.matchOption{min-height:2.25rem;padding:.45rem .65rem;font-size:.8rem}.submitButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2f4bc0,#6e8bff);border:0;border-radius:999px;min-width:8.5rem;min-height:2.7rem;margin:1rem auto 0;padding:.55rem 1rem;font-weight:700;display:block}.submitButton:disabled{opacity:.42;cursor:not-allowed}.answerFeedback,.stanceFeedback{color:#8c4747;background:#fff0f0;border-radius:.45rem;margin-top:1rem;padding:.85rem}.answerFeedback.isGood{color:#245d52;background:#e8f5f0}.answerFeedback strong{font-size:.86rem}.answerFeedback p,.stanceFeedback p{margin:.45rem 0 0;font-size:.8rem;line-height:1.6}.stanceFeedback{color:#34405a;background:#eef1fb}.stanceFeedback strong{color:#2f4bc0;margin-top:.6rem;font-size:.8rem;line-height:1.55;display:block}.sequencePreview{color:#5a647a;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.7rem;font-size:.76rem;display:flex}.sequencePreview button{color:#2f4bc0;cursor:pointer;background:0 0;border:0;flex:none}.questionNavigation{justify-content:space-between;gap:.75rem;margin-top:.75rem;display:flex}.questionNavigation button{color:#2f4bc0;cursor:pointer;background:#fff;border:1px solid #d8ddec;border-radius:.45rem;justify-content:center;align-items:center;gap:.25rem;min-height:2.5rem;padding:.45rem .75rem;display:inline-flex}.questionNavigation button:disabled{color:#a8b0c4;cursor:not-allowed}.nextSectionButton{color:#eef2ff;cursor:pointer;background:linear-gradient(135deg,#101b33,#2f4bc0);border:0;border-radius:.5rem;justify-content:center;align-items:center;gap:.4rem;width:100%;min-height:3.2rem;font-weight:700;display:flex}.storageWarning{z-index:5;color:#735624;text-align:center;background:#fff4d7;margin:0;padding:.65rem 1rem;font-size:.78rem;line-height:1.45;position:relative}.reportHeader{text-align:center;justify-items:center;padding:1rem 0 1.6rem;display:grid}.reportSeal{color:#2f4bc0;border:.2rem double #2f4bc0;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;font-size:.82rem;font-weight:800;display:grid}.reportHeader h1{letter-spacing:0;margin:.9rem 0 .25rem;font-size:1.8rem}.reportHeader h2{color:#667087;letter-spacing:0;margin:0;font-size:.88rem;font-weight:500}.reportMode{color:#fff;background:#2f4bc0;border-radius:999px;margin-top:.65rem;padding:.25rem .7rem;font-size:.72rem}.reportBlock{background:#fff;border-radius:.5rem;margin-bottom:1rem;padding:1rem;box-shadow:0 .125rem .55rem #101b330d}.reportBlock h3{color:#2f4bc0;letter-spacing:0;margin:0 0 .75rem;font-size:.95rem}.reportScore{color:#4b566e;margin:0;font-size:.82rem;line-height:1.55}.reportHint{color:#7b8497;margin:-.25rem 0 .8rem;font-size:.74rem}.sealGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:.85rem;display:grid}.sealCell{justify-items:center;gap:.35rem;min-width:0;display:grid}.sealCell>span{aspect-ratio:1;color:#939bad;text-align:center;overflow-wrap:anywhere;border:1px solid #c8cede;border-radius:50%;place-items:center;width:3rem;max-width:100%;font-size:.64rem;display:grid}.sealCell>span.isWon{color:#2f4bc0;background:#2f4bc00f;border:.15rem double #2f4bc0;font-weight:700}.sealCell small{color:#788195;font-size:.68rem}.lensGrid{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.lensGrid>span{color:#677087;background:#f8f9fd;border:1px solid #d8ddec;border-radius:.45rem;justify-items:center;gap:.2rem;padding:.65rem;display:grid}.lensGrid>span.isTop{color:#2f4bc0;background:#2f4bc014;border-color:#2f4bc0}.lensGrid strong{font-size:.78rem}.lensGrid small{font-size:1rem;font-weight:800}.mirrorCard{color:#465169;background:#f4f6fd;border-left:.2rem solid #6e8bff;border-radius:.4rem;margin-top:.75rem;padding:.8rem}.mirrorCard strong{color:#2f4bc0;font-size:.82rem}.mirrorCard p{margin:.4rem 0 0;font-size:.8rem;line-height:1.6}.reviewList{gap:.65rem;display:grid}.reviewList article{grid-template-columns:1.7rem minmax(0,1fr);align-items:start;gap:.65rem;display:grid}.reviewList article>span{color:#fff;background:#2f4bc0;border-radius:50%;place-items:center;width:1.65rem;height:1.65rem;font-size:.72rem;font-weight:700;display:grid}.reviewList strong{font-size:.86rem}.reviewList p{color:#6d768a;margin:.22rem 0 0;font-size:.75rem;line-height:1.5}.reportFooter{color:#8a93a8;text-align:center;padding:1rem 0 1.25rem}.reportFooter p{margin:0 0 .5rem;font-size:.74rem;line-height:1.55}.reportFooter strong{letter-spacing:.12em;font-size:.75rem}.reportActions{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.reportActions button{color:#2f4bc0;cursor:pointer;background:#fff;border:1px solid #ccd2e2;border-radius:.5rem;justify-content:center;align-items:center;gap:.35rem;min-height:3rem;padding:.6rem;font-weight:700;display:inline-flex}.reportActions .primaryReportAction{color:#fff;background:linear-gradient(135deg,#2f4bc0,#6e8bff);border-color:#0000}@media (width<=520px){.catalogHeader{grid-template-columns:auto auto minmax(0,1fr);gap:.5rem;padding-inline:.8rem}.catalogBadge{padding-inline:.55rem;font-size:.68rem}.catalogHeader h1{font-size:1.12rem}.catalogHeader p{font-size:.7rem}.catalogBody{padding:.8rem}.catalogTools{grid-template-columns:1fr;gap:.45rem;margin-bottom:.7rem}.catalogForm{gap:.45rem}.catalogSearch,.catalogSearchSubmit{min-height:2.65rem}.catalogSearch{font-size:.8rem}.catalogSearchSubmit{min-width:4rem;padding-inline:.65rem;font-size:.8rem}.catalogCount{padding-left:.15rem;font-size:.72rem}.courseList{gap:.7rem}.courseCard{grid-template-columns:3.7rem minmax(0,1fr) 4.15rem;gap:.6rem;min-height:5.35rem;padding:.65rem}.courseNumber{width:3.7rem;height:3.7rem}.courseNumber strong{font-size:1.5rem}.courseNumber small{font-size:.54rem}.courseTitleRow strong{font-size:.94rem}.courseTitleRow small{font-size:.65rem}.courseMystery{margin-top:.3rem;font-size:.74rem;line-height:1.42}.courseAction{min-height:2.35rem;padding:0 .58rem;font-size:.76rem}.catalogPagination{margin-top:.8rem}.catalogPagination button{min-width:2.45rem;min-height:2.45rem}.coverInner,.sectionInner,.reportInner{padding:.8rem .85rem 2.5rem}.lessonCover h1{font-size:1.85rem}.coverMystery{margin-block:1.1rem 1.35rem;font-size:.9rem}.coverMeta{padding-block:1rem}.modeEntry{grid-template-columns:2.8rem minmax(0,1fr) auto;gap:.65rem;padding:.72rem}.modeIcon{width:2.8rem;height:2.8rem;font-size:1.15rem}.modeNameRow{gap:.4rem}.modeNameRow strong{font-size:.9rem}.modeNameRow small{padding:.18rem .4rem;font-size:.62rem}.modeDescription{font-size:.7rem}.lessonNav{gap:.5rem}.backButton{padding-left:0;font-size:.78rem}.sectionHeader h1{font-size:1.45rem}.pointCard{grid-template-columns:1.45rem minmax(0,1fr);gap:.55rem;padding:.75rem}.pointCard>span{width:1.4rem;height:1.4rem}.pointCard p{font-size:.82rem}.questionCard{padding:.8rem}.questionCard h3{font-size:.92rem}.choiceOption,.sequenceOption{font-size:.8rem}.reportHeader h1{font-size:1.5rem}.reportBlock{padding:.82rem}.sealGrid{gap:.35rem}.sealCell>span{width:2.65rem;font-size:.58rem}.reportActions{grid-template-columns:1fr}}@media (width<=350px){.catalogBadge{font-size:.63rem}.catalogHeader h1{font-size:1rem}.catalogHeader p{font-size:.65rem}.courseCard{grid-template-columns:3.35rem minmax(0,1fr) 3.85rem;gap:.45rem;padding:.55rem}.courseNumber{width:3.35rem;height:3.35rem}.courseAction{padding-inline:.45rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
