#curriculumView{max-width:1280px;margin:0 auto;padding:32px 24px 80px;color:#e9f5ed;line-height:1.65}#curriculumView[hidden]{display:none}.dc-header h1{font-size:clamp(28px,4vw,43px);line-height:1.16;max-width:900px;margin:20px 0 12px}.dc-header>p{max-width:850px}.dc-tabs,.dc-next,.dc-lab-controls{display:flex;gap:12px;flex-wrap:wrap}.dc-tabs button,.dc-next button,.dc-index button,.dc-locked button{border:1px solid #476454;background:#163525;color:#eef9f1;border-radius:10px;padding:12px 16px;cursor:pointer;font:inherit;text-align:left}.dc-tabs button[aria-pressed=true],.dc-index button[aria-current]{border-color:#86e4a9;background:#265b3d}.dc-availability,.dc-small{font-size:14px;color:#b9cebf}.dc-roadmap{border:1px solid #3c5846;border-radius:12px;padding:16px 20px;margin:24px 0;background:#10271b}.dc-roadmap summary,.dc-review summary,.dc-challenge summary{cursor:pointer;font-weight:700}.dc-map{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dc-map article{border-top:1px solid #38543f;margin-top:20px}.dc-progress{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:24px 0}.dc-progress progress{accent-color:#88e8aa;width:220px;height:10px}.dc-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}.dc-index{display:grid;gap:8px;position:sticky;top:20px}.dc-index h2{font-size:16px;line-height:1.5}.dc-index button{display:grid;gap:4px;font-size:14px;line-height:1.4}.dc-index small{color:#bcd5c5}.dc-lesson{min-width:0;background:#10251a;border:1px solid #35533f;border-radius:16px;padding:28px}.dc-lesson h2{font-size:30px;line-height:1.25;margin-top:10px}.dc-lesson h3{font-size:21px;line-height:1.3;margin:26px 0 12px;color:#a1ebba}.dc-lesson h4{font-size:17px;line-height:1.4;margin:20px 0 8px}.dc-lesson p{margin:8px 0 18px}.dc-before{border-left:3px solid #88d5a2;padding:8px 16px;background:#193c28}.dc-how ol{padding-left:24px}.dc-how li{padding:6px 0 10px 8px}.dc-listen,.dc-review,.dc-challenge,.dc-checks{border-top:1px solid #3c5946;padding:20px 0;margin-top:22px}.dc-checks{border:1px solid #44634e;border-radius:10px;padding:18px}.dc-checks legend{font-weight:700;color:#b9efca;padding:0 8px}.dc-checks label{display:flex;gap:12px;margin:16px 0;align-items:start;cursor:pointer}.dc-checks input{margin-top:7px;min-width:18px;width:18px;height:18px;accent-color:#89e6aa}.dc-lab-controls label{display:grid;gap:6px;flex:1;min-width:145px;font-size:14px}.dc-lab-controls select{width:100%;padding:10px;border:1px solid #668572;border-radius:8px;background:#132f20;color:#eefaf2;font-size:16px}.dc-next{justify-content:space-between;margin-top:24px}.dc-next button:disabled{opacity:.4;cursor:default}.dc-locked{padding:30px;border:1px solid #486850;border-radius:12px}.dc-entry{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.dc-entry button{padding:14px 18px;border:1px solid #528767;border-radius:10px;background:#163b26;color:#f0fff5;font:inherit;cursor:pointer}.dc-lesson .np-board-wrap{max-width:100%;overflow:auto}.dc-lesson .ip-chords{overflow-x:auto}.dc-lesson .inline-practice,.dc-lesson .note-practice{max-width:100%;box-sizing:border-box}#curriculumView button:focus-visible,#curriculumView select:focus-visible,#curriculumView summary:focus-visible{outline:3px solid #a7efbf;outline-offset:4px}@media(max-width:850px){.dc-layout{grid-template-columns:1fr}.dc-index{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.dc-index h2{grid-column:1/-1}.dc-lesson{padding:20px}.dc-map{grid-template-columns:1fr}}@media(max-width:480px){#curriculumView{padding:20px 12px 70px}.dc-lesson{padding:16px 12px}.dc-index{grid-template-columns:1fr}.dc-tabs button{width:100%}.dc-lesson h2{font-size:25px}}

.dc-index-section{font-size:.78rem;line-height:1.5;padding:1rem .5rem .25rem;margin:0;color:inherit;opacity:.8;border-top:1px solid #ffffff24}.dc-lab+.dc-lab{margin-top:2rem;padding-top:1rem;border-top:1px solid #64748b45}

/* Complete reference scores stay readable on narrow screens. */
.dc-original { margin-top: 24px; }
.dc-figure { border: 1px solid #34423c; border-radius: 12px; margin: 12px 0; overflow: hidden; }
.dc-figure summary { cursor: pointer; padding: 16px; color: #d7efdf; font-weight: 650; }
.dc-figure figure { margin: 0; padding: 12px; }
.dc-figure-scroll { overflow-x: auto; background: #fff; border-radius: 6px; max-width: 100%; }
.dc-figure img { display: block; width: 100%; min-width: min(660px, var(--figure-width, 660px)); height: auto; object-fit: contain; background: #fff; }
.dc-figure figcaption { font-size: 13px; margin-top: 10px; color: #b5c5bb; }
@media (max-width: 700px) { .dc-figure figure { padding: 8px; } .dc-figure summary { padding: 14px; } }
