/* Learning shares the global header and the app's view scrolling contract. */
#learnView{overflow-y:auto;overflow-x:hidden;min-height:0;-webkit-overflow-scrolling:touch}
.learn-nav,.learn-controls,.learn-family,.learn-sequence,.learn-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.learn-nav{margin-bottom:18px}
.learn-nav button,.learn-view button,.learn-view input,.learn-view select{min-height:44px}
.learn-nav [aria-current="page"],.learn-family [aria-pressed="true"]{border-color:var(--accent-2);color:var(--accent-2)}
.learn-intro{max-width:760px;color:var(--muted);line-height:1.5}
.learn-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:20px;align-items:start}
.learn-box{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.learn-box h2{margin:0 0 10px;font-size:21px}
.learn-box h3{margin:0 0 8px;font-size:17px}
.learn-controls{margin:14px 0;align-items:flex-end}
.learn-controls label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700;min-width:0}
.learn-controls input,.learn-controls select{width:100%;max-width:220px;box-sizing:border-box;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--text);font:inherit;font-size:16px}
.learn-family{margin:12px 0 20px}
.learn-family button{display:grid;gap:2px;min-width:60px;padding:8px 12px}
.learn-family small,.learn-sequence small{color:var(--muted);font-size:12px}
.learn-pattern{padding:14px 0;border-top:1px solid var(--line)}
.learn-combine{grid-template-areas:"key shape" "patterns shape"}
.learn-key{grid-area:key}
.learn-shape{grid-area:shape}
.learn-progressions{grid-area:patterns}
.learn-patterns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:12px}
.learn-home{margin:10px 0}
[data-learn-open]{min-height:44px}
.learn-contexts{margin:10px 0 16px}
.learn-view .page-head{margin-bottom:12px}
.learn-view .learn-intro{margin-top:0;margin-bottom:14px}
.learn-pattern p{margin:8px 0;color:var(--muted);font-size:14px;line-height:1.4}
.learn-sequence{margin:8px 0 12px}
.learn-sequence span{display:grid;gap:3px;padding:6px 10px;background:var(--surface-2);border-radius:8px;font-weight:700}
.learn-diagram{max-width:360px;margin:auto}
.learn-diagram .fretboard{display:block;width:clamp(140px,27vh,220px);height:auto;margin:10px auto}
.learn-diagram .diagram-symbol{font-size:38px}
.learn-practice-chords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.learn-practice-chord{min-width:0;padding:14px;border:2px solid var(--line);border-radius:14px;background:var(--surface-2)}
.learn-practice-chord.current{border-color:var(--accent-2)}
.learn-practice-chord h3{font-size:30px;color:var(--accent);margin:4px 0}
.learn-practice-chord .fretboard{display:block;width:min(170px,100%);height:auto;margin:auto}
.learn-progress{width:100%;height:8px;accent-color:var(--accent-2)}
.learn-status{min-height:26px;color:var(--accent-2);font-weight:700}
.learn-mobile-stop{display:none}
.learn-view button:focus-visible,.learn-view input:focus-visible,.learn-view select:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}
@media(max-width:759px){.learn-columns{grid-template-columns:minmax(0,1fr)}.learn-box{padding:14px}.learn-controls label{flex:1 1 120px}.learn-practice-chords{gap:8px}.learn-practice-chord{padding:8px}.learn-practice-chord h3{font-size:25px}}
@media(max-width:900px){.learn-patterns{grid-template-columns:minmax(0,1fr);gap:8px}}
@media(max-width:759px){.learn-mobile-stop{display:inline-flex}}
@media(max-width:759px){.learn-combine{grid-template-areas:"key" "shape" "patterns"}}
@media(prefers-reduced-motion:reduce){.learn-view *{scroll-behavior:auto}}
/* Practice entry points and local journal. */
.home-practice{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px;margin:18px 0 22px;border:1px solid var(--accent-2);border-radius:var(--radius);background:var(--surface)}
.home-practice h2{margin:4px 0 8px;font-size:25px}.home-practice p{margin:6px 0;color:var(--muted);line-height:1.5}.home-practice small{color:var(--muted)}.home-practice .learn-actions{max-width:480px}.home-practice .eyebrow{color:var(--accent-2)}
.learn-welcome,.learn-routine{margin-bottom:18px}.learn-welcome .learn-actions{margin-top:14px}.learn-welcome h2{margin-top:5px}.learn-welcome p,.learn-welcome small{color:var(--muted)}
.learn-history{padding-left:22px}.learn-history li{padding:12px 0;border-bottom:1px solid var(--line)}.learn-history strong,.learn-history span{display:block;overflow-wrap:anywhere}.learn-history span{margin-top:5px;color:var(--muted);font-size:13px}
.learn-chord-picker{border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:12px}.learn-chord-picker label{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-right:12px}.learn-chord-picker input{min-height:20px;min-width:20px;accent-color:var(--accent-2)}.learn-chord-picker legend{font-weight:700}.learn-song-context{overflow-wrap:anywhere}
.learn-routine [aria-pressed="true"]{border-color:var(--accent-2);color:var(--accent-2)}
.song-heading-actions .song-practice-button{min-height:44px;font-size:13px;white-space:normal;max-width:160px}
.hero-actions .hero-learn-button{min-height:48px;flex-shrink:0}
@media(max-width:759px){.home-practice{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.home-practice h2{font-size:22px}.home-practice .learn-actions{max-width:none}.home-practice .learn-actions button{flex:1 1 140px}.song-heading-actions .song-practice-button{max-width:130px;font-size:12px;padding:6px 10px}.hero-actions .hero-learn-button{flex:1 1 100%}}
/* Illustrated learning: reuse the local photo and product artwork from Tools. */
.learn-view>.page-head{position:relative;isolation:isolate;min-height:136px;padding:20px 22px;margin-bottom:16px;align-items:center;gap:18px;border:1px solid #244258;border-radius:18px;background:#07111e;color:#f1f6ff;overflow:hidden}
.learn-view>.page-head:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#07111e 5%,#07111eeb 40%,#07111e55 100%),url('assets/images/tools-guitar.webp') right center/cover no-repeat;pointer-events:none}
.learn-view>.page-head .eyebrow{color:#28d7ce;margin-bottom:10px}
.learn-view #learnTitle{font-size:clamp(32px,4.2vw,54px);line-height:1.08;letter-spacing:-.04em;color:#fff0c9;max-width:780px}
.learn-view>.page-head #learnBackBtn{flex:none;align-self:flex-start;border:1px solid #345469;background:#07111ebf;color:#edf6ff;min-height:44px}
.learn-nav{gap:8px;margin-bottom:20px}
.learn-nav button{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);background:var(--surface);border-radius:12px;font-weight:650;line-height:1.25;text-align:left}
.learn-nav button>span{display:inline-flex;align-items:center;gap:8px}
.learn-nav-icon,.learn-button-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:21px;height:21px;line-height:1}
.learn-nav-icon svg,.learn-button-icon svg{display:block;width:100%;height:100%}
.learn-nav [aria-current="page"]{background:var(--surface-2);border-color:var(--accent-2);box-shadow:inset 0 -2px 0 var(--accent-2)}
.learn-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.learn-welcome{display:flex;align-items:flex-start;gap:18px;padding:22px;border:1px solid #24767c;border-radius:18px;background:radial-gradient(ellipse at 0 0,#12434f99,transparent 65%),linear-gradient(130deg,#0a2130,#071421);color:#f1f6ff;box-shadow:inset 0 1px 0 #3fe5d51a}
.learn-welcome-icon{display:grid;place-items:center;flex:none;width:58px;height:64px;border:1px solid #168f99;border-radius:16px;background:linear-gradient(145deg,#075661,#04303e);color:#31e3d9}
.learn-welcome-icon svg{width:33px;height:39px}
.learn-welcome-content{flex:1;min-width:0}.learn-welcome .eyebrow{color:#36dbd2;margin-bottom:8px}.learn-welcome h2{font-size:25px;color:#f4f8ff}
.learn-welcome p,.learn-welcome small{color:#b2c9de}.learn-welcome .learn-actions{margin-top:18px;gap:8px}
.learn-welcome .ghost{border:1px solid #31556e;background:#102638;color:#edf6ff}
.learn-cards .tool-card{box-shadow:inset 0 1px 0 #ffffff08}.learn-cards .tool-card-art{max-width:calc(100% - 40px)}
.learn-cards .tool-card-icon{border:1px solid #ffffff15}.learn-cards .tool-card-go{font-family:inherit}
@media(min-width:600px) and (max-width:999px){.learn-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){
 .learn-view>.page-head{min-height:120px;padding:16px;gap:10px;align-items:flex-start}.learn-view #learnTitle{font-size:32px}.learn-view>.page-head .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:7px}
 .learn-view>.page-head #learnBackBtn{padding:8px 10px;font-size:12px}.learn-view>.page-head:before{background-position:65% center}
 .learn-nav{gap:6px}.learn-nav button{flex:1 1 130px;padding:9px;font-size:12px}.learn-nav-icon{width:19px;height:19px}
 .learn-welcome{padding:16px;gap:12px}.learn-welcome-icon{width:42px;height:48px;border-radius:12px}.learn-welcome-icon svg{width:26px;height:31px}.learn-welcome h2{font-size:22px}.learn-welcome .learn-actions{margin-left:-54px;margin-top:16px}.learn-welcome .learn-actions button{flex:1 1 150px;min-height:44px;font-size:13px;padding:10px}
 .learn-cards .tool-card{min-height:210px}.learn-cards .tool-card-art{width:210px;height:112px}
}
@media(prefers-reduced-motion:reduce){.learn-cards .tool-card,.learn-cards .tool-card-go{transition:none;transform:none}}
/* Keep the heading and return control inside the image at narrow widths. */
.learn-view>.page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto}
#learnTitle:focus{outline:none}
@media(max-width:599px){.learn-view>.page-head{align-items:start;grid-template-columns:minmax(0,1fr) 44px}.learn-view>.page-head #learnBackBtn{display:grid;place-items:center;width:44px;height:44px;padding:0;font-size:20px}.learn-view>.page-head #learnBackBtn span{display:none}}
/* Learning owns its cards and artwork; Tools keeps its own components. */
.learn-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.learn-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;min-height:310px;padding:18px 18px 0;overflow:hidden;border:1px solid #315466;border-radius:18px;background:radial-gradient(ellipse at 0 0,#17445488,transparent 60%),linear-gradient(140deg,#102737,#06131f);color:#f1f6ff;font:inherit;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}
.learn-card:hover{transform:translateY(-2px);border-color:#62c6cd;box-shadow:0 8px 22px #0004}.learn-card:focus-visible{outline:3px solid #28ded2;outline-offset:3px}
.learn-card-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:13px;background:linear-gradient(145deg,#268d98,#104454);color:#d7fff5;border:1px solid #54c5c944;box-shadow:inset 0 1px 0 #ffffff22}.learn-card-icon svg{width:27px;height:27px}
.learn-card-chords .learn-card-icon{background:linear-gradient(145deg,#b89142,#59411c);color:#fff0c6}.learn-card-chord-finder .learn-card-icon{background:linear-gradient(145deg,#795bb6,#392852);color:#f0e6ff}.learn-card-scales .learn-card-icon{background:linear-gradient(145deg,#3b7eb4,#193e61);color:#e3f5ff}
.learn-card-copy{display:grid;gap:7px;min-width:0;position:relative;z-index:1}.learn-card-copy strong{font-size:18px;line-height:1.25}.learn-card-copy>span{color:#b7ccdd;font-size:13px;line-height:1.5}
.learn-card-art{display:block;align-self:center;width:calc(100% + 36px);max-width:none;height:155px;margin:auto -18px 0;object-fit:cover;object-position:center;pointer-events:none}
.learn-card-go{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #407788;border-radius:50%;background:#081c29dd;color:#b9fff3;font-size:20px}
@media(min-width:600px) and (max-width:1099px){.learn-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.learn-cards{grid-template-columns:minmax(0,1fr);gap:12px}.learn-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px 12px;min-height:270px;padding:16px 16px 0}.learn-card-icon{grid-column:1;grid-row:1}.learn-card-copy{grid-column:2;grid-row:1}.learn-card-copy strong{font-size:17px}.learn-card-art{grid-column:1/-1;grid-row:2;width:calc(100% + 32px);height:170px;margin:0 -16px}.learn-card-go{bottom:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.learn-card{transition:none}.learn-card:hover{transform:none}}
.learn-card-art{object-fit:contain}
