@charset "UTF-8";
:root{--ink:#172a23;--muted:#647369;--green:#d5f36b;--line:#dbe2da;--paper:#f5f7f2;--dark:#12271f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.65}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #527b20;outline-offset:5px}button{border:0}header{min-height:96px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:750;line-height:1.4}.brand small{display:block;font-size:10px;letter-spacing:1.4px;font-weight:600;margin-top:3px}.brand-mark{display:grid;place-items:center;background:var(--dark);color:var(--green);width:44px;height:44px;border-radius:50%;font-size:22px}.header nav{display:flex;gap:32px;font-size:14px;color:var(--muted)}nav a:hover{color:var(--ink)}.nav-current{color:var(--ink);font-weight:650}.outline{background:transparent;border:1px solid #b7c3b6;padding:10px 16px;border-radius:6px;font-size:14px}.outline span{margin-left:14px}main{max-width:1440px;padding:0 5%;margin:auto}.intro{display:flex;justify-content:space-between;align-items:end;padding:65px 0 48px;gap:30px}.eyebrow{font-size:14px;letter-spacing:2px;display:flex;align-items:center;gap:10px}.eyebrow span{width:7px;height:7px;background:#7c9d36;border-radius:50%}h1{font-size:clamp(36px,4.2vw,62px);line-height:1.25;letter-spacing:-2px;margin:22px 0}h1 span{color:#718f3a}.intro p{color:var(--muted);margin-bottom:0;max-width:650px}.intro-side{text-align:right;flex-shrink:0}.edition{font-size:42px;letter-spacing:-2px;font-weight:250;color:#829078}.intro-side p{font-size:13px;margin-top:8px}.intro-side a{display:inline-flex;gap:24px;margin-top:27px;border-bottom:1px solid #75836b;padding-bottom:6px;font-size:14px}.studio{scroll-margin-top:24px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px;gap:24px}.section-number{font-size:12px;font-weight:650;letter-spacing:2px;color:var(--muted)}h2{font-size:29px;letter-spacing:-.8px;line-height:1.4;margin:10px 0 0}.tag{font-size:12px;border:1px solid #cbd4c6;border-radius:20px;padding:6px 12px;white-space:nowrap;color:#62705e}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#e5eae0;padding:5px;border-radius:12px 12px 0 0}.tabs button{padding:18px 16px;text-align:left;color:#59665b;background:transparent;border-radius:7px;font-weight:600;display:flex;align-items:center;gap:12px}.tabs button>span{font-size:13px;opacity:.6}.tabs small{margin-left:auto;font-size:12px;font-weight:400}.tabs button[aria-selected=true]{background:var(--dark);color:white}.tabs button[aria-selected=true]>span{color:var(--green);opacity:1}.studio-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;background:white;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;overflow:hidden}.motion-area{background:#edf2e9;padding:22px 24px 17px;min-width:0}.court-top{display:flex;justify-content:space-between;font-size:13px;color:#6c7c68}.court-badge{color:#617347}#court{display:block;width:100%;height:auto;max-height:420px;margin:6px 0 0}#court text{font-family:inherit} .motion-caption{display:flex;align-items:center;gap:13px;margin-bottom:18px}.motion-caption>span:first-child{font-size:12px;color:#788568;letter-spacing:1px}.motion-caption strong{font-size:16px}.motion-caption>span:last-child{margin-left:auto;font-size:12px;color:var(--muted)}.transport{display:flex;align-items:center;gap:13px;border-top:1px solid #d3dccd;padding-top:18px}.play{background:var(--dark);color:white;padding:9px 14px;border-radius:6px;min-width:82px;font-size:14px;white-space:nowrap}.play span{margin-left:4px}.icon-button{font-size:26px;background:transparent;color:var(--ink);padding:0 8px;line-height:1.5}input[type=range]{accent-color:#597936;width:100%;min-width:30px;cursor:pointer}.speed{background:white;border:1px solid #d1d9c9;border-radius:4px;font-size:13px;min-width:42px;padding:5px}.stage-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.stage-buttons button{background:transparent;text-align:left;border-top:3px solid #ccd6c2;color:#7a8770;padding:7px 0;font-size:12px}.stage-buttons button.active{border-color:#64883e;color:var(--ink);font-weight:650}.diagram-note{font-size:12px;color:#737e6b;margin:10px 0 0}.lesson{padding:25px 26px;background:#fff}.lesson-kicker{font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center;color:#78876c}.lesson-kicker span{font-size:12px;letter-spacing:0;padding:3px 8px;border-radius:4px;background:#f0f4e8;color:#668039}.lesson h3{font-size:25px;line-height:1.4;letter-spacing:-.5px;margin:20px 0 12px}.lesson>p{font-size:14px;color:var(--muted);line-height:1.8}.cue{border-left:3px solid #b2d654;padding:4px 0 4px 12px;margin:24px 0}.cue span,.correction>span{display:block;font-size:12px;color:#72815e;margin-bottom:6px}.cue strong{font-size:15px}.lesson h4{font-size:13px;margin:22px 0 10px}.lesson ol{padding-left:19px;font-size:14px;color:#5b695d}.lesson li{padding-left:5px;margin:8px 0}.lesson li::marker{color:#7b9851;font-size:12px}.correction{background:#f5f6f1;padding:13px 14px;border-radius:6px;margin-top:20px}.correction p{font-size:13px;margin:0;color:#627059}.lesson-footer{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:12px;display:flex;justify-content:space-between;color:#6b7963}.lesson-footer strong{color:#32482a;font-weight:550}.method,.values{padding-top:76px}.section-aside{font-size:14px;color:var(--muted);margin:0}.workflow{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}.workflow article{padding:26px;border-right:1px solid var(--line)}.workflow article:last-child{border:0}.workflow article>span{color:#8ba45e;font-size:13px;letter-spacing:1px}.workflow h3{margin:16px 0 9px;font-size:20px}.workflow p{font-size:14px;color:var(--muted);margin:0 0 19px}.workflow small{font-size:12px;color:#708255}.example{margin-top:24px;background:var(--dark);color:white;display:grid;grid-template-columns:1fr 1.1fr;gap:55px;padding:38px 42px;border-radius:10px}.pill{font-size:12px;border:1px solid #567055;border-radius:20px;padding:5px 10px;color:#cbe598}.example h3{font-size:29px;line-height:1.5;margin:23px 0 14px}.example p{font-size:14px;color:#a9bba9;max-width:390px}.feedback{background:#f6f8f0;color:var(--ink);padding:23px 27px;transform:rotate(-1deg);border-radius:5px}.feedback-head{display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:12px;border-bottom:1px solid #d8e0cc;padding-bottom:14px}.feedback-head span{font-size:11px;border:1px solid #cbd6b9;border-radius:3px;padding:2px 7px}.feedback dl{margin:8px 0 0}.feedback dl>div{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:10px 0}.feedback dt{font-size:12px;color:#7b8c67}.feedback dd{margin:0;font-size:13px;color:#405134}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.value-grid article{border-top:2px solid #233e2a;padding:23px 0 0}.value-index{font-size:11px;letter-spacing:1.5px;color:#788864}.value-grid h3{font-size:23px;margin:18px 0 12px}.value-grid p{font-size:14px;color:var(--muted);line-height:1.9;margin:0 0 24px}.value-grid article>div{background:#eaf0e1;padding:15px 17px;min-height:77px}.value-grid article>div span{display:block;color:#7a886b;font-size:11px;margin-bottom:4px}.value-grid strong{font-size:13px;font-weight:500}.closing{margin-top:70px;padding:38px 42px;background:var(--green);border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:20px}.closing .section-number{color:#586d30}.closing h2{font-size:33px}.closing p{font-size:14px;color:#536c2a;margin-bottom:0}.light-button{padding:12px 20px;background:var(--dark);color:#fff;border-radius:6px;font-size:14px;white-space:nowrap}.light-button span{margin-left:18px}footer{max-width:1440px;padding:30px 5%;margin:auto;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:#7b866f}dialog{border:1px solid var(--line);border-radius:14px;max-width:780px;width:calc(100% - 32px);max-height:88vh;padding:32px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#0e201dc9;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.dialog-intro{color:var(--muted);font-size:14px}.script-row{display:grid;grid-template-columns:95px 1fr;gap:20px;border-top:1px solid var(--line);padding:20px 0}.script-row time{font-size:13px;color:#708653}.script-row h3{font-size:17px;margin:0 0 7px}.script-row p{font-size:14px;margin:6px 0;color:#52644f}.script-row .shot{font-size:12px;color:#7f8d72}.print-frame{display:none}
@media(min-width:1500px){.intro{padding-top:72px}.motion-area{padding-top:28px}#court{max-height:450px}}
@media(max-width:1000px){.studio-grid{grid-template-columns:minmax(0,1fr) 275px}.lesson{padding:20px}.tabs button{font-size:14px;padding:16px 10px;gap:8px}.tabs small{display:none}.motion-caption>span:last-child{display:none}.workflow article{padding:20px}.intro-side{display:none}.example{gap:25px;padding:30px}.header nav{gap:20px}}
@media(max-width:720px){.header{padding:15px 5%;min-height:80px;gap:12px}.header nav{display:none}.brand{font-size:18px}.brand small{font-size:8px}.brand-mark{width:36px;height:36px}.outline{font-size:12px;padding:8px 10px}.outline span{margin-left:4px}.intro{padding:38px 0}.eyebrow{font-size:12px;letter-spacing:1px}h1{font-size:40px;letter-spacing:-1px}.intro p{font-size:14px;max-width:340px}h2{font-size:24px}.section-top{align-items:start;gap:12px;flex-wrap:wrap}.section-number{font-size:10px}.tag{font-size:10px;padding:4px 8px}.tabs button{font-size:12px;flex-direction:column;gap:3px;align-items:flex-start;padding:11px 9px}.tabs button>span{font-size:10px}.studio-grid{grid-template-columns:1fr}.motion-area{padding:16px 13px}.court-top{font-size:11px}.motion-caption{gap:10px;margin-top:4px}.motion-caption strong{font-size:14px}.stage-buttons{gap:5px}.stage-buttons button{font-size:10px}.diagram-note{font-size:11px}.transport{gap:7px}.lesson{padding:24px;border-top:1px solid var(--line)}.lesson h3{margin-top:13px}.lesson ol{display:grid;grid-template-columns:1fr;}.method,.values{padding-top:48px}.workflow{grid-template-columns:1fr 1fr}.workflow article{padding:20px}.workflow article:nth-child(2){border-right:0}.workflow article:nth-child(-n+2){border-bottom:1px solid var(--line)}.workflow h3{font-size:18px}.workflow p{font-size:13px}.workflow small{font-size:10px}.example{grid-template-columns:1fr;padding:26px 22px;gap:16px}.example h3{font-size:26px}.feedback{padding:20px 17px;transform:none}.feedback dl>div{grid-template-columns:60px 1fr;gap:8px}.value-grid{grid-template-columns:1fr;gap:30px}.value-grid h3{margin-top:10px}.value-grid p{margin-bottom:16px}.closing{margin-top:45px;padding:28px 24px;align-items:start;flex-direction:column}.closing h2{font-size:26px}.closing p{font-size:12px}.light-button{margin-top:4px}footer{font-size:9px;gap:12px;flex-wrap:wrap}dialog{padding:23px}.script-row{grid-template-columns:1fr;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* UI UX Pro Max: usable targets, visible focus, restrained feedback. */
button{min-height:44px;transition:background .18s,color .18s}.speed{min-width:44px}.icon-button{min-width:44px}.stage-buttons button{font-size:12px}.header{gap:20px}.account-logout{white-space:nowrap}.header nav{margin-left:auto}.account-logout{font-size:12px}.play:hover,.light-button:hover{background:#2a4933}.outline:hover{background:#e7eddc}.tabs button:hover:not([aria-selected=true]){background:#dbe3cf}@media(max-width:720px){.header{flex-wrap:wrap;gap:10px}.header>.outline{margin-left:auto}.header>.account-logout{margin-left:0}.stage-buttons{grid-template-columns:1fr 1fr}.tabs button{font-size:13px}.lesson>p,.lesson li{font-size:15px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
