.module-panel>section{padding:48px clamp(20px,6vw,88px)}
#journey{padding:40px clamp(18px,4vw,60px) 70px;background:#f4f2eb}
.journey-head{display:grid;grid-template-columns:1fr 290px;gap:36px;align-items:center;padding:14px 0 40px}
.journey-head h1{font-size:clamp(30px,4vw,52px);line-height:1.3;margin:0 0 16px}
.journey-head p,.course-route p{color:#54645b;line-height:1.75}
.journey-progress{padding:26px;background:#e7eadb;border-radius:12px}
.journey-progress strong{font-size:42px;font-weight:500}.journey-progress small{font-size:18px;color:#526057}
.journey-progress progress{display:block;width:100%;height:10px;margin-top:16px;accent-color:#1f7658}
.journey-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:30px;align-items:start}
.course-route{min-width:0}.course-route h2{font-size:20px}.course-route label{display:block;margin:22px 0 8px}
.course-route select{width:100%;padding:10px;background:white;border:1px solid #cccfc4;border-radius:6px}
.day-link{display:block;width:100%;text-align:left;padding:14px 12px;border:1px solid transparent;background:transparent;border-radius:7px;cursor:pointer;color:#26382e}
.day-link strong{font-size:14px;font-weight:600}.day-link span{display:block;color:#627165;font-size:12px;margin-top:6px}.day-link.selected{background:#e0e8c9;border-color:#9bb178}
.mastery-gray{--mastery-color:#858b89}.mastery-red{--mastery-color:#bf4343}.mastery-yellow{--mastery-color:#a77909}.mastery-green{--mastery-color:#258052}
.day-link{margin-top:6px;border-left:4px solid var(--mastery-color,transparent)}
.day-link.selected{outline:2px solid #385646;outline-offset:-2px;border-left-color:var(--mastery-color,transparent);background:#edf2e8}
.day-link:focus-visible{outline:3px solid #285d91;outline-offset:2px}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--mastery-color);margin-right:6px;flex-shrink:0}
.day-link .day-completion{display:flex;align-items:center;font-weight:600;color:#34483a}
.day-link .mastery-track{height:5px;overflow:hidden;background:#e1e3dc;border-radius:4px}.mastery-track i{display:block;height:100%;background:var(--mastery-color)}
.day-link .day-checklist{line-height:1.8;font-size:11px;white-space:normal}
.mastery-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px 5px;font-size:11px;margin:16px 0}.mastery-legend span{display:flex;align-items:center}
.route-note{font-size:12px}.course-route details{margin-top:24px;font-size:13px;line-height:1.7}.file-label input{display:block;max-width:100%}
.daily-card{min-width:0;padding:clamp(20px,3vw,40px);background:white;border:1px solid #dfdfd5;border-radius:12px}
.daily-card h2{font-size:clamp(24px,3vw,32px);line-height:1.45}.daily-card h3{font-size:18px;margin:0 0 10px}.daily-card p{line-height:1.85;color:#4d5d53}
.eyebrow{font-size:12px;color:#476341!important;letter-spacing:.5px}.daily-goal{font-size:17px;padding-bottom:22px;border-bottom:1px solid #e5e7dd}
.lesson-steps{padding-left:24px;margin:28px 0}.lesson-steps>li{padding:0 0 24px 6px}.lesson-steps li::marker{color:#1f7658;font-weight:700}
.daily-player{padding:20px;background:#f0f3e8;border-radius:8px;margin:20px 0}.player-title{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.player-title span{font-size:12px;color:#53644f}
.daily-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}.daily-controls label{font-size:13px}.daily-controls input[type=number]{width:76px}.daily-controls output{font-size:13px}
#journey input:not([type=checkbox]):not([type=file]),#journey select,#journey textarea,#practice-bpm{font:inherit;padding:9px;border:1px solid #bec8b8;border-radius:5px;background:white;color:#17201d;max-width:100%}
#journey button:not(.day-link):not(.notation-bar-target){font:inherit;border:1px solid #bbc6b0;border-radius:5px;padding:10px 14px;cursor:pointer;background:#f4f6ee;color:#243726}
#journey button.action-button{background:#184e38;color:white;border-color:#184e38}#journey button:disabled{opacity:.5;cursor:not-allowed}
.pass-checks{border-top:1px solid #d9dfd0;margin-top:30px;padding-top:25px}.pass-checks>label{display:block;margin:14px 0;line-height:1.7}.pass-checks textarea{display:block;width:100%;min-height:85px;margin-top:7px}
.pass-checks input[type=number]{width:88px;margin-left:8px}#journey input[type=checkbox]{accent-color:#1f7658;width:16px;height:16px;vertical-align:middle;margin-right:7px}
.notice{background:#fff4dc;border-left:3px solid #c59a48;padding:15px;line-height:1.7;margin:20px 0}.notice p{margin-bottom:0}.source-note{font-size:12px}
.lesson-editor{padding:20px 0;border-block:1px solid #d9dfd0}.lesson-editor summary{cursor:pointer;font-weight:600}.lesson-editor form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lesson-editor label{display:block;font-size:13px}.lesson-editor label input{display:block;width:100%;margin-top:7px}.lesson-editor .check-line{grid-column:1/-1}.lesson-editor .check-line input{display:inline;width:auto}
.book-exercise{max-width:100%;height:auto;display:block}.daily-card figure{margin:16px 0}.daily-card figcaption{font-size:12px;overflow-wrap:anywhere;margin-top:8px}.daily-card audio{width:100%;margin:12px 0}
.practice-history{padding-left:18px;font-size:13px}.practice-history p{white-space:pre-wrap;overflow-wrap:anywhere}.practice-history strong{font-weight:500}
#journey-message:not(:empty){padding:14px;background:#e3edce;border-radius:6px;margin-bottom:20px}
.score-playing .note-bg{fill:#d9ed84;stroke:#1f7658;stroke-width:2}.tab-score .fret-number{font-size:13px}
.notation-bar-target{position:absolute;pointer-events:auto;cursor:pointer;border:0;border-radius:4px;background:transparent;padding:0;touch-action:manipulation}.notation-bar-target:hover{background:#6994410d;box-shadow:inset 0 0 0 1px #759f6466}.notation-bar-target:focus-visible{outline:3px solid #487d38;outline-offset:-3px;background:#69944112}.score-seek-help{margin:0;padding:10px 14px;font-size:12px;color:#53624a;background:#f4f5ef}
.notation-overlays{z-index:3}
.beginner-guide{padding:18px 22px;background:#edf2e2;border-radius:8px}.triplet-label{font:11px sans-serif;fill:#40503e}
.engraved-score{overflow-x:auto;padding:0!important;background:white!important;border:0!important}.notation-viewport{position:relative;min-width:320px;padding-bottom:20px}.notation-surface{width:100%}.notation-overlays{position:absolute;inset:0;pointer-events:none}.notation-event{position:absolute;border-radius:3px}.notation-event.score-playing{background:#bbda6740;border-left:2px solid #3d722e}.notation-finger{position:absolute;bottom:0;transform:translateX(-50%);font:12px 'Microsoft YaHei',sans-serif;color:#1d2a20}.score-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:16px;background:#e7ecdf;border-radius:8px 8px 0 0}.score-heading h3{margin:0;font-size:17px}.score-instruction{padding:14px 16px;background:#f4f5ef;margin-top:0!important}.score-legend{font-size:13px!important}.lesson-pending{padding:28px;background:#f1f3eb;border-radius:8px}.editorial-text{white-space:pre-line}.course-build-note{font-size:13px;color:#52634e;padding:10px 0}.review-source-note{font-size:12px;color:#60715d}
.book-exercise{cursor:zoom-in}.score-zoom{width:95vw;max-width:1900px;height:92vh;border:0;border-radius:10px;padding:16px;background:#f4f2eb}.score-zoom::backdrop{background:#18291bc9}.score-zoom-toolbar{position:sticky;top:0;display:flex;gap:12px;align-items:center;background:#f4f2eb;padding:8px;z-index:1}.score-zoom-body{overflow:auto;height:calc(100% - 55px)}.score-zoom-body img{max-width:none;width:100%;height:auto}.score-zoom-toolbar button{padding:8px 14px}
.practice-controls input{display:block;margin-top:8px;width:100%}.loading-note{padding:40px}
@media(max-width:850px){.journey-head{grid-template-columns:1fr}.journey-progress{padding:20px}.journey-layout{grid-template-columns:1fr}.course-route{display:block}.day-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.course-route details{margin-bottom:18px}.journey-head{gap:18px}.daily-card{padding:20px}.lesson-editor form{grid-template-columns:1fr}.lesson-editor .check-line{grid-column:auto}}
@media(max-width:420px){#journey{padding-inline:12px}.daily-card{padding:15px}.daily-controls{gap:8px}.lesson-steps{padding-left:18px}.daily-player{padding:12px}}
.hand-motions { margin: 20px 0; padding: 16px; background: #f4f1e7; border-radius: 12px; }
.hand-motions h4 { margin: 0 0 8px; }
.hand-motions p { font-size: 13px; }
.hand-bar { display: grid; grid-template-columns: repeat(16,minmax(0,1fr)); margin: 8px 0; }
.hand-bar span { text-align: center; border-right: 1px solid #ded9cd; padding: 9px 0; font-size: clamp(10px,1.8vw,16px); }
.hand-bar span:nth-child(4n+1) { border-left: 2px solid #a8aa91; }
.hand-bar .air-pick { color: #666650; }
.hand-bar .hand-playing { background: #d9e9bf; color: #17391f; border-radius: 4px; }
.course-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.training-ladder{margin:24px 0;padding:20px;border:1px solid #cfdbbe;border-radius:10px;background:#f8faf3}.training-ladder .eyebrow{margin-top:0}.training-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.training-track{padding:14px 16px;background:white;border-radius:8px;border:1px solid #e1e7d7}.training-track h4{margin:0 0 7px;color:#244d32}.training-track p{font-size:13px;line-height:1.65;margin:6px 0}.training-track-challenge{border-color:#b8c99d;background:#fbfcf7}.tempo-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tempo-stages>div{padding:16px 12px;background:white;border-radius:8px;border:1px solid #e1e7d7}.tempo-stages span{display:block;font-size:13px;color:#54664b}.tempo-stages strong{display:block;font-size:27px;margin-top:8px;color:#244d32}.tempo-stages small{font-size:12px;font-weight:400}.tempo-stages p{font-size:12px;margin:6px 0 12px}.training-ladder ol{padding-left:22px;line-height:1.9}.training-ladder li+li{margin-top:8px}#journey [data-training-tempo]{width:100%;font-size:12px}#journey [data-training-tempo][aria-pressed=true]{background:#245d3c;color:white}.scale-position-guide{margin:20px 0;border-block:1px solid #dfe6d4;padding:16px 0}.scale-position-guide summary{cursor:pointer;font-weight:600}.scale-position-guide>p{font-size:13px}
@media(max-width:540px){.training-ladder{padding:14px}.training-levels{grid-template-columns:1fr}.tempo-stages{grid-template-columns:1fr}.tempo-stages>div{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.tempo-stages strong{grid-row:1/3;grid-column:2;align-self:center;text-align:right}.tempo-stages p{margin-bottom:6px}.tempo-stages button{grid-column:1/-1}}
.course-board{min-width:0;overflow-x:auto;background:#f6f5ed;border:1px solid #dce1d2;padding:12px;border-radius:9px}.course-board h4{margin:0 0 12px;font-size:14px;line-height:1.7}
.course-fretboard{display:grid;align-items:stretch}.board-coordinate{font-size:11px;text-align:center;align-content:center;min-height:24px}
.course-fret-cell{display:flex;align-items:center;justify-content:center;position:relative;border-right:1px solid #b6bfad;min-height:49px}
.course-fret-cell::before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid #909d89}
#journey button.course-note{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:34px;height:40px;padding:2px;border-radius:16px;font-size:12px;background:#fff;border-color:#6c8b62;line-height:1.2}
.course-note small{font-size:10px}#journey button.course-note.tonic{background:#24603e;color:white}#journey button.course-note.sounding{background:#dbeb83;color:#213b25;outline:2px solid #71932e}
@media(max-width:1100px){.course-boards{grid-template-columns:1fr}}
.course-connections{border:1px solid #dce5df;border-radius:14px;padding:18px;margin:18px 0;background:#f5f8f4}
.course-connections h4{margin:14px 0 5px;color:#315947}.course-connections p{line-height:1.75;margin:6px 0}
.course-continuity{border-left:4px solid #315947;background:#f0f4e8;padding:14px 18px;margin:18px 0;border-radius:0 12px 12px 0}.course-continuity p{line-height:1.7;margin:7px 0}.course-continuity h3{margin:8px 0}
.course-references{margin:18px 0;padding:16px 18px;border:1px solid #cddbd7;border-radius:12px;background:#f4f8f6}.course-references summary{cursor:pointer;font-weight:650;color:#234e40}.course-references p{line-height:1.8}.reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.reference-grid article{padding:14px;background:#fff;border:1px solid #dce5df;border-radius:9px;min-width:0}.reference-grid h4{margin:0 0 8px;font-size:15px}.reference-grid p{font-size:13px}.reference-grid a{color:#225a46;text-underline-offset:3px;font-size:13px;overflow-wrap:anywhere}
.course-note.outside-scale { background: #6c4d8b; color: #fff; border-color: #9474b1; }
.course-listening { margin: 18px 0; padding: 18px; border: 1px solid var(--line, #d9e3df); border-radius: 12px; background: var(--panel, #f5faf7); }
.course-listening .daily-controls { flex-wrap: wrap; }
 .week-four-audio audio { display:block; width:100%; margin:12px 0; }
