*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f7f3;color:#293430;font:17px/1.8 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}a{color:#375e51;text-underline-offset:4px}a:hover{color:#8b5335}a:focus-visible,summary:focus-visible{outline:3px solid #ba8c52;outline-offset:5px}header,main,footer{max-width:1080px;margin:auto;padding:24px 32px}header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dedfd7}header a{text-decoration:none}nav{display:flex;gap:24px;flex-wrap:wrap}.eyebrow{font-size:13px;letter-spacing:.15em;color:#68746c;text-transform:uppercase}h1,h2,h3{line-height:1.35}h1{font-size:clamp(32px,5vw,52px);font-weight:600;margin:14px 0}h2{font-size:25px;margin:0 0 20px}h3{font-size:20px;margin:0 0 10px}p{margin:0 0 16px}.hero{padding:40px 0 36px}.lead{max-width:780px;font-size:20px}.meta{color:#69726b;font-size:15px}.section{padding:32px 0;border-top:1px solid #dedfd7}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card{padding:26px;border:1px solid #d8dcd1;background:#fffdf8;border-radius:8px}.card p{color:#59645d}.button{display:inline-block;padding:8px 17px;background:#375e51;color:white;border-radius:4px;text-decoration:none}.button:hover{background:#274b3f;color:white}.outline{list-style:none;padding:0;counter-reset:topics}.outline li{counter-increment:topics;padding:20px 0 20px 52px;position:relative;border-bottom:1px solid #e1e2da}.outline li:before{content:counter(topics,decimal-leading-zero);position:absolute;left:0;color:#967149;font:24px Georgia,serif}.outline p{margin:0;color:#59645d}.math{font:italic 1.18em Georgia,"Times New Roman",serif}.callout{border-left:3px solid #967149;padding:12px 20px;background:#eeede4}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}caption{text-align:left;padding-bottom:14px;color:#68746c}th,td{padding:15px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #dce0d6}th{background:#ebece4;font-weight:600}td:first-child{white-space:nowrap;width:110px}td:nth-child(2){white-space:nowrap;width:135px}tr.week-start td{border-top:2px solid #b6c3b5}.resource-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}footer{font-size:14px;color:#69726b;border-top:1px solid #dedfd7;margin-top:30px}details{padding:16px 0}summary{cursor:pointer;font-weight:600}details ul{margin-bottom:0}@media(max-width:640px){header,main,footer{padding:20px}header{display:block}nav{margin-top:12px;gap:16px}.hero{padding:26px 0}.grid{grid-template-columns:1fr}.lead{font-size:18px}th,td{padding:12px 10px}table{min-width:650px}}@media print{body{background:white}header,footer{display:none}.button{background:none;color:black}.table-wrap{overflow:visible}table{min-width:0}.card{break-inside:avoid}}
.course-title-en{text-transform:none;letter-spacing:.04em}.th-note{display:block;font-size:12px;font-weight:400;color:#69726b;white-space:nowrap}.lesson-title{font-size:18px;font-weight:600;margin:0 0 8px}.lesson-points{margin:0 0 9px;color:#46544d}.textbook{font-size:13px;color:#69726b;margin:0}.lesson-details{padding:10px 0 0}.lesson-details summary{font-size:13px;font-weight:400;color:#375e51}.lesson-details dl{margin:12px 0 0}.lesson-details dt{font-size:13px;font-weight:600;margin-top:10px}.lesson-details dd{margin:3px 0 0}.task-status{font-size:12px;color:#80633c;margin-left:6px}.resource-kind{font-size:13px;color:#69726b}.task-list{padding-left:22px}.task-list li{margin:10px 0}table td:first-child{width:105px}table td:nth-child(2){width:125px}
.resource-extra{margin-top:22px} .lesson-details[open] summary{margin-bottom:8px}


.lesson-tasks{margin-top:14px;padding-top:10px;border-top:1px solid #e1e2da;font-size:13px;color:#59645d}.lesson-tasks p{margin-bottom:6px}.lesson-tasks strong{font-weight:600}

.practice-shot { margin: 1.8rem 0; max-width: 52rem; }
.shot-frame { position: relative; }
.shot-frame img { display: block; width: 100%; height: auto; border: 1px solid var(--line, #d8ddd9); border-radius: .5rem; }
.shot-highlight { position: absolute; border: 3px solid #ae6628; border-radius: .5rem; pointer-events: none; box-shadow: 0 0 0 2px #fff9; }
.entry-highlight { left: 54.5%; top: 71.4%; width: 20.4%; height: 25%; }
.start-highlight { left: 40.5%; top: 72.3%; width: 19%; height: 6.9%; }
.chat-highlight { left: 12.8%; top: 78.8%; width: 81%; height: 17.8%; }
.practice-shot figcaption { margin-top: .7rem; line-height: 1.7; }
