@font-face{font-family:Manrope;src:url('assets/Manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/BarlowCondensed-ExtraBold.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}
:root{--canvas:#1e1f22;--navigation:#2b2d31;--surface:#313338;--elevated:#383a40;--text:#f2f3f5;--text-muted:#b5bac1;--accent:#7551d6;--accent-hover:#6a45cc;--accent-text:#c4b2fa;--selected:#404249;--border:#3f4147;--border-control:#80848e;--focus:#00a8fc;--success:#43b581;--warning:#f0b232;--warning-text:#17151d;--error:#fa777c;--error-surface:#502b33;--error-border:#c15c64;--radius:12px;color-scheme:dark;font-family:Manrope,sans-serif;font-size:15px;font-weight:400;color:var(--text);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:var(--selected);color:var(--text)}input{caret-color:var(--accent-text)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}a{color:inherit;text-decoration:none}button{border:0;background:none}h1,h2,h3,p{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}h1,h2,h3{text-wrap:balance;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}p{line-height:1.6}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--text);z-index:100;padding:14px;border-radius:8px}.skip-link:focus{top:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;padding:43px 22px 24px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--navigation);z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:38px;font-weight:800;letter-spacing:-1.8px;line-height:1;padding-left:12px;align-self:flex-start}.brand-period{color:var(--accent-text);margin-left:-9px}.brand-symbol{display:flex;gap:3px;transform:rotate(18deg);width:24px;height:32px;align-items:center}.brand-symbol i{width:3px;height:23px;background:var(--accent);border-radius:3px}.brand-symbol i:nth-child(2){margin-top:-7px}.brand-symbol i:nth-child(3){margin-top:-14px}.brand-symbol i:nth-child(4){margin-top:-21px}.brand-caption{font-size:12px;color:var(--text-muted);padding-left:14px;margin-top:13px;letter-spacing:.1px}.sidebar nav{margin-top:49px;display:flex;flex-direction:column;gap:9px}.nav-link{display:flex;align-items:center;gap:13px;min-height:49px;padding:12px 14px;font-size:14px;font-weight:550;border-radius:9px;color:var(--text-muted);transition:background .18s}.nav-link:hover{background:var(--elevated)}.nav-link.active{background:var(--selected);color:var(--accent-text);font-weight:600}.nav-link svg{width:20px;height:20px}.nav-link .nav-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;margin-left:auto}.nav-link:not(.active) .nav-dot{display:none}.sidebar-bottom{margin-top:auto;padding-top:30px}.daily-note{background:var(--navigation);padding:20px 17px 16px;border-radius:12px}.little-spark{font-size:31px;color:var(--warning);line-height:1;margin-bottom:12px}.daily-note h3{font-size:14px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.daily-note p{font-size:12px;color:var(--text-muted);margin-top:7px;line-height:1.65}.practice-days{display:flex;justify-content:space-between;margin-top:18px}.day{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10px;color:var(--text-muted)}.day b{font-size:10px;font-weight:500;width:19px;height:19px;border-radius:50%;background:var(--selected);display:grid;place-items:center;color:var(--text-muted)}.day.done b{background:var(--accent);color:var(--text)}.day.today b{outline:1px solid var(--warning);outline-offset:3px}.day b svg{width:12px;height:12px}.local-caption{font-size:11px;display:flex;align-items:center;gap:7px;margin:21px 8px 0;color:var(--text-muted)}.small-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}.workspace{margin-left:236px}.topbar{height:88px;margin:0 45px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-muted)}.topbar-label{letter-spacing:.2px}.topbar-tools{display:flex;align-items:center;gap:17px}.tuning{display:flex;align-items:center;gap:9px}.tuning-notes{font-size:10px;letter-spacing:2px;margin-left:7px;color:var(--text-muted)}.icon-button{display:inline-flex;justify-content:center;align-items:center;width:38px;height:38px;border-radius:50%;color:var(--text-muted)}.icon-button:hover{background:var(--selected)}.icon-button[aria-pressed=false]{color:var(--text-muted)}.help-button{width:23px;height:23px;border:1px solid var(--border);font-size:13px;font-weight:600}.topbar .icon-button svg{width:18px;height:18px}main{max-width:1400px;margin:0 auto;padding:39px 45px 0;outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:31px}h1{font-size:40px;line-height:1.18;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.page-heading p{color:var(--text-muted);font-size:14px;margin-top:9px}.notation-control{display:flex;border:1px solid var(--border);background:var(--canvas);padding:4px;border-radius:9px;flex-shrink:0}.notation-control button{border-radius:5px;padding:8px 13px;font-size:11px;min-height:33px;font-weight:600;color:var(--text-muted)}.notation-control .selected{background:var(--surface);box-shadow:0 2px 5px #00000026;color:var(--accent-text)}.practice-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:24px 27px 20px;gap:12px}.panel-heading h2{font-size:18px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.panel-heading p{font-size:12px;color:var(--text-muted);margin-top:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;padding:12px 18px;min-height:44px;font-size:13px;font-weight:600;transition:background .18s,transform .18s}.button svg{width:17px;height:17px}.button.primary{background:var(--accent);color:var(--text)}.button.primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.button.secondary{border:1px solid var(--border);background:var(--surface)}.button.secondary:hover{background:var(--elevated)}.button.small{min-height:37px;padding:8px 12px;font-size:11px}.session-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:0 27px;min-height:53px}.mode-tabs{display:flex;gap:25px;height:53px}.mode-tabs button{font-size:12px;color:var(--text-muted);border-bottom:2px solid transparent;padding:0 1px}.mode-tabs .active{color:var(--accent-text);border-color:var(--accent-text);font-weight:600}.level-indicator{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--text-muted)}.question-area{margin:0 20px;background:var(--navigation);min-height:167px;border-radius:11px;padding:21px 26px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative}.question-count{font-size:10px;color:var(--text-muted);font-weight:600;margin-bottom:8px}.question-count span{color:var(--text-muted);margin-left:4px}.question-copy>p{font-size:13px;color:var(--text-muted)}.target-row{display:flex;align-items:center;gap:22px;margin-top:8px}.target-note{font-size:57px;line-height:1.05;font-weight:600;letter-spacing:-2px;color:var(--accent-text)}.target-context{font-size:13px;line-height:1.5;color:var(--text-muted);border-left:1px solid var(--border);padding-left:22px}.target-context strong{font-weight:600}.target-context span{display:block;font-size:11px;color:var(--text-muted);margin-top:3px}.listen-button{background:var(--elevated);border:1px solid var(--border);width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:var(--text-muted);margin-left:0}.listen-button:hover{background:var(--selected)}.listen-button svg{width:16px;height:16px}.session-counter{text-align:right;align-self:flex-start;margin-top:11px}.progress-steps{display:flex;gap:4px;justify-content:flex-end}.progress-steps i{width:15px;height:5px;background:var(--border);border-radius:4px}.progress-steps i.correct{background:var(--success)}.progress-steps i.wrong{background:var(--error)}.progress-steps i.current{background:var(--accent)}.session-counter>span{display:block;font-size:10px;color:var(--text-muted);margin-top:11px}.fretboard-wrap{padding:24px 27px 16px}.board-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-bottom:17px}.board-heading>span:first-child{display:flex;align-items:center;gap:7px}.board-heading .small-dot{width:5px;height:5px;background:var(--accent)}.board-range{font-size:10px;border:1px solid var(--border);padding:4px 7px;border-radius:4px;color:var(--text-muted)}.board-scroll{overflow-x:auto;padding:0 0 7px;scrollbar-width:thin;scrollbar-color:var(--border-control) var(--canvas)}.board-scroll::-webkit-scrollbar{height:6px}.board-scroll::-webkit-scrollbar-thumb{background:var(--border-control);border-radius:5px}.fretboard{--frets:13;min-width:790px;position:relative;display:grid;grid-template-columns:40px 47px repeat(12,minmax(46px,1fr));grid-template-rows:25px repeat(6,35px) 20px;isolation:isolate;padding-bottom:0}.fretboard.extended{grid-template-columns:40px 47px repeat(24,minmax(46px,1fr));min-width:1390px}.fretboard-bg{position:absolute;z-index:-2;left:87px;right:0;top:25px;bottom:20px;background:var(--navigation);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0 4px 4px 0}.fretboard-bg::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--border-control);box-shadow:1px 0 0 var(--border-control)}.fret-number{font-size:10px;color:var(--text-muted);text-align:center;line-height:20px}.fret-number.zero{font-size:9px}.string-name{display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--text-muted);gap:4px}.string-name small{font-size:8px;font-weight:400;align-self:center}.string-name.highlight{color:var(--accent-text);font-weight:800}.fret-cell{position:relative;min-width:0;width:100%;height:35px;padding:0;display:flex;align-items:center;justify-content:center;border-right:2px solid var(--border-control);outline-offset:-3px!important;z-index:1}.fret-cell::before{content:'';position:absolute;left:0;right:0;height:var(--thickness,1px);background:var(--border-control);pointer-events:none;z-index:-1;box-shadow:0 1px 0 #00000026}.fret-cell.open{border-right:0}.fret-cell.open::before{left:4px;right:0;background:var(--border-control)}.fret-cell.inactive{background:var(--elevated)}.fret-cell.inactive::before{opacity:.4}.fret-cell.target-string{background:#7551d61a}.fret-cell.target-string::before{background:var(--accent)}.note-marker{display:flex;align-items:center;justify-content:center;min-width:27px;width:27px;height:27px;border-radius:50%;background:transparent;font-size:10px;font-weight:600;color:transparent;box-shadow:none;pointer-events:none;transition:background .15s,color .15s,transform .15s}.fret-cell:not(:disabled):hover .note-marker{background:var(--selected);color:var(--accent-text);transform:scale(1.1)}.fret-cell:not(:disabled):hover .note-marker:empty::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent)}.fret-cell.revealed .note-marker{color:var(--accent-text);background:var(--selected)}.fret-cell.note-filtered .note-marker,.fret-cell.chosen .note-marker{color:var(--text);background:var(--accent)}.fret-cell.focus-position .note-marker{background:var(--accent);color:var(--text);box-shadow:0 0 0 5px #7551d633;animation:note-in .25s cubic-bezier(.16,1,.3,1)}.fret-cell.focus-position .note-marker:empty::after{content:'?';font-size:14px}.fret-cell.correct .note-marker{background:var(--accent);color:var(--text);box-shadow:0 0 0 4px #43b58126}.fret-cell.wrong .note-marker{background:var(--error-surface);color:var(--error)}.fret-cell.faded .note-marker{opacity:.2}.fret-cell:disabled{opacity:1}.fret-cell.open .note-marker{outline:1px solid var(--border);background:var(--surface);color:var(--border-control);width:23px;height:23px;min-width:23px}.fret-cell.open:not(.revealed):not(.correct):not(.wrong):not(.focus-position) .note-marker{font-size:0}.fret-cell.open:not(.revealed):not(.correct):not(.wrong):not(.focus-position) .note-marker::after{content:'';width:6px;height:6px;border-radius:50%;border:1px solid var(--border-control)}.fret-cell.open.correct .note-marker,.fret-cell.open.focus-position .note-marker{background:var(--accent);color:var(--text)}.fret-dot{display:flex;justify-content:center;align-items:center;gap:4px}.fret-dot i{width:4px;height:4px;background:var(--border-control);border-radius:50%}.board-footer{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--text-muted);margin-top:8px;gap:12px}.board-footer>span:first-child{display:flex;align-items:center;gap:7px}.legend-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.feedback-row{display:flex;justify-content:space-between;align-items:center;padding:16px 27px;gap:20px;background:var(--canvas);border-top:1px solid var(--canvas);min-height:73px}.feedback{font-size:11px;color:var(--text-muted);max-width:66ch;line-height:1.6}.feedback.success{color:var(--accent-text)}.feedback.error{color:var(--error)}.question-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.text-button{color:var(--text-muted);font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.text-button:hover{color:var(--accent-text)}.feedback-row .button{font-size:11px;padding:9px 13px;min-height:37px}.path-section{margin-top:30px}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:15px}.section-title h2{font-size:15px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.section-title>span{font-size:10px;color:var(--text-muted)}.learning-path{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.path-item{display:flex;gap:12px;align-items:center;text-align:left;background:var(--navigation);border:1px solid var(--border);border-radius:10px;padding:18px 14px;transition:background .15s;min-width:0}.path-item:hover{background:var(--selected)}.path-item.active{background:var(--selected);border-color:var(--border-control)}.path-number{border:1px solid var(--border);width:29px;height:29px;display:grid;place-items:center;border-radius:50%;font-size:12px;color:var(--text-muted);flex-shrink:0}.active .path-number{background:var(--accent);color:var(--text);border-color:var(--accent-text)}.path-item strong{font-size:12px;font-weight:600;display:block}.path-item small{display:block;font-size:10px;color:var(--text-muted);margin-top:5px}.path-check,.path-arrow{margin-left:auto;width:15px;height:15px;flex-shrink:0}.path-check svg{width:15px;height:15px}.path-check{display:none;color:var(--accent-text)}.path-item.active .path-check{display:block}.path-item.active .path-arrow{display:none}.tip{display:flex;gap:12px;align-items:center;padding:22px 8px 6px;color:var(--text-muted)}.tip svg{width:20px;height:20px;color:var(--accent-text)}.tip p{font-size:11px;line-height:1.7}.tip strong{font-weight:600;color:var(--text-muted);margin-right:9px}.main-footer{display:flex;align-items:center;gap:16px;border-top:1px solid var(--border);padding:19px 0 24px;margin-top:32px;color:var(--text-muted);font-size:10px}.footer-brand{font-size:18px;letter-spacing:-.5px;font-weight:600;color:var(--text-muted)}.main-footer p{font-size:10px}.private-label{margin-left:auto;font-size:9px}.answer-choices{padding:0 27px 20px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.answer-choice{min-width:55px;min-height:44px;border:1px solid var(--border);border-radius:7px;font-weight:600;font-size:14px}.answer-choice:hover{background:var(--selected)}.answer-choice.correct{background:var(--accent);border-color:var(--accent-text);color:var(--text)}.answer-choice.wrong{background:var(--error-surface);color:var(--error);border-color:var(--error-border)}.answer-choice:disabled{opacity:1}.select-control{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--text-muted)}select{border:1px solid var(--border);background:var(--navigation);border-radius:7px;padding:9px 10px;color:var(--text)}.explore-controls{padding:3px 27px 16px;border-bottom:1px solid var(--border)}.filter-notes{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.filter-note{padding:7px 10px;min-height:36px;border-radius:6px;color:var(--text-muted);font-size:12px}.filter-note:hover{background:var(--selected)}.filter-note.active{background:var(--accent);color:var(--text)}.checkbox-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-muted)}input[type=checkbox],input[type=radio]{accent-color:var(--accent-text);width:17px;height:17px}.explore-readout{display:flex;align-items:center;gap:22px;padding:24px 27px 0;min-height:75px}.explore-readout strong{font-size:38px;font-weight:600;letter-spacing:-1px;color:var(--accent-text);min-width:50px}.explore-readout span{font-size:13px;color:var(--text-muted)}.reference-notes{padding:29px 4px 0}.reference-notes h2{font-size:18px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.reference-notes p{font-size:13px;margin-top:7px;color:var(--text-muted)}.open-strings{display:flex;gap:12px;margin:16px 0}.open-string{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--border);padding:9px 10px;min-width:85px}.open-string strong{font-size:23px;font-weight:600;color:var(--accent-text)}.open-string small{display:block;font-size:9px;color:var(--text-muted)}.open-string svg{width:15px}.muted{color:var(--text-muted)}dialog{border:1px solid var(--border);border-radius:16px;padding:29px;max-width:480px;width:calc(100% - 32px);color:var(--text);box-shadow:0 20px 80px #00000040}dialog::backdrop{background:#00000099;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.dialog-heading h2{font-size:24px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.dialog-heading .icon-button{width:30px;height:30px}.dialog-heading svg{width:18px;height:18px}dialog p{font-size:13px;line-height:1.7;margin-bottom:19px}dialog fieldset{border:0;margin:22px 0;padding:0}legend{font-size:13px;font-weight:600;margin-bottom:10px}.range-inputs{display:flex;align-items:center;gap:13px}.range-inputs label{font-size:11px;color:var(--text-muted);flex:1}.range-inputs input{display:block;width:100%;border:1px solid var(--border);border-radius:6px;background:var(--navigation);padding:10px;margin-top:7px;font-size:14px}.range-inputs>span{padding-top:20px;color:var(--text-muted)}.string-options{display:flex;gap:7px;flex-wrap:wrap}.string-option{display:flex;gap:6px;align-items:center;padding:8px;background:var(--elevated);border-radius:5px;font-size:12px}.radio-label{display:flex;gap:8px;align-items:center;font-size:13px;margin:9px 0}.radio-label span{font-size:10px;color:var(--text-muted);margin-left:auto}.full-width{width:100%}.form-error{color:var(--error);font-size:12px;margin:0 0 10px}dialog ol{padding-left:20px;font-size:13px;line-height:1.8;margin:16px 0}dialog li+li{margin-top:10px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.danger{background:var(--error);color:var(--text)}.toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);background:var(--text);color:var(--text);padding:12px 20px;z-index:50;border-radius:8px;font-size:12px;box-shadow:0 6px 20px #00000040}.session-complete{padding:35px 27px;text-align:center}.complete-mark{width:55px;height:55px;border-radius:50%;background:var(--selected);color:var(--accent-text);display:grid;place-items:center;margin:0 auto 18px}.complete-mark svg{width:26px;height:26px}.session-complete h2{font-size:28px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.session-complete p{font-size:14px;color:var(--text-muted);margin:9px auto 23px;max-width:50ch}.completion-score{font-size:63px;color:var(--accent-text);font-weight:600;line-height:1.2;letter-spacing:-2px}.completion-score span{font-size:22px;color:var(--text-muted);letter-spacing:0}.completion-stats{display:flex;justify-content:center;gap:45px;margin:18px 0 25px;font-size:12px;color:var(--text-muted)}.completion-stats strong{display:block;font-size:19px;color:var(--text);margin-bottom:4px}.completion-actions{display:flex;justify-content:center;gap:12px}.empty-progress{background:var(--surface);border:1px solid var(--border);border-radius:16px;text-align:center;padding:64px 25px}.empty-progress>svg{width:46px;height:46px;color:var(--accent-text);margin-bottom:17px}.empty-progress h2{font-size:25px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.empty-progress p{font-size:14px;color:var(--text-muted);max-width:48ch;margin:12px auto 25px}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border);padding-bottom:25px;margin-bottom:27px;gap:20px}.progress-stat+.progress-stat{border-left:1px solid var(--border);padding-left:30px}.progress-stat strong{font-size:38px;font-weight:600;letter-spacing:-1px;display:block}.progress-stat span{font-size:12px;color:var(--text-muted)}.history-panel{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:25px}.history-panel h2{font-size:20px;margin-bottom:16px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.history-list{list-style:none;padding:0;margin:0}.history-item{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--border);gap:15px}.history-item:last-child{border:0}.history-item strong{font-size:13px;font-weight:600}.history-item small{display:block;font-size:11px;color:var(--text-muted);margin-top:3px}.history-score{font-size:19px;font-weight:600;color:var(--accent-text)}.history-score span{font-size:12px;color:var(--text-muted)}.progress-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:11px;color:var(--text-muted)}.string-progress{margin-top:25px;display:grid;gap:15px}.string-progress-row{display:grid;grid-template-columns:70px 1fr 50px;align-items:center;gap:16px;font-size:12px}.string-progress-row strong{font-weight:500;color:var(--text-muted);text-align:right;font-size:11px}.stat-bar{height:6px;background:var(--selected);border-radius:5px;overflow:hidden}.stat-bar i{display:block;height:100%;background:var(--accent);border-radius:5px}.stats-detail{margin:27px 0}.stats-detail h2{font-size:18px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.stats-detail p{font-size:11px;color:var(--text-muted);margin-top:6px}@keyframes note-in{from{transform:scale(.75)}to{transform:scale(1)}}
@media(min-width:1550px){main{padding-top:49px}.page-heading{margin-bottom:37px}.question-area{min-height:186px}.fretboard{grid-template-rows:25px repeat(6,39px) 20px}.fret-cell{height:39px}.panel-heading{padding-top:28px;padding-bottom:24px}.path-section{margin-top:36px}.path-item{padding:22px 17px}}
@media(max-width:1200px){.sidebar{width:205px;padding-left:16px;padding-right:16px}.workspace{margin-left:205px}.topbar{margin:0 28px}.tuning-notes{display:none}main{padding:31px 28px 0}h1{font-size:35px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.question-area{gap:15px}.session-counter{max-width:145px}.progress-steps{gap:3px}.progress-steps i{width:11px}.learning-path{gap:9px}.path-item{padding:15px 11px;gap:8px}.path-item strong{font-size:11px}.path-item small{font-size:9px}.path-check,.path-arrow{display:none!important}.path-number{width:25px;height:25px}.private-label{display:none}}
@media(max-width:950px){.sidebar{width:174px;padding:35px 10px 20px}.workspace{margin-left:174px}.brand{font-size:32px;padding-left:12px;gap:8px}.brand-caption{font-size:10px}.nav-link{font-size:11px;gap:9px;padding:12px 10px}.nav-link svg{width:18px}.daily-note{padding:15px 12px}.daily-note h3{font-size:12px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.daily-note p{font-size:11px}.local-caption{font-size:9px}.topbar{height:72px;margin:0 23px}.topbar-tools{gap:12px}.topbar-label{font-size:11px}main{padding:30px 23px 0}.page-heading{align-items:flex-start;gap:12px}h1{font-size:32px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.page-heading p{font-size:12px}.notation-control button{padding:7px 9px;font-size:10px}.question-area{padding:18px 20px;min-height:178px}.target-note{font-size:50px}.target-context{font-size:12px;padding-left:14px}.target-row{gap:14px}.session-counter{position:absolute;right:18px;top:8px}.session-counter>span{display:none}.question-count{margin-bottom:10px}.panel-heading,.session-toolbar{padding-left:20px;padding-right:20px}.fretboard-wrap{padding-left:20px;padding-right:20px}.feedback-row{padding:14px 20px}.feedback{font-size:10px}.section-title>span{display:none}.learning-path{grid-template-columns:1fr}.path-item{padding:13px 16px;gap:12px}.path-item strong{font-size:13px}.path-item small{font-size:11px}.path-item .path-arrow,.path-item.active .path-check{display:block!important}.path-item.active .path-arrow{display:none!important}.path-number{width:30px;height:30px}.tip{align-items:flex-start}.tip strong{display:block;margin-bottom:4px}.main-footer{margin-top:25px}.open-strings{flex-wrap:wrap}.open-string{flex:1;min-width:75px}.progress-stat strong{font-size:30px}.progress-stat+.progress-stat{padding-left:20px}}
@media(max-width:700px){.sidebar{position:relative;inset:auto;width:auto;padding:20px 20px 0;border:0;background:var(--canvas)}.brand{font-size:31px;padding-left:0}.brand-symbol{height:28px;width:23px}.brand-caption{display:none}.sidebar nav{margin:23px -20px 0;flex-direction:row;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0 12px}.nav-link{flex:1;justify-content:center;font-size:11px;gap:7px;min-height:48px;border-radius:0;padding:10px 4px;border-bottom:2px solid transparent;white-space:nowrap}.nav-link.active{background:none;border-bottom-color:var(--accent-text)}.nav-link svg{width:16px;height:16px}.nav-dot{display:none!important}.sidebar-bottom{display:none}.workspace{margin-left:0}.topbar{position:absolute;z-index:6;top:17px;right:18px;height:31px;border:0;margin:0}.topbar-label,.tuning{display:none}.topbar-tools{gap:10px}.help-button{width:25px;height:25px}.topbar .icon-button{height:32px;width:32px}main{padding:27px 18px 0}.page-heading{margin-bottom:24px;gap:8px;align-items:center}h1{font-size:29px;;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.page-heading p{font-size:11px;max-width:23ch;margin-top:8px;line-height:1.5}.notation-control{padding:3px;align-self:flex-start;margin-top:1px}.notation-control button{padding:6px 8px;font-size:9px;min-height:30px}.panel-heading{padding:19px 17px 16px;align-items:center}.panel-heading h2{font-size:16px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.panel-heading p{font-size:10px;margin-top:3px}.button.small{font-size:10px;padding:7px 9px;min-height:36px;gap:6px}.button.small svg{width:15px;height:15px}.session-toolbar{padding:0 17px;min-height:49px}.mode-tabs{gap:22px;height:49px}.mode-tabs button{font-size:11px}.level-indicator{font-size:9px;gap:5px}.question-area{margin:0 10px;min-height:183px;padding:18px 17px;align-items:flex-start}.question-count{font-size:9px}.progress-steps{gap:2px}.progress-steps i{width:9px;height:4px}.session-counter{right:16px;top:9px}.question-copy>p{font-size:12px;margin-top:12px}.target-row{margin-top:13px;gap:17px}.target-note{font-size:53px}.target-context{padding-left:17px;font-size:11px}.target-context span{font-size:10px;max-width:16ch}.listen-button{width:31px;height:31px;margin-left:0}.listen-button svg{width:15px}.fretboard-wrap{padding:19px 16px 15px}.board-heading{font-size:10px;margin-bottom:12px;gap:7px}.board-heading>span:first-child .small-dot{display:none}.board-range{font-size:9px;white-space:nowrap}.fretboard{min-width:776px;grid-template-rows:25px repeat(6,43px) 20px}.fret-cell{height:43px}.fretboard.extended{min-width:1376px}.board-footer{font-size:8px;margin-top:4px}.board-footer>span:last-child{max-width:17ch;text-align:right}.feedback-row{padding:13px 16px;align-items:flex-start;flex-direction:column;gap:10px;min-height:100px}.feedback{font-size:11px}.question-actions{align-self:flex-end}.feedback-row .button{min-height:39px;font-size:11px}.text-button{font-size:11px}.path-section{margin-top:27px}.section-title h2{font-size:14px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.learning-path{gap:8px}.path-item{padding:15px;gap:13px}.path-item strong{font-size:12px}.path-item small{font-size:10px}.tip{padding:20px 4px 0;gap:11px}.tip p{font-size:10px}.tip svg{width:18px;height:18px;margin-top:2px}.main-footer{padding:17px 0 22px;gap:12px}.main-footer p{font-size:9px}.footer-brand{font-size:16px}.answer-choices{padding:0 15px 18px;gap:7px}.answer-choice{min-width:44px;flex:1;max-width:60px;font-size:12px}.filter-notes{gap:2px}.filter-note{padding:7px 9px;font-size:11px}.explore-controls{padding:4px 17px 15px}.select-control{font-size:10px}.select-control select{font-size:10px;max-width:100px}.explore-readout{padding:21px 17px 0;gap:17px}.explore-readout span{font-size:11px}.explore-readout strong{font-size:34px}.reference-notes{padding-top:25px}.reference-notes h2{font-size:17px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.reference-notes p{font-size:12px}.open-strings{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.open-string{min-width:0;justify-content:center;gap:9px}.open-string strong{font-size:22px}.open-string small{font-size:8px}.toast{left:50%;max-width:90vw;width:max-content;bottom:20px}.completion-score{font-size:55px}.session-complete{padding:33px 18px}.session-complete h2{font-size:24px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.session-complete p{font-size:12px}.completion-stats{gap:28px;font-size:10px}.completion-actions{flex-direction:column}.completion-actions .button{font-size:12px}.progress-summary{gap:10px;padding-bottom:20px}.progress-stat strong{font-size:26px}.progress-stat span{font-size:10px}.progress-stat+.progress-stat{padding-left:12px}.history-panel{padding:20px 17px}.history-panel h2{font-size:18px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.history-item strong{font-size:11px}.history-item small{font-size:10px}.history-score{font-size:17px}.progress-bottom{align-items:flex-start;gap:20px;font-size:10px}.empty-progress{padding:44px 22px}.empty-progress h2{font-size:23px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}.empty-progress p{font-size:12px}.radio-label span{font-size:9px}dialog{padding:23px}.dialog-heading h2{font-size:22px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.little-spark svg{width:28px;height:28px;stroke-width:1.5}.explore-readout strong>svg{width:35px;height:35px}

/* Riff Club: typographies officielles et états des composants. */
.brand{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:40px;letter-spacing:.005em;gap:3px;padding-left:3px;text-transform:uppercase;color:var(--text)}
.brand-pick{display:block;width:44px;height:44px;flex-shrink:0}
.brand-period{color:var(--accent-text);margin-left:-2px}
.brand-caption{padding-left:10px;font-size:10px;line-height:1.6;color:var(--text-muted);margin-top:9px}
.sidebar{background:var(--navigation)}
h1{font-size:48px;line-height:1.05;text-transform:uppercase}
.panel-heading h2{font-size:24px}
.target-note{font-family:'Barlow Condensed',sans-serif;font-size:74px;font-weight:800;letter-spacing:.005em}
.target-context{border-color:var(--border-control)}
.completion-score{font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em;font-size:72px}
.target-note,.completion-score{color:var(--accent-text)}
.button{border-radius:6px;font-weight:600}
.button.secondary{background:var(--elevated);border-color:var(--border-control)}
.button.secondary:hover{background:var(--selected)}
.button.primary,.notation-control .selected{background:var(--accent);color:var(--text)}
.button.primary:hover{background:var(--accent-hover)}
.notation-control{background:var(--canvas);border-color:var(--border)}
.notation-control .selected{box-shadow:none}
.question-area{background:var(--navigation)}
.progress-steps i.current{background:var(--accent-text)}
.progress-steps i.correct{background:var(--success)}
.progress-steps i.wrong{background:var(--error)}
.fret-cell.correct .note-marker,.answer-choice.correct{background:var(--success);color:var(--canvas)}
.feedback.success{color:var(--success)}
.feedback.error{color:var(--error)}
.fret-cell.open.correct .note-marker{background:var(--success);color:var(--canvas)}
.fret-cell.open.focus-position .note-marker{background:var(--accent);color:var(--text)}
.answer-choice{border-color:var(--border-control);border-radius:6px}
.daily-note{background:var(--surface)}
.daily-note h3{font-size:19px}
.day.done b{background:var(--success);color:var(--canvas)}
input,select{color-scheme:dark}
select,.range-inputs input{border-color:var(--border-control);background:var(--elevated)}
dialog{background:var(--surface);border-color:var(--border)}
.dialog-heading h2{font-size:29px}
.toast{background:var(--navigation);color:var(--text);border:1px solid var(--border)}
.danger{background:var(--error);color:var(--canvas)}
.footer-brand{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;letter-spacing:.005em;color:var(--text-muted);text-transform:uppercase}
.explore-readout strong{font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.005em}
@media(max-width:950px){h1{font-size:42px}.brand{font-size:34px}.brand-pick{width:37px;height:37px}.brand-caption{font-size:9px;padding-left:7px}}
@media(max-width:700px){.sidebar{background:var(--canvas)}h1{font-size:38px}.brand{font-size:34px;padding-left:0}.brand-pick{width:38px;height:38px}.target-note{font-size:66px}.panel-heading h2{font-size:22px}.completion-score{font-size:64px}.dialog-heading h2{font-size:28px}.help-button{border-color:var(--border-control)}}

p{font-family:Manrope,sans-serif;font-weight:400;letter-spacing:normal}

input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
#sound-toggle{position:relative}
#sound-toggle[aria-pressed=false]::after{content:"";position:absolute;top:18px;left:9px;width:20px;height:2px;background:var(--text-muted);transform:rotate(-45deg);pointer-events:none}
@media(max-width:700px){#sound-toggle[aria-pressed=false]::after{top:15px;left:6px}}

/* Intervalles : mot-signe adapté aux quatre formats de navigation. */
.brand{font-size:28px;gap:2px}
@media(max-width:1200px) and (min-width:951px){.brand{font-size:26px}.brand-pick{width:36px;height:36px}}
@media(max-width:950px) and (min-width:701px){.brand{font-size:22px}.brand-pick{width:31px;height:31px}.brand-caption{font-size:8px}}
@media(max-width:700px){.brand{font-size:34px}.brand-pick{width:38px;height:38px}}
