/* Complete shared visual system. Keep musical notation and semantic states intact. */
:root{--bg:#121713;--panel:#1c261e;--text:#f3f6ed;--muted:#bdc9b7;--cyan:#c6df9f;--line:#3d4d37;--brand-radius:16px;--brand-space:24px}
body{font-family:Arial,'Helvetica Neue',sans-serif;font-size:1rem;line-height:1.6}
body>main:not(.access-page){box-sizing:border-box;max-width:1380px;margin-inline:auto;padding:28px 24px 64px;color:var(--text)}
body>main[hidden]{display:none!important}
body>main :is(h1,h2,h3){font-family:inherit;letter-spacing:-.025em;line-height:1.2}
body>main [class$="-hero"] h1,body>main .chords-head h1{font-size:clamp(2rem,3.6vw,3rem);font-weight:750;letter-spacing:-.035em;line-height:1.15}
body>main :is(.eyebrow,.library-count,.lick-number,.chord-section-heading>span,.drop-heading>.eyebrow,.task-category){color:#c6df9f;font-size:.875rem}
body>main :is(label,legend){font-size:.875rem;line-height:1.5}
body>main :is(select,textarea,input[type=text],input[type=email],input[type=number],input[type=search]){box-sizing:border-box;min-height:44px;font:inherit;font-size:1rem;background:#1d291e;color:#f2f6eb;border:1px solid #627657;border-radius:10px;padding:10px 12px;max-width:100%}
body>main :is(input[type=checkbox],input[type=radio],input[type=range],progress){accent-color:#bfd999}
body>main button.primary,body>main :is(.planner-generate,.review-submit){background:#c6df9f!important;color:#1b2d17!important;border-color:#c6df9f!important;border-radius:10px;font-size:1rem;font-weight:700;min-height:44px}
body>main button.ghost{background:#263426;color:#e0ebd6;border-color:#526648;border-radius:10px;min-height:44px}
body>main :is(.chord-workspace,.drop-workspace,.planner-config,.planner-insights,.schedule-section,.day-card,.lick-card,.library-next,.mentor-shell,.theory-connections,.review-request-shell,.review-request-form,.first-review-card,.review-flow,.metronome-panel,.progression-workspace,.harmonic-field,.caged-workspace,.modal-premium-preview,.plan-card){background:#1b261d;border-color:#42543a;border-radius:var(--brand-radius);box-shadow:none}
body>main :is(.chord-controls,.drop-controls,.lick-facts,.lick-card-head,.day-card h3,.review-fields,.planner-config fieldset){border-color:#42543a}
body>main :is(.lick-card,.library-next,.planner-config,.planner-insights,.schedule-section){padding:24px}
body>main :is(.genre-chip,.level-badge,.study-mode-tabs button,.day-picker span,.task-time){background:#263326;border-color:#526648;color:#e1ebd8;font-size:.875rem;border-radius:9px}
body>main :is(.genre-chip.active,.study-mode-tabs button.active,.day-picker input:checked+span){background:#c6df9f;color:#1b2d17;border-color:#c6df9f}
body>main .genre-strip{gap:10px;padding-bottom:20px}
body>main .lick-grid{gap:24px}
body>main .lick-cover{border-radius:12px;aspect-ratio:16/8}
body>main .lick-cover>strong{font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.15;letter-spacing:-.025em}
body>main .lick-cover>b{font-size:.875rem;color:#e4eedb}
body>main .lick-facts{background:#202d21;border-radius:12px}
body>main .chord-controls{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;padding:24px}
body>main .chord-controls label{min-width:0}
body>main .chord-name strong,body>main .drop-summary strong{color:#d3e7b4}
body>main .chord-result{gap:28px;padding:32px}
body>main .planner-hero,body>main .library-hero,body>main .trail-hero{padding-bottom:24px;border-bottom:1px solid #3d4d37;margin-bottom:28px}
body>main .category-track span,body>main .big-progress span{background:#b8d392}
body>main .study-timer{background:#16211bef;border-color:#637a50}
body>main .study-timer strong,body>main .day-card h3 span{color:#c6df9f}
body>main .course-card .course-cover{border-radius:14px;overflow:hidden}
body>main .campus-video-card{border-radius:14px;background:#1e2920;border-color:#42543a}
body>main .trail-featured{background:#1b261d;border-color:#42543a;border-radius:16px}
body>main .trail-featured-head h2{font-family:inherit;font-weight:750;letter-spacing:-.025em}
body>main :is(.formation-module,.zero-module){border-radius:12px;border-color:#42543a}
body>main .formation-trail-link{font-size:.875rem;min-height:48px}
/* The four study destinations form a book-cover collection, using their previous images. */
.academy-path-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;align-items:stretch;overflow:visible!important}
.academy-path-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;min-width:0!important;min-height:0!important;background:#1b261d!important;border:1px solid #46563e!important;border-radius:12px!important;overflow:hidden;box-shadow:0 12px 28px #0003!important;text-align:left;transition:border-color .18s,transform .18s}
.academy-book-cover{display:block;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:#17251b;border-bottom:1px solid #43553b}
.academy-book-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;z-index:-2}
.academy-book-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#101c15b8 0%,transparent 34%,#0b171ad9 62%,#0b171af5 100%);z-index:-1}
.academy-path-card:nth-child(1){--book-accent:#d8d7a1}.academy-path-card:nth-child(2){--book-accent:#bbdca6}.academy-path-card:nth-child(3){--book-accent:#a9d6d7}.academy-path-card:nth-child(4){--book-accent:#e2be90}
.academy-book-series{position:absolute;top:20px;left:20px;right:20px;color:var(--book-accent);font-size:.75rem;letter-spacing:.12em;font-weight:750;line-height:1.4;padding-bottom:12px;border-bottom:1px solid #ffffff40}
.academy-book-title{position:absolute;bottom:64px;left:20px;right:18px;color:#fff;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.12;letter-spacing:-.025em;font-weight:800;text-wrap:balance}
.academy-book-author{position:absolute;bottom:22px;left:20px;right:20px;color:var(--book-accent);font-size:.75rem;font-weight:650;letter-spacing:.1em;line-height:1.4}
.academy-path-copy{display:flex;flex:1;flex-direction:column;align-items:stretch;padding:20px!important;gap:12px!important}
.academy-path-copy>small{color:var(--book-accent)!important;font-size:.75rem!important}
.academy-path-copy .course-card-topics{min-height:0!important;font-size:.875rem!important;line-height:1.65;overflow-wrap:break-word}
.academy-path-copy>b{margin-top:auto!important;font-size:.875rem!important;min-height:44px;display:flex;align-items:center;padding-top:12px!important;line-height:1.4}
.academy-path-copy>b>span{display:none}
.academy-path-card:hover{border-color:var(--book-accent)!important;transform:translateY(-4px)}
#curriculumView .dc-activity-nav button[aria-current=step]{background:#2c3b28;color:#e2f1d1;border-bottom-color:#c6df9f}
#curriculumView .dc-course-hero{border-radius:14px}
#curriculumView .dc-module .course-step-arrow{display:none}
@media(max-width:1100px){.academy-path-grid{gap:16px!important}.academy-book-title{left:16px;right:14px;font-size:1.5rem}.academy-book-series,.academy-book-author{left:16px;right:14px}.academy-path-copy{padding:16px!important}body>main .chord-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.academy-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}.academy-book-title{font-size:1.85rem}body>main:not(.access-page){padding:24px 18px 48px}body>main .chord-result{grid-template-columns:1fr;gap:20px;padding:24px}.academy-book-cover{aspect-ratio:4/5}}
@media(max-width:540px){body>main:not(.access-page){padding:20px 14px 40px}body>main :is(.lick-card,.library-next,.planner-config,.planner-insights,.schedule-section){padding:18px}body>main .lick-grid{grid-template-columns:1fr;gap:18px}body>main .chord-controls{grid-template-columns:1fr;padding:18px}body>main .chord-controls label{width:100%}body>main .library-hero{flex-wrap:wrap;gap:14px}.academy-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.academy-path-card{display:flex!important;grid-template-columns:none!important}.academy-book-cover{aspect-ratio:3/4}.academy-book-title{left:12px;right:12px;bottom:45px;font-size:1.2rem;line-height:1.16}.academy-book-series{top:12px;left:12px;right:12px;font-size:.75rem;letter-spacing:.04em;padding-bottom:8px}.academy-book-author{bottom:14px;left:12px;right:10px;font-size:.75rem;letter-spacing:.015em}.academy-path-copy{padding:14px 12px!important}.academy-path-copy>small{font-size:.75rem!important}.academy-path-copy>b{font-size:.875rem!important}.academy-path-copy .course-card-topics{font-size:.875rem!important}}
@media(max-width:350px){.academy-path-grid{grid-template-columns:1fr!important}.academy-book-cover{aspect-ratio:4/5}.academy-book-title{font-size:1.85rem;bottom:54px}.academy-book-author{bottom:20px}.academy-book-series{top:18px}}
@media(prefers-reduced-motion:reduce){.academy-path-card{transition:none}.academy-path-card:hover{transform:none}}
/* Images inside the material: level covers, specialization module thumbnails, dictionary opening. */
#curriculumView .dc-level-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
#curriculumView .dc-level-navigation .dc-level-card{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;min-height:0;border:1px solid #4a5842;border-radius:12px;background:#202b21;box-shadow:none;text-align:left}
#curriculumView .dc-level-card .dc-level-cover{display:block;position:relative;width:100%;aspect-ratio:16/11;overflow:hidden;background:#172218}
#curriculumView .dc-level-card .dc-level-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .2s}
#curriculumView .dc-level-card .dc-level-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111d17a6,transparent 75%);pointer-events:none}
#curriculumView .dc-level-card .dc-level-badge{position:absolute;bottom:12px;left:12px;z-index:1;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:#f4f7ee;background:#18251deb;padding:5px 8px;border-radius:5px}
#curriculumView .dc-level-card .dc-level-copy{display:flex;flex:1;flex-direction:column;gap:9px;padding:16px;color:#edf3e6}
#curriculumView .dc-level-card strong{font-size:1rem;line-height:1.35;font-weight:700;min-height:2.7em;overflow-wrap:break-word}
#curriculumView .dc-level-card small{font-size:.875rem;color:#c3d0ba}
#curriculumView .dc-level-card:hover{border-color:#c6df9f;background:#2c3b27}
#curriculumView .dc-level-card:hover img{transform:scale(1.035)}
#curriculumView .dc-level-card[aria-pressed=true]{border-color:#c6df9f;background:#30402a;box-shadow:inset 0 -4px #c6df9f}
#curriculumView .dc-level-card[aria-pressed=true] .dc-level-badge{background:#c6df9f;color:#1c3017}
#curriculumView .dc-level-card:disabled{opacity:.5;cursor:default}
.formation-module>summary{align-items:center!important;gap:18px!important}
.formation-module-cover{display:block;position:relative;flex:0 0 100px;width:100px;height:112px;overflow:hidden;border-radius:9px;background:#172218}
.formation-module-cover>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.formation-module-cover .formation-number{position:absolute!important;bottom:8px;left:8px;display:grid;place-items:center;width:30px!important;height:30px!important;min-height:0!important;padding:0!important;border-radius:5px!important;color:#f0f6e9!important;background:#19291fdb!important;font-size:.875rem!important}
.formation-module>summary>span:last-child{min-width:0}
body>main .material-illustrated-head{position:relative;isolation:isolate;overflow:hidden;border:1px solid #40513a;border-radius:16px;background:#19251c;min-height:200px;padding:28px 34% 28px 28px;box-sizing:border-box}
.material-illustrated-head>.material-head-image{position:absolute;top:0;right:0;width:34%;height:100%;object-fit:cover;object-position:center 35%;z-index:-2}
.material-illustrated-head:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#19251c 60%,#19251c30)}
body>main .material-illustrated-head h1{font-size:clamp(1.8rem,3vw,2.6rem);max-width:750px}
body>main .material-illustrated-head p{line-height:1.65;color:#c7d5be;max-width:65ch}
@media(max-width:1100px){#curriculumView .dc-level-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}#curriculumView .dc-level-card strong{min-height:0}#curriculumView .dc-level-card .dc-level-cover{aspect-ratio:16/9}}
@media(max-width:600px){#curriculumView .dc-level-navigation{gap:10px}#curriculumView .dc-level-card .dc-level-copy{padding:13px;gap:7px}#curriculumView .dc-level-card strong{font-size:1rem}#curriculumView .dc-level-card .dc-level-badge{left:9px;bottom:9px}.formation-module-cover{flex-basis:74px;width:74px;height:94px}.formation-module>summary{gap:12px!important}.formation-module>summary small{font-size:.875rem!important;line-height:1.4}body>main .material-illustrated-head{padding:24px 20px;background:#19251c}.material-illustrated-head>.material-head-image{width:70%;opacity:.32}.material-illustrated-head:after{background:linear-gradient(90deg,#19251cf5,#19251c88)}body>main .material-illustrated-head h1{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){#curriculumView .dc-level-card img{transition:none}#curriculumView .dc-level-card:hover img{transform:none}}
/* Illustrated trail collection and consistent lesson rhythm. */
#trailsView .trail-featured-head{display:grid;grid-template-columns:168px minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px;position:relative}
#trailsView .trail-featured-head>.trail-index-badge{display:none}
#trailsView .trail-editorial-cover{position:relative;isolation:isolate;overflow:hidden;align-self:stretch;width:168px;min-height:210px;margin:0;background:#142019;border:1px solid #6b7d5d;border-radius:6px;box-shadow:7px 7px 0 #0a110b50}
#trailsView .trail-editorial-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
#trailsView .trail-editorial-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07110bcc,#07110c08 45%,#07110ce8);z-index:1}
#trailsView .trail-editorial-cover figcaption{position:relative;z-index:2;height:100%;min-height:210px;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:16px;color:#f4f5ed}
#trailsView .trail-editorial-cover figcaption span{font-size:.75rem;font-weight:700;letter-spacing:.07em;line-height:1.5;max-width:135px;border-bottom:1px solid #cadbb66b;padding-bottom:10px}
#trailsView .trail-editorial-cover strong{font-size:3rem;font-weight:750;line-height:1;margin-top:auto;margin-bottom:14px;color:#d4e7b6}
#trailsView .trail-editorial-cover small{font-size:.75rem;font-weight:650;letter-spacing:.04em}
#trailsView [data-cover-theme=modal] .trail-editorial-cover img{object-position:60% center}
#trailsView [data-cover-theme=harmony] .trail-editorial-cover strong{color:#c3dddf}
#trailsView [data-cover-theme=technique] .trail-editorial-cover strong{color:#f0cca0}
#trailsView .trail-featured-head h2{font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.18;letter-spacing:-.025em;margin:10px 0 12px}
#trailsView .trail-featured-head p{font-size:1rem;line-height:1.6;max-width:680px}
#trailsView .trail-head-actions{display:flex;flex-direction:column;gap:10px;max-width:220px}
#trailsView .trail-level-tags{gap:8px;margin-top:16px}
#trailsView .trail-level-tags span{font-size:.875rem;line-height:1.4}
#trailsView .trail-toggle{min-height:44px;font-size:.875rem}
#trailsView .trail-featured:has(.trail-toggle[aria-expanded=true]){border-color:#a5be88}
#trailsView .trail-step{padding:24px;gap:20px;line-height:1.65}
#trailsView .trail-step-copy h3{font-size:1.2rem;line-height:1.35}
#curriculumView .dc-course-facts{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0 16px;border-top:1px solid #91ab7259;padding-top:18px;max-width:680px}
#curriculumView .dc-course-facts>span{display:flex;flex-direction:column;gap:5px}
#curriculumView .dc-course-facts small{font-size:.75rem;letter-spacing:.08em;color:#c2d0b8}
#curriculumView .dc-course-facts strong{font-size:1rem;color:#f2f6ea;line-height:1.4}
#curriculumView .dc-section-label{display:block;font-size:.875rem;font-weight:700;letter-spacing:.06em;color:#bfdaa6;margin:0 0 12px}
#curriculumView .dc-lesson>:is(.dc-purpose,.dc-concepts,.dc-how,.dc-challenge,.dc-demonstration,.dc-listen){margin:26px 0;padding:24px;background:#1b261d;border:1px solid #3b4d38;border-radius:10px}
#curriculumView .dc-lesson>:is(.dc-how,.dc-challenge){border-left:4px solid #abc48b}
#curriculumView .dc-lesson .dc-section-label+h3{margin-top:0}
#curriculumView .dc-checks{padding:24px;background:#202e20;border-color:#789461;border-radius:10px}
#curriculumView .dc-checks label{min-height:44px;padding:10px 0;align-items:flex-start;line-height:1.5}
#curriculumView .dc-checks input{margin-top:4px;flex-shrink:0;accent-color:#bdda96}
#trailsView button:focus-visible,#curriculumView button:focus-visible{outline:3px solid #d1e5b5;outline-offset:4px}
@media(max-width:1050px){#trailsView .trail-featured-head{grid-template-columns:144px minmax(0,1fr);gap:20px}#trailsView .trail-editorial-cover{width:144px;grid-row:span 2}#trailsView .trail-head-actions{grid-column:2;flex-direction:row;flex-wrap:wrap;max-width:none}#trailsView .trail-featured-head>button{grid-column:2}}
@media(max-width:600px){#trailsView .trail-featured-head{grid-template-columns:100px minmax(0,1fr);padding:16px;gap:16px}#trailsView .trail-editorial-cover{width:100px;min-height:156px;grid-row:auto}#trailsView .trail-editorial-cover figcaption{min-height:156px;padding:10px}#trailsView .trail-editorial-cover figcaption span{letter-spacing:0;font-size:.75rem}#trailsView .trail-editorial-cover strong{font-size:2.25rem;margin-bottom:10px}#trailsView .trail-editorial-cover small{letter-spacing:0;font-size:.75rem}#trailsView .trail-featured-head h2{font-size:1.35rem;overflow-wrap:anywhere}#trailsView .trail-featured-head p{font-size:1rem}#trailsView .trail-head-actions,#trailsView .trail-featured-head>button{grid-column:1/-1}#trailsView .trail-head-actions>button{flex:1;min-height:44px}#trailsView .trail-step{padding:18px}#curriculumView .dc-course-facts{gap:16px}#curriculumView .dc-lesson>:is(.dc-purpose,.dc-concepts,.dc-how,.dc-challenge,.dc-demonstration,.dc-listen),#curriculumView .dc-checks{padding:18px 14px}}
/* Every curriculum item has its own named artwork, never a course fallback. */
#trailsView .trail-featured-head{grid-template-columns:200px minmax(0,1fr) auto}
#trailsView .trail-editorial-cover{width:200px;min-height:300px}
#trailsView .trail-editorial-cover figcaption{min-height:300px;gap:16px}
#trailsView .trail-editorial-cover:after{background:linear-gradient(180deg,#07110cbd,#07110c08 30%,#07110cbd 62%,#07110cf0)}
#trailsView .trail-editorial-cover .trail-cover-title{font-size:1.15rem;line-height:1.2;letter-spacing:-.015em;color:#f4f7ec;margin:auto 0 0;overflow-wrap:break-word;hyphens:auto}
#trailsView .trail-editorial-cover .trail-cover-series{font-size:.75rem;letter-spacing:.035em;max-width:none;width:100%;box-sizing:border-box}
#trailsView .trail-editorial-cover small{padding-top:4px}
@media(max-width:1050px){#trailsView .trail-featured-head{grid-template-columns:180px minmax(0,1fr)}#trailsView .trail-editorial-cover{width:180px}}
@media(max-width:600px){#trailsView .trail-featured-head{grid-template-columns:minmax(0,1fr)}#trailsView .trail-editorial-cover{width:100%;min-height:240px;grid-row:auto;grid-column:1}#trailsView .trail-editorial-cover figcaption{min-height:240px;padding:20px;gap:12px}#trailsView .trail-editorial-cover img{object-position:center 60%}#trailsView .trail-editorial-cover .trail-cover-title{font-size:1.5rem;max-width:90%;line-height:1.2}#trailsView .trail-editorial-cover .trail-cover-series{font-size:.875rem}#trailsView .trail-editorial-cover small{font-size:.75rem}#trailsView .trail-head-actions,#trailsView .trail-featured-head>button{grid-column:1}}
#curriculumView .dc-level-cover img,#trailsView .formation-module-cover img{object-position:center 65%}
