/* User reference: lime #D3FF01, charcoal #1A1A1A, gray #4D4D4D. */
:root,[data-theme=light]{--paper:#f3f3f3;--white:#ffffff;--ink:#1a1a1a;--muted:#5e5e5e;--green:#526300;--dark:#101010;--line:#d8d8d8;--orange:#526300;--gold:#d3ff01;--light:#ededed;--accent:#d3ff01;--red:#d3ff01;--soft:#ededed;--soft-alt:#f7f7f7;--soft-line:#cecece;--detail:#5e5e5e;--heading:#1a1a1a;--header:#ffffff;--nav-text:#bdbdbd;--nav-active:#d3ff01;--link:#526300;--button-ink:#1a1a1a;--focus-background:#ffffff;--muted-line:#e3e3e3;--fret-text:#bdbdbd;color-scheme:light}
[data-theme=dark]{--paper:#101010;--white:#1a1a1a;--ink:#f4f4f4;--muted:#bdbdbd;--green:#d3ff01;--dark:#0a0a0a;--line:#363636;--orange:#d3ff01;--gold:#d3ff01;--light:#282828;--accent:#d3ff01;--red:#d3ff01;--soft:#282828;--soft-alt:#222222;--soft-line:#4d4d4d;--detail:#bdbdbd;--heading:#f4f4f4;--header:#1a1a1a;--nav-text:#bdbdbd;--nav-active:#d3ff01;--link:#d3ff01;--button-ink:#1a1a1a;--focus-background:#1a1a1a;--muted-line:#363636;--fret-text:#bdbdbd;color-scheme:dark}
body{background:var(--paper);color:var(--ink)}.sidebar{background:var(--dark);color:#f5f5f5;border-right:1px solid #ffffff14}.brand svg{stroke:var(--accent)}.brand>span>span{color:var(--accent)}.brand small{color:#9d9d9d}.sidebar nav a,.side-action{color:var(--nav-text)}.sidebar nav a>span{color:#a7a7a7}.sidebar nav a.active{color:#f5f5f5;background:var(--nav-active);box-shadow:inset 3px 0 0 var(--accent)}.sidebar nav a.active>span{color:var(--accent)}.sidebar nav a:hover{background:#2b2b2b}.sidebar-note{border-color:#373737;color:#ababab}.version{color:#979797}header{background:var(--header);border-color:var(--line)}.crumb,.crumb strong{color:var(--muted)}.crumb i{color:var(--detail)}.header-actions{gap:11px}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--soft-line);background:var(--soft);color:var(--ink);padding:7px 10px;min-height:33px;border-radius:7px;font-size:10px;font-weight:600;white-space:nowrap}.theme-toggle>span:first-child{font-size:16px;line-height:1}.theme-toggle:hover{background:var(--soft-alt);border-color:var(--accent)}.avatar{border-color:var(--soft-line);background:var(--soft);color:var(--heading)}.sync-badge{background:var(--soft-alt);border-color:var(--soft-line);color:var(--heading)}.sync-badge i{background:var(--accent)}.sync-badge.pending{background:var(--soft);border-color:var(--accent);color:var(--heading)}.sync-badge.error{background:var(--soft-alt);border-color:var(--red);color:var(--orange)}.sync-badge.error i{background:var(--red)}.eyebrow,.section-title .eyebrow{color:var(--detail)}.muted,.page-heading p,.lesson-description,.form-hint,.file-hint,.file-pending{color:var(--muted)}.instrument{background:var(--soft);border:1px solid var(--line)}.instrument button{color:var(--muted)}.instrument button.active{background:var(--accent);color:var(--button-ink);box-shadow:0 2px 6px #d3ff0122}.btn{background:var(--accent);color:var(--button-ink);border-color:var(--accent);font-weight:700}.btn:hover{background:#d3ff01;border-color:#d3ff01}.btn.secondary,.btn.outline{background:var(--soft-alt);color:var(--ink);border-color:var(--soft-line)}.btn.secondary:hover,.btn.outline:hover{border-color:var(--accent);background:var(--soft)}.btn.orange{background:var(--red);border-color:var(--red);color:#0c0c0c}.text-btn,.fret-learn-link{color:var(--link)}.icon-btn{color:var(--muted)}.focus-card{background:var(--focus-background);border-color:var(--soft-line)}.focus-card h2{color:var(--ink)}.focus-card p,.focus-meta{color:var(--muted)}.focus-meta{border-color:var(--soft-line)}.focus-art{color:#d3ff0122}.focus-top .eyebrow,.focus-card .badge{color:var(--heading)}.badge{border-color:var(--soft-line);color:var(--heading);background:var(--soft-alt)}.panel,.lesson-card,.practice-head,.resource,.stat,.timeline-entry,.tuner,dialog{background:var(--white);border-color:var(--line);color:var(--ink)}.panel h2,.panel h3,.lesson-card h3{color:var(--ink)}.plan-row{border-color:var(--muted-line)}.plan-num{border-color:var(--soft-line);color:var(--heading);background:var(--soft-alt)}.plan-row p,.plan-row>small{color:var(--muted)}.tool-card{background:var(--white);border-color:var(--line)}.tool-card>span:first-child{color:var(--heading);background:var(--soft)}.tool-card p,.tool-card>span:last-child{color:var(--muted)}.lesson-card.done{border-color:var(--detail)}.lesson-card .lesson-index{color:var(--detail)}.lesson-card p{color:var(--muted)}.lesson-card .card-bottom{border-color:var(--muted-line);color:var(--muted)}.lesson-card .card-bottom span:last-child{color:var(--link)}.notice{background:var(--soft);border-color:var(--soft-line);color:var(--heading)}.stat b{color:var(--heading)}.stat p{color:var(--muted)}.input,input[type=text],input[type=url],input[type=number],input[type=search],select,textarea{background:var(--white);border-color:var(--line);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}.field,label.field{color:var(--muted)}input[type=range],input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.chip{color:var(--heading);background:var(--soft)}.empty{background:var(--soft-alt);border-color:var(--soft-line)}.empty .empty-icon{color:var(--accent)}.empty p{color:var(--muted)}.resource-icon{background:var(--soft);color:var(--heading)}.resource p{color:var(--muted)}.resource.pending{border-color:var(--soft-line)}.player-tools{background:var(--soft-alt);color:var(--muted)}.stage-nav button{background:var(--soft);color:var(--muted)}.stage-nav button.active{background:var(--accent);color:var(--button-ink)}.stage-nav button.completed{background:var(--soft);color:var(--heading);box-shadow:inset 0 -2px var(--detail)}.instruction{background:var(--soft-alt);border-left-color:var(--red)}.instruction h2{color:var(--heading)}.instruction p,.instruction ol{color:var(--muted)}.practice-tools label,.check-label{color:var(--muted)}.timing-strip{background:var(--soft);border-color:var(--soft-line)}.timing-strip>span{color:var(--heading)}.count{background:var(--white);color:var(--muted)}.count.on{background:var(--red);color:#0c0c0c}.fret-container{background:#111111;color:#d7d7d7;box-shadow:inset 0 0 25px #0002}.fret-header{color:#c1c1c1}.string-label{color:#d7d7d7}.string-label small{color:#9d9d9d}.fret-cell{border-right-color:#6d6d6d}.fret-cell:before{background:#7f7f7f}.fret-note{background:#353535;border-color:#7c7c7c;color:#f5f5f5}.fret-note.root{background:var(--accent);border-color:var(--accent);color:#0c0c0c}.fret-note.target{box-shadow:0 0 0 3px #d3ff0133}.fret-note.sounding{background:var(--red);color:#0c0c0c;border-color:#d3ff01;box-shadow:0 0 0 5px #d3ff0133}.fret-foot{color:var(--muted)}.notation-note{background:var(--soft-alt);border-color:var(--line)}.notation-note small,.notation-note span{color:var(--muted)}.notation-note b{color:var(--heading)}.notation-note.sounding{background:var(--soft);border-color:var(--red);box-shadow:inset 0 2px var(--red)}.lesson-side p{color:var(--muted)}.concept-box,.sticky-note{background:var(--soft);border-color:var(--soft-line);color:var(--ink)}.concept-box .eyebrow{color:var(--detail)}.concept-box p,.sticky-note p{color:var(--muted)}.stage-position{color:var(--muted)}.review-check,.review-choice label{background:var(--soft-alt);border-color:var(--line);color:var(--ink)}.review-check input,.review-choice input{accent-color:var(--accent)}.neck-controls label,.neck-description p{color:var(--muted)}.interval-table th,.interval-table td{border-color:var(--line)}.interval-table th{color:var(--detail)}.content-note{background:var(--soft-alt);color:var(--ink)}.content-note p{color:var(--muted)}.tuner-note{color:var(--accent);text-shadow:0 0 30px #d3ff010a}.tuner-note small{color:var(--detail)}.tuner-frequency,.tuner-scale{color:var(--muted)}.tuner-meter{background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),var(--soft-line) calc(10% - 1px) 10%);border-color:var(--detail)}.tuner-center{background:#d3ff011a;border-color:var(--detail)}.tuner-needle{background:var(--accent)}.tuner-status{color:var(--heading)}.tuner-reference button{background:var(--soft-alt);border-color:var(--soft-line);color:var(--heading)}.tuner-reference small{color:var(--muted)}.tuner-reference button.active{background:var(--accent);border-color:var(--accent);color:var(--button-ink)}.timeline{border-color:var(--soft-line)}.timeline-entry:before{background:var(--red);border-color:var(--paper)}.timeline-entry time,.timeline-entry p{color:var(--muted)}.link-list button{background:var(--soft-alt);border-color:var(--soft-line);color:var(--ink)}.cloud-callout{background:var(--soft);border-color:var(--soft-line)}.cloud-callout>span{color:var(--accent)}.cloud-callout p{color:var(--muted)}.google-button{background:var(--white);border-color:var(--soft-line);color:var(--ink)}.account-detail{background:var(--soft-alt);color:var(--ink)}.check-list{color:var(--muted)}.check-list li:before{color:var(--detail)}.related{border-color:var(--line)}.progress-line{background:var(--soft)}.progress-line i{background:var(--accent)}.result-callout{background:var(--soft);border-color:var(--soft-line)}.result-callout p{color:var(--muted)}footer,footer button{color:var(--muted)}footer i{color:var(--detail)}dialog p,.install-steps{color:var(--muted)}dialog::backdrop{background:#000000bf}#toast{background:var(--soft);color:var(--ink);border-color:var(--accent);box-shadow:0 7px 25px #00000044}#record-banner{background:#d3ff01;color:#0c0c0c}#record-banner button{background:#1a1a1a;color:#d3ff01}.error-text{color:var(--orange)!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--accent)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{color-scheme:dark}[data-theme=dark] .focus-card{box-shadow:inset 0 1px 0 #d3ff010a}[data-theme=dark] .brand svg{filter:drop-shadow(0 0 5px #d3ff012b)}
@media(max-width:720px){header{background:var(--header)}.header-actions{gap:7px}.theme-toggle{padding:6px 8px;font-size:9px;min-height:30px;gap:4px}.theme-toggle>span:first-child{font-size:15px}.sync-badge span{max-width:96px}.mobile-nav{background:var(--header);border-color:var(--line)}.mobile-nav a,.mobile-nav button{color:var(--muted)}.mobile-nav .active{color:var(--heading)}.mobile-nav .active span{color:var(--accent)}.tuner{padding-top:23px}.tuner-note{font-size:68px;margin-top:10px}.tuner-meter{margin-top:23px}.tuner-status{margin-top:19px}.focus-art{color:#d3ff011f}}
@media(max-width:380px){.theme-toggle>span:last-child{display:none}.theme-toggle{min-width:31px}.sync-badge span{max-width:85px}}

.crumb{min-width:0}.crumb strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{flex-shrink:0}

.focus-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent)}

/* Solid lime surfaces and neutral grays follow the supplied swatches. */
.sidebar nav a.active{background:#d3ff01;color:#1a1a1a;box-shadow:none;font-weight:700}.sidebar nav a.active>span{color:#1a1a1a}
.sidebar nav a.active:hover{background:#d3ff01}.btn:not(.secondary):not(.outline):not(.orange){background:#d3ff01;border-color:#d3ff01;color:#1a1a1a;box-shadow:none}
.btn:not(.secondary):not(.outline):not(.orange):hover{background:#e0ff4d;border-color:#e0ff4d}
.instrument button.active,.stage-nav button.active{background:#d3ff01;color:#1a1a1a;box-shadow:none}
.focus-card{border-color:var(--soft-line);box-shadow:none}.focus-card:before{background:#d3ff01;height:3px}
.brand svg{stroke:#d3ff01}.brand>span>span{color:#d3ff01}.focus-art{color:#d3ff0112}
.tool-card>span:first-child{background:var(--soft);color:var(--link)}
.sidebar nav a:hover{background:#252525}.theme-toggle:hover{border-color:#d3ff01}
.fret-container{background:#1a1a1a}.fret-note{background:#4d4d4d;color:#ffffff;border-color:#888888}
.fret-note.root,.fret-note.sounding{background:#d3ff01;border-color:#d3ff01;color:#1a1a1a}
[data-theme=dark] .focus-card{box-shadow:none}[data-theme=dark] .brand svg{filter:none}
[data-theme=dark] .focus-top .eyebrow,[data-theme=dark] .tuner-status{color:#d3ff01}
[data-theme=light] .focus-top .eyebrow{color:#526300}
.focus-card .badge{color:var(--muted)}.mobile-nav .active{color:var(--link)}
