:root{--teal:#087e83;--teal-dark:#096268;--ink:#193346;--muted:#607583;--line:#d6e1e4;--paper:#fbfcfa}
.main-content{min-width:0}.page-head h1{font-size:clamp(1.4rem,2.1vw,1.9rem);line-height:1.5}.page-head>div{min-width:0}.eyebrow{letter-spacing:0}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.95;margin:18px 0;color:var(--ink)}
.source-block-heading{font-size:1.05rem;margin:24px 0 9px;color:#245889}.source-code{margin:18px 0;background:#eef3f6;border:1px solid #d4e0e7;border-radius:8px;overflow:hidden}.source-code-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #d4e0e7;font-size:.75rem;color:var(--muted)}.source-code pre{margin:0;padding:17px 20px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:.92rem;font-family:"SFMono-Regular",Consolas,"PingFang SC","Microsoft YaHei",monospace}.source-code .text-button{padding:2px;font-size:.8rem}
.source-label{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 16px;font-size:.78rem;color:var(--muted)}.source-label .tag{background:#e7f2f0;color:var(--teal-dark)}.supplement{font-size:.74rem;color:#9a6322;background:#fbf3e6;padding:4px 8px;border-radius:4px;display:inline-block;margin:0 0 12px}.source-details{border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:12px 16px}.source-details summary{cursor:pointer;font-size:.9rem;color:var(--teal-dark);font-weight:600}.source-details[open]{background:#fbfcfc}.source-details .source-text{font-size:.93rem}.source-details .source-code pre{font-size:.85rem}
.section-select{display:grid;gap:8px;margin-bottom:18px;font-size:.82rem;font-weight:600}.section-select select{width:100%;min-width:0;padding:12px;border:1px solid #bccfd5;border-radius:6px;color:var(--ink);background:white;font-size:.95rem}.section-controls{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.section-controls .button-row{margin:0}.step-check{display:flex;gap:9px;align-items:center;color:var(--teal-dark);font-size:.85rem}.step-check input{width:18px;height:18px;accent-color:var(--teal)}.step-progress{display:flex;align-items:center;gap:12px;font-size:.78rem;color:var(--muted);margin-bottom:18px}.step-progress progress{accent-color:var(--teal);height:7px;width:115px;max-width:45%}
.original-checklist{white-space:pre-wrap;font-size:.9rem;line-height:2;overflow-wrap:anywhere;background:#f0f6f5;padding:18px;border-left:3px solid var(--teal)}.table-scroll{overflow-x:auto}.helper-table{min-width:460px}.helper-table caption{text-align:left;margin:12px 0;color:var(--muted);font-size:.8rem}.helper-table th{background:#eaf2f5;white-space:nowrap}.helper-table td{white-space:nowrap}.activity-top .phase-icon{font-size:1.2rem}.coach-box a{font-size:.8rem}.coach-box p{font-size:.83rem}.note-short{font-size:.78rem;color:var(--muted);line-height:1.8}.feedback p{margin:7px 0}.feedback details{margin-top:12px}.confidence{display:flex;gap:14px;flex-wrap:wrap;font-size:.82rem;margin:15px 0}.confidence label{display:flex;align-items:center;gap:6px}.confidence input{accent-color:var(--teal)}.practice-gate{font-size:.84rem;color:var(--muted);padding:12px;background:#f2f6f8;border-radius:6px}.retry-prompt{padding:16px;border:1px solid var(--line);border-radius:8px;margin:16px 0}.retry-prompt h3{font-size:1rem;margin-bottom:8px}.retry-prompt p{font-size:.92rem;line-height:1.8}
.course-intro{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:26px;align-items:center;padding:28px 0 25px;border-bottom:1px solid var(--line)}.course-intro h1{font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.45;margin-bottom:13px}.course-intro p{color:var(--muted);max-width:690px;line-height:1.9;font-size:.98rem}.course-intro img{width:160px;height:auto;border-radius:7px;border:1px solid var(--line);box-shadow:0 10px 30px #19334612}.course-intro .button-row{margin-top:22px}.catalog-how{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:24px 0}.catalog-how>div{padding:19px 22px;border-right:1px solid var(--line)}.catalog-how>div:last-child{border-right:0}.catalog-how strong{color:var(--teal-dark);font-size:.9rem}.catalog-how p{color:var(--muted);font-size:.82rem;margin:8px 0 0;line-height:1.8}.catalog-row{align-items:start}.catalog-title{line-height:1.6}.catalog-expand .bank-list{grid-template-columns:1fr 1fr}.catalog-expand{border-bottom:1px solid var(--line);padding:0 0 12px}.catalog-expand summary{font-size:.78rem;color:var(--teal-dark);cursor:pointer;padding:9px 0 0 54px}.catalog-expand .bank-list{margin-bottom:0}.course-stat{gap:24px}.catalog-actions .button{white-space:nowrap}.catalog-sub{font-size:.74rem!important;color:var(--muted)}.source-cover{height:auto}.section-completed{background:#e6f3ed}.section-title{line-height:1.65;font-size:1.25rem!important;margin-bottom:10px}.sidebar .lesson-nav{max-height:66vh}.lesson-link .lesson-time{font-size:.7rem}.sidebar-source a{font-size:.8rem}.lesson-time{line-height:1.5}
.review-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.review-dates>div{background:#eaf3f1;padding:12px;border-radius:6px;font-size:.8rem}.review-dates strong{display:block;color:var(--teal-dark);margin-bottom:5px}.review-dates span{color:var(--muted)}.cumulative{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:8px}.cumulative h2{font-size:1.2rem}.cumulative-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.cumulative-list details{background:#f0f6f5;padding:16px;border-radius:6px}.cumulative-list summary{font-size:.9rem;color:var(--teal-dark);cursor:pointer}.cumulative-list p{font-size:.85rem;line-height:1.9}.result-summary .button-row{flex-wrap:wrap}.result-summary{gap:20px}.result-summary h2{font-size:1.1rem}.result-summary p{font-size:.8rem}.empty h2{font-size:1.2rem}.reader-chapter{margin:28px 0;border-top:1px solid var(--line);padding-top:20px}.reader-chapter h3{font-size:1.15rem}.full-page{max-width:1200px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1b929a;outline-offset:3px}
@media(max-width:1000px){.course-intro{grid-template-columns:1fr 130px}.course-intro img{width:130px}.catalog-how{grid-template-columns:1fr}.catalog-how>div{border-right:0;border-bottom:1px solid var(--line)}.catalog-how>div:last-child{border-bottom:0}.coach-panel{display:grid;grid-template-columns:1fr 1fr}.source-coach{grid-column:1/-1}.review-dates{grid-template-columns:1fr}.cumulative-list{grid-template-columns:1fr}}
@media(max-width:800px){.sidebar .lesson-nav{max-height:none}.source-text{font-size:.97rem}.course-intro{grid-template-columns:1fr 90px;gap:16px}.course-intro img{width:90px}.course-intro h1{font-size:1.65rem}.course-intro p{font-size:.85rem}.catalog-expand .bank-list{grid-template-columns:1fr}.catalog-expand summary{padding-left:35px}.brand{min-width:190px}.topbar{padding-bottom:0}.course-actions .course-home{font-size:.7rem}.course-stat{gap:14px}}
@media(max-width:480px){.course-intro{grid-template-columns:1fr}.course-intro>img{display:none}.full-page{padding:24px 18px}.course-actions .course-home{display:none}.coach-panel{grid-template-columns:1fr}.source-coach{grid-column:auto}.source-code pre{padding:16px;font-size:.86rem}.source-code-top{flex-wrap:wrap}.section-controls>.button-row{width:100%;justify-content:space-between}.source-label{font-size:.73rem}.source-text{font-size:1rem}.page-head h1{font-size:1.4rem}.catalog-how>div{padding:16px}.activity-body{padding:18px}.result-summary{padding:20px}.section-select select{font-size:.92rem}.step-check{padding:8px 0}.course-stat>div{width:calc(50% - 14px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.topbar,.sidebar,.site-footer,.activity-footer,.section-select,.section-controls,.coach-panel{display:none!important}.workspace,.activity-layout{display:block}.source-text,.source-code pre{font-size:10pt}.activity-card{border:0}.source-details{break-inside:avoid}.result-summary .button-row{display:none}.source-code-top button{display:none}}
