:root{font:14px/1.6 "Microsoft YaHei","PingFang SC",sans-serif;color:#45553c;background:#f3efd8;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #698c66;outline-offset:4px}
.workshop{max-width:1240px;padding:40px 30px 25px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}h1{font-family:inherit;font-size:38px;letter-spacing:.05em;line-height:1.2;margin:5px 0 8px}header p{margin:0;color:#7f8065}.eyebrow{font-size:11px;letter-spacing:.12em;color:#9e884a}nav{display:flex;align-items:center;gap:25px;font-size:13px}.primary-link{padding:10px 18px;border:1px solid #b4a26d;border-radius:6px;background:#f3d37d;color:#65582d}
.skill-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.skill-picker button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #c9bd94;background:#f8f3df;color:#677454;border-radius:13px;padding:12px 15px;transition:background .15s,border-color .15s}.skill-picker img{width:38px;height:38px}.skill-picker kbd{margin-left:auto;font:9px ui-monospace,monospace;color:#8c8a70}.skill-picker button[aria-pressed=true]{border-color:#9daa73;background:#dde7c7;color:#4e6941}.skill-picker button:hover{border-color:#9fab76}.skill-picker span{white-space:nowrap;font-size:13px}
.demonstration{display:grid;grid-template-columns:minmax(0,1fr) 255px;border:1px solid #c1b68d;border-radius:12px;overflow:hidden;background:#fff9e5}.stage-wrap{min-width:0;position:relative;display:flex;flex-direction:column;justify-content:center;background:#d7d8b7}canvas{display:block;width:100%;height:auto}#loadStatus{position:absolute;inset:0;display:grid;place-items:center;background:#fff9e5;margin:0;color:#877345}#loadStatus[hidden]{display:none}.playback{display:flex;align-items:center;gap:10px;padding:13px 16px;background:#f4edd2;border-top:1px solid #c1b08b66;min-height:57px}.playback button{color:#65714f;background:#e3e8cc;border:1px solid #a7b189;border-radius:5px;min-width:50px;padding:5px 10px;font-size:12px}.playback label{white-space:nowrap;font-size:11px;color:#8b8469;display:flex;align-items:center;gap:4px}.playback input[type=checkbox]{accent-color:#87a56c}.playback input[type=range]{width:100%;min-width:30px;accent-color:#87a56c}.playback output{font:10px ui-monospace,monospace;white-space:nowrap;color:#8b8267}
aside{padding:28px 25px;background:linear-gradient(145deg,#fff9e5,#f1e8ca);border-left:1px solid #c1b68d}aside>img{width:70px;height:70px;margin-bottom:14px}aside h2{font-size:27px;margin:6px 0 15px;color:#5b744b}aside p{color:#7d7e62;font-size:12px;line-height:1.9}aside .eyebrow{color:#9d884c;margin:0}aside dl{padding-top:9px;margin:20px 0;border-top:1px solid #c1b28b66}aside dl>div{padding:9px 0}aside dt{color:#718359;font-size:11px}aside dd{margin:3px 0 0;color:#888169;font-size:11px;line-height:1.7}aside .preview-note{font-size:10px;color:#9a8e6d;border-top:1px solid #c1b28b66;padding-top:15px;margin-bottom:0}footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#928b70;margin-top:18px}
@media(max-width:900px){.workshop{padding:24px 18px}.skill-picker button{gap:6px;padding:10px}.skill-picker img{width:28px;height:28px}.skill-picker kbd{display:none}.demonstration{grid-template-columns:minmax(0,1fr) 220px}aside{padding:20px}aside>img{width:54px;height:54px}aside h2{font-size:24px}}
@media(max-width:650px){.workshop{padding:22px 14px}header{gap:12px;margin-bottom:22px}h1{font-size:28px}header p{font-size:11px}nav{gap:12px;font-size:11px}.primary-link{padding:8px 10px}.skill-picker{gap:5px}.skill-picker button{flex-direction:column;padding:8px 2px;gap:5px}.skill-picker img{width:30px;height:30px}.skill-picker span{font-size:10px}.demonstration{display:flex;flex-direction:column}aside{border-left:0;border-top:1px solid #c1b68d;padding:22px;display:grid;grid-template-columns:58px 1fr;column-gap:15px}aside>img{grid-row:1/4;margin:0}aside h2{font-size:23px;margin:2px 0 0}aside>p:not(.eyebrow){grid-column:1/-1}aside dl{grid-column:1/-1;margin:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}aside .preview-note{margin-top:5px}.playback{gap:7px;padding:10px}.playback button{min-width:40px;padding:5px 6px}.playback output{display:none}footer{display:block;font-size:10px}footer span{display:block;margin-bottom:4px}}
@media(max-width:650px){header{flex-direction:column;align-items:flex-start;gap:16px}nav{width:100%;gap:16px;white-space:nowrap}.primary-link{margin-left:auto}.playback button{min-height:44px}.playback label{min-height:44px}}
@media(prefers-reduced-motion:reduce){button{transition:none!important}}

.branch-heading{display:flex;align-items:baseline;gap:12px;margin:22px 0 10px;color:#63734e}
.branch-heading h2{font-size:16px;margin:0}
.branch-heading p{font-size:12px;margin:0;color:#7f8065}
.skill-picker.branch-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}
.branch-picker button[data-skill="aim"]{grid-column:span 2}
.branch-picker button{min-width:0;min-height:52px}
.branch-picker span{white-space:normal;line-height:1.5}
@media(max-width:650px){
  .skill-picker.branch-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .branch-picker button{min-height:70px;padding:8px 4px}
  .branch-picker span{font-size:11px}
  .branch-heading{align-items:flex-start;flex-direction:column;gap:2px;margin-top:20px}
}

.combo-notes{display:grid;grid-template-columns:1fr 1.65fr;gap:38px;padding:30px 0 12px}.combo-notes h2{font-size:23px;color:#60744d;line-height:1.4;margin:7px 0}.combo-notes p{font-size:11px;color:#93886a}.combo-notes ol{list-style:none;counter-reset:combo;padding:0;margin:0}.combo-notes li{counter-increment:combo;position:relative;padding:12px 0 12px 38px;border-bottom:1px solid #d5cba8}.combo-notes li::before{content:counter(combo,decimal-leading-zero);position:absolute;left:0;top:15px;font:12px ui-monospace,monospace;color:#9a9d71}.combo-notes b{display:block;color:#6f7f52;font-size:13px}.combo-notes span{display:block;margin-top:5px;font-size:11px;line-height:1.8;color:#8b8267}@media(max-width:650px){.combo-notes{grid-template-columns:1fr;gap:5px;padding-top:20px}.combo-notes h2{font-size:22px}}
