/* Shared adapters for the remaining ChordWalk lesson families. */
html.cwStandaloneFamily body{height:auto!important;min-width:0!important;min-height:100vh!important;margin:0 0 0 248px!important;overflow-x:hidden!important;overflow-y:auto!important;background:var(--cw-bg)!important;color:var(--cw-text)!important;font-family:var(--cw-font)!important}
html.cwStandaloneFamily .app{display:block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:100vh!important;margin:0!important}
html.cwStandaloneFamily .app>.side{display:block!important;position:fixed!important;inset:0 auto 0 0!important;z-index:2147482990!important;width:248px!important;height:100vh!important;padding:10px 8px!important;overflow-y:auto!important;border-right:1px solid var(--cw-border)!important;background:#060a10!important}
html.cwStandaloneFamily .main{display:block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:100vh!important;padding:10px 14px 44px!important;overflow:visible!important;background:var(--cw-bg)!important}
html.cwStandaloneFamily .card,
html.cwStandaloneFamily .panel,
html.cwStandaloneFamily .keyboardPanel,
html.cwStandaloneFamily .studio,
html.cwStandaloneFamily .lessonCard{min-width:0!important;height:auto!important;max-height:none!important;border-color:var(--cw-border)!important;border-radius:10px!important;background:var(--cw-surface)!important;box-shadow:none!important;overflow:visible!important}
html.cwStandaloneFamily h1,
html.cwStandaloneFamily h2,
html.cwStandaloneFamily h3{font-family:inherit!important;letter-spacing:-.025em}
html.cwStandaloneFamily button,
html.cwStandaloneFamily select,
html.cwStandaloneFamily input{font-family:inherit!important}

/* Rhythm and composition workspace. */
html.cwRhythmFamily .main>.top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:min(100%,1320px)!important;height:auto!important;min-height:0!important;margin:0 auto 10px!important;padding:13px 15px!important;border:1px solid var(--cw-border)!important;border-radius:10px!important;background:var(--cw-surface)!important}
html.cwRhythmFamily .top .title{color:var(--cw-text)!important;font-size:1.28rem!important;line-height:1.15!important;letter-spacing:-.025em!important}
html.cwRhythmFamily .top .sub{margin-top:4px!important;color:var(--cw-muted)!important;font-size:.78rem!important;line-height:1.4!important}
html.cwRhythmFamily .keySection{width:min(100%,1320px)!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 auto 10px!important;padding:10px!important;border:1px solid var(--cw-border)!important;border-radius:10px!important;background:var(--cw-surface)!important;overflow-x:auto!important;overflow-y:visible!important}
html.cwRhythmFamily .keyStrip,
html.cwRhythmFamily .degreeStrip{height:auto!important;min-height:0!important;overflow:visible!important}
html.cwRhythmFamily .workspace{display:grid!important;grid-template-columns:minmax(300px,.66fr) minmax(0,1.34fr)!important;grid-template-rows:auto!important;align-items:start!important;gap:12px!important;width:min(100%,1320px)!important;height:auto!important;min-height:0!important;margin:0 auto!important;overflow:visible!important}
html.cwLearningSystem.cwRhythmFamily.cwCalmVisual body.cwViewportManaged:has(.workspace>.lessonCard+.studio) .workspace{grid-template-columns:minmax(300px,.66fr) minmax(0,1.34fr)!important;grid-template-rows:auto!important}
html.cwLearningSystem.cwRhythmFamily.cwCalmVisual body.cwLearningExplore:has(.workspace>.lessonCard+.studio) .workspace{grid-template-columns:minmax(0,1fr)!important}
html.cwLearningSystem.cwRhythmFamily.cwCalmVisual body.cwLearningExplore .workspace>.studio{grid-column:1!important}
html.cwRhythmFamily .workspace>.cwLessonOrientation{grid-column:1/-1!important;grid-row:auto!important;width:100%!important;margin:0!important}
html.cwRhythmFamily .lessonCard{grid-column:1!important;grid-row:auto!important;padding:18px!important}
html.cwRhythmFamily .studio{grid-column:2!important;grid-row:auto!important;display:grid!important;grid-template-rows:auto!important;gap:10px!important;padding:14px!important}
html.cwRhythmFamily .lessonCard h1{margin:7px 0 9px!important;color:var(--cw-text)!important;font-size:clamp(1.75rem,2.5vw,2.35rem)!important;line-height:1.07!important;letter-spacing:-.04em!important;overflow-wrap:anywhere!important}
html.cwRhythmFamily .lessonCard .context{color:var(--cw-text-soft)!important;font-size:.9rem!important;line-height:1.55!important}
html.cwRhythmFamily .lessonCard .why,
html.cwRhythmFamily .listenFor{height:auto!important;max-height:none!important;padding:11px 12px!important;border:1px solid var(--cw-border)!important;border-left:2px solid var(--cw-violet)!important;border-radius:7px!important;background:linear-gradient(90deg,rgba(111,92,164,.12),rgba(9,14,21,.45))!important;overflow:visible!important}
html.cwRhythmFamily .lessonPath{display:grid!important;gap:6px!important;height:auto!important;max-height:none!important;margin:9px 0!important;overflow:visible!important}
html.cwRhythmFamily .lessonPath li{min-height:0!important;height:auto!important;padding:8px!important;border-color:var(--cw-border)!important;border-radius:6px!important;background:#080d14!important;font-size:.74rem!important;line-height:1.35!important}
html.cwRhythmFamily .studioHeader{height:auto!important;min-height:0!important;padding:0!important}
html.cwRhythmFamily .studioHeader h2{margin:4px 0!important;color:var(--cw-text)!important;font-size:1.1rem!important}
html.cwRhythmFamily .metronomePane,
html.cwRhythmFamily .newConcept,
html.cwRhythmFamily .readoutRow,
html.cwRhythmFamily .visualMetronomeWrap,
html.cwRhythmFamily .timelineWrap,
html.cwRhythmFamily .demonstration{height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;border-color:var(--cw-border)!important;border-radius:8px!important;background:#080d14!important;overflow:visible!important}
html.cwRhythmFamily .timelineWrap{min-height:260px!important;overflow-x:auto!important;overflow-y:visible!important}
html.cwRhythmFamily .timeline{min-height:230px!important}
html.cwRhythmFamily .transportControls,
html.cwRhythmFamily .controls,
html.cwRhythmFamily .transport{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:7px!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
html.cwRhythmFamily button{border-radius:6px!important;box-shadow:none!important}
html.cwRhythmFamily .lessonOverlay{padding:18px!important;background:rgba(1,3,7,.86)!important;backdrop-filter:blur(10px)}
html.cwRhythmFamily .menuPanel{width:min(900px,calc(100vw - 36px))!important;max-height:calc(100vh - 36px)!important;padding:20px!important;border:1px solid var(--cw-border-strong)!important;border-radius:10px!important;background:#0b1018!important;box-shadow:0 22px 70px rgba(0,0,0,.48)!important}
html.cwRhythmFamily .menuPanel h2{font-size:clamp(1.7rem,3vw,2.25rem)!important}.cwRhythmFamily .menuGroup,.cwRhythmFamily .menuLesson{border-radius:7px!important}

/* Modulation workspace. */
html.cwModulationFamily .top,
html.cwModulationFamily .gpsPanel,
html.cwModulationFamily .modContent{width:min(100%,1320px)!important;margin-right:auto!important;margin-left:auto!important}
html.cwModulationFamily .top{height:auto!important;min-height:0!important;padding:14px 15px!important;border:1px solid var(--cw-border)!important;border-radius:10px!important;background:var(--cw-surface)!important;position:static!important}
html.cwModulationFamily .top .title{color:var(--cw-text)!important;font-size:1.4rem!important;line-height:1.15!important;letter-spacing:-.03em!important}
html.cwModulationFamily .top .sub{margin-top:4px!important;color:var(--cw-muted)!important;font-size:.78rem!important}
html.cwModulationFamily .gpsPanel{height:auto!important;min-height:0!important;margin-top:10px!important;padding:10px!important;border:1px solid var(--cw-border)!important;border-radius:10px!important;background:var(--cw-surface)!important;overflow-x:auto!important;overflow-y:visible!important}
html.cwModulationFamily .gpsTitle{margin-bottom:7px!important;color:var(--cw-blue)!important;font-size:.68rem!important;letter-spacing:.1em!important;text-align:left!important}
html.cwModulationFamily .gpsStrip{display:grid!important;grid-template-columns:repeat(14,minmax(58px,1fr))!important;gap:4px!important;min-width:900px!important}
html.cwModulationFamily .gpsCell{height:auto!important;min-height:58px!important;border-color:var(--cw-border)!important;border-radius:6px!important;background:#080d14!important;box-shadow:none!important}
html.cwModulationFamily .gpsCell.source{border-color:var(--cw-yellow)!important;background:rgba(245,216,99,.12)!important;color:var(--cw-yellow)!important}.cwModulationFamily .gpsCell.target{border-color:var(--cw-green)!important;background:rgba(119,222,160,.08)!important}
html.cwModulationFamily .modContent{display:grid!important;grid-template-rows:auto!important;gap:12px!important;min-width:0!important;height:auto!important;min-height:0!important;padding:10px 0 36px!important;overflow:visible!important}
html.cwModulationFamily .lessonGrid{display:grid!important;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;gap:12px!important;height:auto!important;min-height:0!important;margin:0!important}
html.cwModulationFamily .chooser,
html.cwModulationFamily .stage{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
html.cwModulationFamily .chooser h1{margin:4px 0 7px!important;color:var(--cw-text)!important;font-size:clamp(1.7rem,2.4vw,2.2rem)!important;line-height:1.08!important}
html.cwModulationFamily .lead{margin:0 0 12px!important;color:var(--cw-text-soft)!important;font-size:.88rem!important;line-height:1.5!important}
html.cwModulationFamily .stage{display:grid!important;grid-template-rows:auto!important;gap:8px!important}
html.cwModulationFamily .changes{height:auto!important;min-height:0!important;overflow:visible!important;white-space:normal!important}.cwModulationFamily .degreeBoard,.cwModulationFamily .chordTonesPanel{height:auto!important;min-height:0!important;overflow-x:auto!important;overflow-y:visible!important;border-color:var(--cw-border)!important;border-radius:7px!important;background:#080d14!important}
html.cwModulationFamily .degreeBoard{grid-template-rows:auto!important}.cwModulationFamily .degreeRow{min-width:660px!important;min-height:46px!important}.cwModulationFamily .chordTonesPanel{grid-template-columns:minmax(150px,.35fr) minmax(0,1fr)!important}
html.cwModulationFamily .transport{height:auto!important;min-height:48px!important;margin:0!important;padding:7px 10px!important;border-color:var(--cw-border)!important;border-radius:8px!important;background:#080d14!important;overflow:visible!important;flex-wrap:wrap!important}
html.cwModulationFamily .progression{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;height:auto!important;min-height:0!important;margin:0!important}.cwModulationFamily .stepCard{height:auto!important;min-height:76px!important;border-color:var(--cw-border)!important;border-radius:7px!important;background:#080d14!important;box-shadow:none!important;overflow:visible!important}
html.cwModulationFamily .keyboardPanel{min-height:320px!important;padding:12px!important}.cwModulationFamily .keyboard{height:clamp(260px,30vw,390px)!important;min-height:260px!important;border-radius:8px!important}

/* Two-stage composition introduction. */
html.cwReadingFamily .introMain{display:grid!important;grid-template-rows:auto!important;width:min(100%,1320px)!important;height:auto!important;min-height:100vh!important;margin:0 auto!important;padding:10px 14px 44px!important;overflow:visible!important;background:var(--cw-bg)!important}
html.cwReadingFamily .introTop{height:auto!important;min-height:0!important;padding:12px 4px 15px!important;border:0!important;background:transparent!important}
html.cwReadingFamily .introTop h1{max-width:960px!important;margin:0!important;color:var(--cw-text)!important;font-size:clamp(2rem,3.6vw,3rem)!important;line-height:1.05!important;letter-spacing:-.045em!important}.cwReadingFamily .introTop p{margin-top:8px!important;color:var(--cw-muted)!important;font-size:.92rem!important;line-height:1.5!important}
html.cwReadingFamily .topActions{display:flex!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important;height:auto!important;min-height:0!important;margin:0 0 10px!important;padding:6px!important;border:1px solid var(--cw-border)!important;border-radius:10px!important;background:#070b11!important}.cwReadingFamily .topActions a,.cwReadingFamily .topActions button{min-height:38px!important;border-radius:6px!important;font-size:.76rem!important}
html.cwReadingFamily .introBody{display:grid!important;grid-template-rows:auto!important;width:100%!important;height:auto!important;min-height:0!important;padding:0!important;overflow:visible!important}
html.cwReadingFamily .stageTabs{gap:7px!important}.cwReadingFamily .stageTab{height:auto!important;min-height:54px!important;border-color:var(--cw-border)!important;border-radius:7px!important;background:var(--cw-surface)!important}.cwReadingFamily .stageTab.active{border-color:var(--cw-violet)!important;background:linear-gradient(100deg,rgba(101,134,184,.14),rgba(64,53,116,.09))!important;box-shadow:inset 2px 0 0 var(--cw-violet)!important}
html.cwReadingFamily .stagePanel.active{display:grid!important;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;gap:12px!important;height:auto!important;min-height:0!important}.cwReadingFamily .messageCard,.cwReadingFamily .visualCard{height:auto!important;max-height:none!important;border-color:var(--cw-border)!important;border-radius:10px!important;background:var(--cw-surface)!important;box-shadow:none!important;overflow:visible!important}.cwReadingFamily .messageCard h2{font-size:clamp(1.7rem,2.6vw,2.25rem)!important}.cwReadingFamily .lessonPathIntro{grid-template-columns:1fr!important}.cwReadingFamily .roadStep{height:auto!important;min-height:92px!important;border-radius:7px!important}

/* Interactive Why Music Works introduction. */
html.cwIntroFlowFamily .main{width:min(100%,1320px)!important;margin:0 auto!important}
html.cwIntroFlowFamily .main>h1{margin:20px 0 5px!important;color:var(--cw-text)!important;font-size:clamp(2rem,3.5vw,2.9rem)!important;line-height:1.06!important;letter-spacing:-.045em!important}.cwIntroFlowFamily .main>h2{margin:0 0 14px!important;color:var(--cw-muted)!important;font-size:.8rem!important;letter-spacing:.02em!important}
html.cwIntroFlowFamily .introWorkspace{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}.cwIntroFlowFamily .introNav{display:none!important}.cwIntroFlowFamily .stage{display:grid!important;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr)!important;gap:12px!important;height:auto!important;min-height:0!important}.cwIntroFlowFamily .stage>.panel{padding:20px!important}.cwIntroFlowFamily .stage>.visual{min-height:430px!important}.cwIntroFlowFamily .question{color:var(--cw-text)!important;font-size:clamp(1.35rem,2vw,1.8rem)!important;line-height:1.22!important}.cwIntroFlowFamily .answer{color:var(--cw-text-soft)!important;font-size:.96rem!important;line-height:1.6!important}.cwIntroFlowFamily .takeaway{border-color:var(--cw-border)!important;border-left:2px solid var(--cw-violet)!important;border-radius:7px!important;background:linear-gradient(90deg,rgba(111,92,164,.12),rgba(9,14,21,.45))!important}.cwIntroFlowFamily .takeaway b{color:var(--cw-violet-soft)!important}

/* Mastery workspace. */
html.cwMasteryFamily .main{width:auto!important}.cwMasteryFamily .content,.cwMasteryFamily .assessmentMain{width:min(100%,1320px)!important;height:auto!important;min-height:0!important;margin-right:auto!important;margin-left:auto!important;overflow:visible!important}.cwMasteryFamily .compactAssessmentBar,.cwMasteryFamily .exercisePanel,.cwMasteryFamily .summaryPanel{height:auto!important;max-height:none!important;border-color:var(--cw-border)!important;border-radius:9px!important;background:var(--cw-surface)!important;box-shadow:none!important;overflow:visible!important}.cwMasteryFamily .exercisePanel{min-height:0!important}.cwMasteryFamily .topicGrid{overflow-x:auto!important}.cwMasteryFamily .prompt,.cwMasteryFamily .answerArea,.cwMasteryFamily .feedback,.cwMasteryFamily .resultBanner,.cwMasteryFamily .visual{height:auto!important;max-height:none!important;border-radius:7px!important;overflow:visible!important}.cwMasteryFamily .choice,.cwMasteryFamily .action{border-radius:6px!important;box-shadow:none!important}

@media(max-width:1040px){html.cwRhythmFamily .workspace,html.cwModulationFamily .lessonGrid,html.cwReadingFamily .stagePanel.active,html.cwIntroFlowFamily .stage{grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr)!important}.cwRhythmFamily .lessonCard{padding:15px!important}.cwModulationFamily .directionGrid{grid-template-columns:1fr!important}}
@media(max-width:900px){html.cwStandaloneFamily body{margin-left:0!important}.cwStandaloneFamily .app>.side{display:none!important}.cwStandaloneFamily .main{padding:8px 12px 36px!important}html.cwLearningSystem.cwRhythmFamily.cwCalmVisual body.cwViewportManaged:has(.workspace>.lessonCard+.studio) .workspace,.cwRhythmFamily .workspace,.cwModulationFamily .lessonGrid,.cwReadingFamily .stagePanel.active,.cwIntroFlowFamily .stage{grid-template-columns:1fr!important}.cwRhythmFamily .workspace>.cwLessonOrientation,.cwRhythmFamily .lessonCard,.cwRhythmFamily .studio{grid-column:1!important}.cwModulationFamily .progression{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cwReadingFamily .introMain{padding:8px 12px 36px!important}}
@media(max-width:640px){html.cwRhythmFamily .main>.top{display:block!important}.cwRhythmFamily .keySection{padding:8px!important}.cwModulationFamily .progression{grid-template-columns:1fr!important}.cwReadingFamily .stageTabs{grid-template-columns:1fr!important}.cwReadingFamily .roadmap{grid-template-columns:1fr 1fr!important}.cwIntroFlowFamily .stage>.panel{padding:15px!important}.cwIntroFlowFamily .stage>.visual{min-height:340px!important}}
