@font-face{font-family:TobyDisplay;src:url('/fonts/Chewy.ttf');font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url('/fonts/Nunito.ttf');font-weight:200 1000;font-display:swap}
:root{--green:#064e3b;--deep:#003e2e;--emerald:#00845c;--gold:#ffd32a;--red:#ee292f;--ink:#0c2622;--paper:#fffef9;--muted:#66716e;--line:#d5dcd8;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:white;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ef9519;outline-offset:5px}h1,h2,h3,.display{font-family:TobyDisplay,Arial,sans-serif;font-weight:400;line-height:1.06;margin:0;letter-spacing:.005em}h1{font-size:clamp(38px,5.2vw,67px)}h2{font-size:clamp(29px,3.5vw,44px)}h3{font-size:27px}p{font-size:18px;line-height:1.55;margin:0 0 18px}img{max-width:100%;display:block}button{border:0}svg{vertical-align:middle}.icon{width:25px;height:25px;flex:none;fill:currentColor}.wrap{max-width:1220px;margin:auto;padding:0 38px}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{text-decoration:none;display:block;line-height:.85;transform:rotate(-2deg);color:var(--green);flex-shrink:0;position:relative;margin-left:12px}.brand>strong{font-family:TobyDisplay;font-size:32px;font-weight:400;letter-spacing:-.5px}.brand>small{display:block;text-align:center;font-size:14px;letter-spacing:2.3px;font-weight:950;line-height:1.6}.brand:before,.brand:after{content:'✦';position:absolute;color:var(--gold);font-size:29px;top:1px}.brand:before{left:-25px}.brand:after{right:-26px}nav{display:flex;gap:12px;align-items:center}nav a{font-size:17px;font-weight:850;text-decoration:none;padding:12px 17px;border-radius:25px}nav a[aria-current=page]{box-shadow:inset 0 -4px var(--gold)}nav a:hover{background:#f2f6f3}.nav-toggle{display:none;background:transparent;color:inherit;width:45px;height:45px;border-radius:8px;font-size:28px}.dark-header{background:var(--green);color:white}.dark-header .brand{color:white}.dark-header .brand small{color:var(--gold)}.dark-header nav a[aria-current=page]{background:var(--gold);color:var(--ink);box-shadow:none}.dark-header nav a:hover{background:var(--emerald);color:white}.skip{position:fixed;left:12px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.footer{background:var(--green);color:white;text-align:center;padding:22px;font-size:13px;line-height:1.5}.footer a{color:var(--gold)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:15px 25px;min-height:54px;border-radius:30px;background:var(--gold);color:var(--ink);box-shadow:inset 0 2px 0 #ffed92,0 3px 0 #d7ab04;font-weight:900;font-size:19px;text-decoration:none;line-height:1.2;border:2px solid #f4c518}.btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.btn.green{background:var(--emerald);color:white;border-color:var(--emerald);box-shadow:0 3px 0 var(--deep)}.btn.outline{background:white;border:2px solid var(--green);box-shadow:0 3px 0 #cad8d0}.btn.red{background:var(--red);border-color:var(--red);color:white;box-shadow:0 3px 0 #ae171e}.btn.small{padding:11px 20px;font-size:16px;min-height:44px}.eyebrow{font-weight:950;font-size:14px;letter-spacing:.035em}.hero{background:var(--green) url('/assets/evergreen.webp') center/cover;color:white;overflow:hidden}.hero .wrap{min-height:590px;display:grid;grid-template-columns:1.14fr 1fr;align-items:center;position:relative;padding-top:43px;padding-bottom:55px}.hero-copy{position:relative;z-index:2;align-self:center}.hero .eyebrow{display:inline-block;padding:8px 14px;border-radius:25px;background:white;color:var(--ink);margin-bottom:21px}.hero h1{font-size:clamp(43px,5.05vw,70px);line-height:1.04;max-width:710px;letter-spacing:0;margin-bottom:20px;text-shadow:0 3px 0 #002f24}.hero h1 span{color:var(--gold);display:block}.hero p{font-size:21px;font-weight:650;max-width:530px;line-height:1.4}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.hero .smallprint{font-size:15px;font-weight:700;margin-top:23px;max-width:none}.hero-art{height:520px;position:relative;align-self:end}.hero-book{width:76%;height:100%;object-fit:contain;object-position:right center;position:absolute;right:-16px;bottom:0;filter:drop-shadow(0 18px 12px #00231777)}.hero-toby{position:absolute;width:54%;left:-45px;bottom:0;z-index:1;filter:drop-shadow(0 7px 3px #003a2866)}.bonus-shortcuts{position:relative;z-index:3;max-width:1180px;margin:-29px auto 0;display:flex;align-items:center;justify-content:space-around;background:white;box-shadow:0 4px 13px #0a38241a;border:1px solid #e9eae5;border-radius:20px;padding:20px 25px;gap:18px}.bonus-shortcuts>strong{font:25px TobyDisplay;white-space:nowrap}.bonus-shortcuts a{font-weight:900;display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap;font-size:17px}.bonus-shortcuts a+a{border-left:1px solid #c9d3cc;padding-left:26px}.bonus-shortcuts .icon{color:var(--red);width:30px;height:30px}.section{padding:49px 0}.section-title{text-align:center;margin-bottom:15px}.red-text{color:var(--red)}.center{text-align:center}.steps{list-style:none;margin:30px 0 0;display:grid;grid-template-columns:repeat(5,1fr);background:#f7f6f0;padding:25px 20px;border-radius:23px;gap:12px;position:relative}.step{position:relative;text-align:center;padding:12px}.step-number{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:var(--gold);font:39px TobyDisplay;margin:0 auto 12px;box-shadow:inset 0 2px #ffeba0,0 2px #d8af09}.step strong{display:block;font-size:18px;font-weight:950}.method-label{margin:15px 0 0;font-size:15px;font-weight:900;letter-spacing:.01em;text-align:center}.studio-promo{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px;padding-top:25px;padding-bottom:45px}.spread{display:flex;gap:1px;align-items:center;padding:7px;transform:rotate(-3deg);filter:drop-shadow(0 12px 11px #17231b25)}.spread img{width:50%;box-shadow:inset 0 0 7px #aaa;border-radius:1px;background:white}.spread img:first-child{transform:perspective(1200px) rotateY(6deg);transform-origin:right}.spread img:last-child{transform:perspective(1200px) rotateY(-6deg);transform-origin:left}.studio-promo h2{font-size:clamp(35px,4vw,51px);margin-bottom:22px}.studio-promo p{font-size:20px}.feature-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:26px 0}.feature-trio>div{text-align:center;font-size:14px;line-height:1.5}.feature-trio>div+div{border-left:1px solid var(--line);padding-left:12px}.feature-trio .icon{width:35px;height:35px;color:var(--emerald);margin-bottom:8px}.feature-trio strong{display:block;font-size:16px;line-height:1.2;margin-bottom:8px}.stats-band{background:var(--green) url('/assets/evergreen.webp') center/cover;color:white;padding:27px 0 31px}.stats-band h2{font-size:34px;margin-bottom:23px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.stat{display:flex;align-items:center;gap:18px}.stat+.stat{border-left:1px solid #c3dccc88;padding-left:35px}.stat b{color:var(--gold);font:75px/1 TobyDisplay}.stat span{font-size:22px;line-height:1.2;font-weight:900;max-width:180px}.extras{padding-top:38px;padding-bottom:28px}.extras h2{font-size:35px;margin-bottom:32px}.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.extra{display:grid;grid-template-columns:46% 1fr;gap:20px;align-items:center}.extra h3{font-size:25px;margin-bottom:14px}.extra p{font-size:17px;line-height:1.45}.extra a{font-weight:900;font-size:16px}.quiz-preview{border:9px solid var(--ink);border-radius:17px;background:#ecf6e8;padding:10px;text-align:center;box-shadow:0 5px 0 #ccc}.quiz-preview>strong{display:block;font:17px TobyDisplay;margin-bottom:6px}.quiz-preview .chord-diagram{width:105px;max-height:130px}.mini-answers{display:flex;gap:4px;justify-content:center;font-size:11px;font-weight:900}.mini-answers span{padding:5px;border:1px solid #9aaa95;border-radius:5px;background:white}.certificate-mini{max-height:260px;width:100%;object-fit:contain;filter:drop-shadow(0 6px 6px #0002)}.final-cta{position:relative;background:#f7f6ef;border-radius:25px;margin:20px auto 35px;max-width:1170px;min-height:195px;display:flex;align-items:center;justify-content:center;padding:25px 30px 25px 220px;overflow:hidden;text-align:center}.final-cta>img{position:absolute;left:0;bottom:-28px;width:225px}.final-cta h2{font-size:32px;margin-bottom:18px}.final-cta p{font-size:14px;margin:14px 0 0;line-height:1.5;max-width:700px}.loading,.error-page{max-width:700px;margin:40px auto;padding:25px}.page-intro{padding:36px 0 28px}.page-intro h1{margin-bottom:12px}.page-intro p{margin-bottom:0;font-size:20px}.library-intro{display:grid;grid-template-columns:180px 1fr 255px;gap:24px;align-items:center;padding-top:32px}.library-intro .toby{height:205px;object-fit:contain;object-position:bottom}.library-intro h1{font-size:57px}.library-intro h1 span{color:var(--red);display:block}.library-intro .lead{font:27px TobyDisplay;margin-top:14px}.how-link{font-size:17px;font-weight:900;display:block;margin-bottom:16px;text-align:right}.speed-key{border-radius:20px;background:#f8f5ed;padding:15px;text-align:center}.speed-key>div{display:flex;justify-content:center;gap:23px}.speed-art{display:block;width:62px;height:59px;object-fit:contain}.speed-key p{font-size:14px;font-weight:900;margin:8px 0 0}.song-group{margin-bottom:31px}.level-band{display:flex;justify-content:space-between;align-items:center;padding:13px 22px;border-radius:14px;background:var(--green);color:white;margin-bottom:12px;gap:10px}.level-band h2{font-size:31px}.level-band .star{color:var(--gold);letter-spacing:3px}.level-band span:last-child{font-size:16px;font-weight:800}.song-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.song-row{display:flex;gap:15px;align-items:center;min-height:85px;background:white;border:1px solid #e1e6e1;border-radius:17px;box-shadow:0 4px 9px #18341f13;padding:12px 15px;text-decoration:none}.song-row:hover{border-color:var(--emerald);background:#f5fff7;transform:translateY(-1px)}.song-number{width:52px;min-height:52px;display:grid;place-items:center;background:var(--gold);font:30px TobyDisplay;border-radius:13px;flex:none}.song-label{flex:1;min-width:0}.song-label strong{display:block;font:22px TobyDisplay;line-height:1.15}.song-label small{font-size:15px;color:#586660;display:block;margin-top:5px}.round-play{width:44px;height:44px;display:grid;place-items:center;background:var(--emerald);color:white;border-radius:50%;flex:none}.round-play .icon{width:21px;height:21px}.library-bottom{display:flex;justify-content:center;padding:5px 0 40px}.back{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:17px;min-height:44px;text-decoration:none}.player-wrap{max-width:1410px;margin:auto;padding:27px 30px 38px}.player-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.help-btn{border-radius:50%;width:43px;height:43px;background:var(--green);color:white;font:bold 24px Nunito}.player-layout{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-areas:'controls display';gap:30px}.player-controls{grid-area:controls;padding-top:18px}.control-group{padding:0 0 20px;margin:0 0 19px;border:0;border-bottom:1px solid var(--line);min-width:0}.control-group legend{font:24px TobyDisplay;margin-bottom:13px}.segments{display:flex;gap:6px}.segments button{flex:1;min-height:53px;border:2px solid #d1d7d4;border-radius:16px;background:white;color:#52605d;font-weight:900;font-size:16px;padding:8px}.segments button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:white;box-shadow:0 2px 0 #003928}.speeds button{min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:21px;color:var(--ink)}.speeds button[aria-pressed=true]{background:#eefbf3;color:var(--ink);box-shadow:none}.speeds small{font-size:13px;font-weight:800;color:#727c76}.speeds .speed-art{width:70px;height:66px}.transport{width:100%;min-height:70px;font:32px TobyDisplay;border-radius:24px}.transport .icon{width:27px;height:27px}.toggle-row{display:flex;justify-content:space-between;gap:12px;margin:22px 0}.toggle-label{display:flex;align-items:center;gap:8px;font-weight:850;font-size:16px;cursor:pointer}.switch{position:relative;width:45px;height:26px;display:inline-flex}.switch input{opacity:0;position:absolute;width:100%;height:100%;margin:0;z-index:2;cursor:pointer}.switch span{width:45px;height:26px;border-radius:20px;background:#b7bcb9;position:absolute;inset:0}.switch span:after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0003}.switch input:checked+span{background:var(--emerald)}.switch input:checked+span:after{left:22px}.switch input:focus-visible+span{outline:3px solid #ef9519;outline-offset:3px}.player-display{grid-area:display;border:3px solid var(--green);border-radius:27px;padding:27px 37px 25px;background:var(--paper);position:relative;min-height:590px}.song-heading{margin-bottom:24px}.song-heading h1{font-size:clamp(40px,5vw,66px);margin-bottom:10px}.song-heading p{font-size:18px;margin:0;font-weight:650}.song-heading .star{color:#e8b315}.live-status{font-size:16px;color:var(--green);font-weight:950;min-height:23px;margin-bottom:14px}.beat-row{display:flex;gap:10px;margin-bottom:20px}.beat{flex:1;max-width:180px;aspect-ratio:1.15;display:grid;place-items:center;border:3px solid var(--green);border-radius:18px;font:clamp(42px,6vw,87px)/1 TobyDisplay;color:var(--green);background:white;box-shadow:0 2px 0 #c0d3c6}.beat.active{background:var(--gold);box-shadow:inset 0 3px 0 #ffec84,0 3px 0 #bf9816}.beat.muted{opacity:.32}.beat-row.six .beat{font-size:clamp(35px,5vw,65px);aspect-ratio:.85}.live-chord{min-height:183px;display:flex;align-items:center;justify-content:center;gap:38px}.chord-now{text-align:center}.chord-letter{font:clamp(80px,13vw,153px)/1 TobyDisplay;color:var(--green);letter-spacing:-.02em}.chord-name{font-size:20px;font-weight:800;color:#7d8580;margin-top:6px}.next-chord{font-size:23px;color:#7a837d;font-weight:850;align-self:center}.live-note{font:clamp(29px,4.4vw,52px) TobyDisplay;text-align:center}.live-note small{display:block;font:19px Nunito;font-weight:850;color:var(--muted);margin-top:15px}.later-note{font-size:17px;font-weight:850;text-align:center;color:#838981;min-height:26px;margin-top:13px}.words{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;min-height:66px;margin:16px 0 17px}.word{font:clamp(26px,3.8vw,44px) TobyDisplay;padding:5px 9px;border-radius:12px;white-space:nowrap}.word.active{background:var(--gold)}.bar-meta{font-size:18px;font-weight:850;text-align:center;color:#6b746f}.player-error{color:#aa1d25;font-weight:800;font-size:15px;line-height:1.5;margin-top:13px}.player-mobile-heading{display:none}.part-note{font-size:15px;color:var(--muted);margin:15px 0 0;line-height:1.4}.guide-shade{position:fixed;inset:0;z-index:50;background:#001d18bb;overflow:auto;padding:30px 16px;display:flex;align-items:center;justify-content:center}.guide-dialog{background:white;max-width:600px;width:100%;border:5px solid var(--gold);border-radius:24px;padding:30px;box-shadow:0 15px 70px #001b1266}.guide-dialog h2{font-size:34px;margin-bottom:25px}.guide-step{display:grid;grid-template-columns:40px 1fr;gap:13px;align-items:start;margin-bottom:22px}.guide-step>b{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;font:24px TobyDisplay;background:var(--gold)}.guide-step p{font-weight:750;font-size:18px;line-height:1.45;margin:0}.guide-step strong{font-family:TobyDisplay;font-weight:400;color:var(--green)}.guide-dialog .btn{width:100%}.guided-target{position:relative;z-index:51;box-shadow:0 0 0 5px var(--gold)!important}.guide-callout{position:fixed;z-index:52;background:white;color:var(--ink);padding:13px 17px;border-radius:16px;box-shadow:0 6px 25px #0005;max-width:285px;border:3px solid var(--gold);font-weight:850;font-size:16px;line-height:1.35}.guide-callout b{font:25px TobyDisplay;margin-right:7px}.guide-callout:before{content:'';position:absolute;width:15px;height:15px;background:white;border-left:3px solid var(--gold);border-top:3px solid var(--gold);top:20px;left:-10px;transform:rotate(-45deg)}.guide-dismiss{position:fixed;z-index:54;bottom:22px;left:50%;transform:translateX(-50%);min-width:220px}.game-banner,.certificate-banner{background:var(--green) url('/assets/evergreen.webp') center/cover;color:white;text-align:center;padding:31px 0 35px;overflow:hidden}.game-banner h1,.certificate-banner h1{color:var(--gold);text-shadow:0 3px #003a29}.game-banner p,.certificate-banner p{font-size:21px;max-width:650px;margin:15px auto 0;font-weight:800}.games-menu{background:var(--green) url('/assets/evergreen.webp') center/cover;min-height:75vh;padding-bottom:35px}.games-menu .game-banner{background:none}.game-cards{max-width:900px;margin:auto;padding:8px 30px 25px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.game-card{background:var(--paper);padding:30px 23px 25px;border-radius:22px;position:relative;box-shadow:0 8px 0 #003b2a;color:var(--ink)}.game-card h2{background:var(--red);color:white;font-size:30px;transform:rotate(-2deg);border:2px solid #ff9092;box-shadow:0 0 0 4px var(--red);padding:10px 15px;border-radius:7px;text-align:center;margin:-4px -3px 25px}.game-card p{font-size:18px;line-height:1.5}.game-card .visual{height:146px;display:flex;justify-content:center;gap:15px;align-items:center;margin:10px auto 20px}.game-card .chord-diagram{width:120px;height:140px}.game-card .visual .icon{width:80px;height:80px;color:var(--red)}.game-card .btn{width:100%;font-size:18px}.best-line{font-size:15px;font-weight:950;text-align:center;margin:17px 0 0;color:var(--green)}.menu-toby{width:230px;margin:0 auto -35px;max-height:255px;object-fit:contain;object-position:bottom}.game-shell{max-width:770px;margin:auto;padding:24px 28px 40px;min-height:70vh}.game-shell .back{margin-bottom:18px}.quiz-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}.quiz-heading h2{font-size:32px}.question-count{font-weight:950;white-space:nowrap;background:#eef2ed;border-radius:24px;padding:8px 17px;font-size:17px}.quiz-diagram{display:flex;justify-content:center;margin:15px 0 22px}.quiz-diagram .chord-diagram{width:290px;max-height:315px}.chord-diagram{width:100%;height:auto;display:block;font-family:Nunito,sans-serif}.answers{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answer{min-height:94px;border:2px solid #b7c5bb;border-radius:18px;background:#faf8ee;color:var(--ink);font:34px TobyDisplay;padding:13px;line-height:1.1}.answer.correct{background:#def3de;border-color:var(--emerald);color:var(--green);opacity:1}.answer.wrong{background:#ffe0df;border-color:#bc1f25;color:#9b2022;opacity:1}.feedback{font:25px TobyDisplay;text-align:center;min-height:43px;margin-top:15px}.result{text-align:center;padding:35px 0 20px}.result-star{font-size:70px;color:#edb90c;line-height:1.2;margin-bottom:18px}.result h2{font-size:46px;margin-bottom:20px}.result p{font-size:20px}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:13px;margin:25px 0}.result .hint{font-size:16px;color:var(--muted);max-width:500px;margin:auto}.pair-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin-top:25px}.pair-option{background:var(--paper);border:2px solid var(--line);border-radius:19px;padding:15px}.pair-option:hover{border-color:var(--green)}.pair-option>strong{font:30px TobyDisplay;display:block;margin-bottom:12px}.pair-diagrams{display:flex;gap:12px;align-items:center;justify-content:center}.pair-diagrams .chord-diagram{width:43%;max-height:120px}.pair-option small{font-size:14px;font-weight:900;display:block;margin-top:7px}.race-pair-label{font:43px TobyDisplay;text-align:center;margin:0 0 20px}.race-chords{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:430px;margin:auto}.race-chord{border:2px solid #d3d9d1;background:#faf8ef;border-radius:19px;padding:13px}.race-chord.selected{border-color:var(--green);box-shadow:0 0 0 4px var(--gold)}.race-chord h3{text-align:center;font-size:25px;margin-bottom:8px}.race-chord .chord-diagram{max-height:182px}.race-hint{max-width:540px;margin:25px auto;font-size:20px;font-weight:750;text-align:center}.race-start{display:flex;justify-content:center;margin:25px auto}.race-start .btn{width:320px;font-size:27px}.race-countdown{text-align:center;font:95px TobyDisplay;color:var(--red);margin:22px auto 0}.timer{text-align:center;margin:22px 0}.timer b{display:block;font:82px/.95 TobyDisplay;color:var(--red);font-variant-numeric:tabular-nums}.timer span{font:22px TobyDisplay}.tap-change{background:var(--gold);color:var(--green);border-radius:35px;border:3px solid #ebb30d;box-shadow:inset 0 3px #fff19a,0 7px #bc890f;display:block;width:100%;padding:23px;min-height:200px;touch-action:manipulation;user-select:none;-webkit-user-select:none}.tap-change:active{transform:translateY(4px);box-shadow:inset 0 2px #fff19a,0 3px #bc890f}.tap-change>strong{display:block;font:58px TobyDisplay}.tap-change b{font:65px TobyDisplay}.tap-change span{font:27px TobyDisplay}.tap-change small{font-size:18px;display:block;margin-top:5px;font-weight:700}.certificate-banner .wrap{position:relative}.certificate-banner h1{font-size:60px}.certificate-banner p{max-width:670px}.certificate-content{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;padding-top:40px;padding-bottom:42px;align-items:start}.certificate-preview{background:white;box-shadow:0 4px 17px #001c1828;border:1px solid #e0e4dd;position:relative}.certificate-preview img{width:100%}.certificate-controls{padding-top:25px}.certificate-controls .btn{display:flex;width:100%;margin-bottom:14px;font-size:25px}.printer-link{background:none;text-decoration:underline;text-underline-offset:4px;font-size:18px;font-weight:900;color:var(--green);line-height:1.6;padding:20px 0;border-top:1px solid var(--line);width:100%;text-align:left;margin-top:15px}.certificate-toby{width:275px;max-height:320px;object-fit:contain;margin:15px auto 0}.status-text{font-size:15px;font-weight:750;line-height:1.5;color:var(--green);min-height:22px}.purchase-dialog{max-width:470px}.purchase-dialog p{margin-bottom:20px}.purchase-dialog h2{margin-bottom:15px}.close-modal{float:right;width:35px;height:35px;border-radius:50%;background:#eef3ed;font-size:23px}.print-only{display:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.hero .wrap{min-height:650px}.hero-art{height:570px}}
@media(max-width:1000px){.wrap{padding:0 25px}.brand>strong{font-size:28px}nav{gap:4px}nav a{padding:10px 12px}.hero .wrap{padding-top:32px;padding-bottom:55px;min-height:540px}.hero-art{height:450px}.hero p{font-size:19px}.hero-actions .btn{font-size:17px;padding:13px 18px}.hero-book{width:85%;right:-15px}.hero-toby{width:65%;left:-40px}.bonus-shortcuts{margin-left:20px;margin-right:20px;gap:15px;flex-wrap:wrap;padding:18px}.bonus-shortcuts>strong{width:100%;text-align:center}.bonus-shortcuts a+a{padding-left:18px}.studio-promo{gap:35px}.feature-trio{gap:8px}.stat b{font-size:65px}.stat span{font-size:19px}.stat+.stat{padding-left:25px}.library-intro{grid-template-columns:130px 1fr 220px;gap:15px}.library-intro h1{font-size:45px}.library-intro .toby{height:180px}.library-intro .lead{font-size:23px}.song-row{gap:10px;padding:11px}.song-label strong{font-size:19px}.player-layout{grid-template-columns:240px 1fr;gap:20px}.player-display{padding:23px;min-height:540px}.player-wrap{padding:22px}.control-group legend{font-size:22px}.segments button{font-size:15px}.speeds button{font-size:20px}.beat{border-radius:15px}.live-chord{gap:20px}.next-chord{font-size:18px}.certificate-content{gap:35px}.certificate-controls .btn{font-size:21px}.extra-grid{gap:30px}.extra{gap:15px}.extra p{font-size:16px}}
@media(max-width:720px){.wrap{padding:0 20px}.site-header{height:75px}.brand{margin-left:10px}.brand>strong{font-size:27px}.brand>small{font-size:11px;letter-spacing:1.8px}.brand:before,.brand:after{font-size:22px;top:0}.brand:before{left:-20px}.brand:after{right:-20px}.nav-toggle{display:block}.site-header nav{display:none;position:absolute;top:75px;left:0;right:0;z-index:30;background:white;box-shadow:0 5px 10px #0002;padding:14px 20px;color:var(--green);justify-content:center;flex-wrap:wrap}.site-header nav.open{display:flex}.site-header nav a{font-size:16px;padding:10px 13px}.dark-header .site-header nav{background:var(--green);color:white}.hero .wrap{display:flex;flex-direction:column;padding-top:30px;padding-bottom:35px;min-height:0}.hero-copy{width:100%}.hero h1{font-size:clamp(40px,8.9vw,61px);max-width:600px}.hero p{font-size:18px;max-width:500px}.hero .eyebrow{font-size:12px;margin-bottom:18px}.hero-actions{gap:12px;margin-top:22px}.hero-actions .btn{font-size:16px;padding:13px 18px}.hero .smallprint{font-size:13px;margin-top:17px}.hero-art{height:370px;width:min(460px,100%);margin-top:15px;align-self:center}.hero-book{right:0;width:70%;height:100%}.hero-toby{left:-2px;width:53%}.bonus-shortcuts{margin-top:-14px;border-radius:18px;padding:20px 18px;display:grid;grid-template-columns:1fr;gap:0}.bonus-shortcuts>strong{font-size:25px;text-align:left;margin-bottom:7px}.bonus-shortcuts a{padding:15px 0;font-size:18px}.bonus-shortcuts a+a{border-left:0;border-top:1px solid #e0e5df;padding-left:0}.bonus-shortcuts .icon{width:25px;height:25px}.section{padding:35px 0}.section-title{font-size:34px}.section>p{font-size:17px}.steps{grid-template-columns:repeat(5,minmax(0,1fr));padding:16px 7px;gap:2px;border-radius:18px;margin-top:24px}.step{padding:5px 2px}.step-number{width:45px;height:45px;font-size:28px}.step strong{font-size:13px;line-height:1.3}.method-label{font-size:14px}.studio-promo{display:flex;flex-direction:column;gap:29px;padding-top:20px;padding-bottom:34px}.spread{max-width:500px;width:100%;padding:0 12px}.studio-promo h2{font-size:38px;margin-bottom:16px}.studio-promo p{font-size:18px}.feature-trio{gap:12px;margin:22px 0}.feature-trio>div{font-size:13px}.feature-trio strong{font-size:15px}.studio-promo .btn{width:100%}.stats-band h2{font-size:29px;text-align:center}.stats{grid-template-columns:1fr;gap:19px;max-width:380px;margin:auto}.stat{justify-content:center;gap:22px}.stat+.stat{border-left:0;border-top:1px solid #89af9d55;padding-left:0;padding-top:17px}.stat b{font-size:64px;min-width:85px;text-align:center}.stat span{font-size:20px;max-width:195px;width:195px}.extras h2{font-size:31px;line-height:1.12}.extra-grid{grid-template-columns:1fr;gap:28px}.extra{gap:18px;grid-template-columns:43% 1fr}.extra h3{font-size:24px;margin-bottom:10px}.extra p{font-size:16px}.certificate-mini{max-height:230px}.final-cta{margin:10px 20px 25px;padding:27px 18px 0;flex-direction:column;min-height:0;overflow:hidden}.final-cta>img{position:relative;order:2;width:200px;margin-top:10px;bottom:-16px}.final-cta h2{font-size:31px;line-height:1.1}.final-cta p{font-size:13px}.final-cta .btn{font-size:19px}.footer{font-size:12px;padding:20px 25px}.library-intro{grid-template-columns:1fr;padding-top:27px;padding-bottom:25px;gap:12px;text-align:center}.library-intro .toby{display:none}.library-intro h1{font-size:49px}.library-intro .lead{font-size:24px;margin-top:12px}.how-link{text-align:center;margin:0 0 14px;font-size:16px}.speed-key{max-width:350px;margin:auto;padding:13px}.speed-key>div{gap:25px}.speed-key .speed-art{width:66px;height:56px}.speed-key p{font-size:14px}.song-grid{grid-template-columns:1fr;gap:12px}.song-row{padding:13px;min-height:89px;gap:13px}.song-label strong{font-size:22px}.song-label small{font-size:14px}.song-number{width:49px;min-height:51px;font-size:28px}.round-play{width:38px;height:38px}.level-band{padding:13px 16px;margin-top:0}.level-band h2{font-size:29px}.level-band>span:last-child{display:none}.song-group{margin-bottom:25px}.player-wrap{padding:12px 17px 23px}.player-top{margin-bottom:12px}.player-top .back{font-size:16px}.help-btn{width:35px;height:35px;font-size:20px}.player-layout{display:flex;flex-direction:column;gap:14px}.player-mobile-heading{display:block;text-align:left;margin-bottom:8px}.player-mobile-heading h1{font-size:35px;margin-bottom:8px}.player-mobile-heading p{font-size:15px;margin:0;font-weight:750}.player-controls{padding:0}.control-group{padding-bottom:12px;margin-bottom:12px}.control-group legend{font-size:21px;margin-bottom:9px}.segments{gap:7px}.segments button{min-height:47px;font-size:16px;border-radius:13px}.speeds button{min-height:89px;display:grid;grid-template-columns:55px auto;grid-template-rows:34px 19px;text-align:left;padding:10px 14px;justify-content:center;font-size:21px;column-gap:9px}.speeds .speed-art{grid-row:1/3;width:52px;height:51px}.speeds small{grid-column:2;font-size:12px}.transport{min-height:58px;font-size:28px;border-radius:21px}.transport .icon{width:23px;height:23px}.toggle-row{justify-content:center;gap:26px;margin:16px 0 2px}.toggle-label{font-size:15px}.player-display{min-height:0;border:0;border-top:1px solid var(--line);border-radius:0;padding:17px 0 0;background:white}.player-display .song-heading{display:none}.live-status{min-height:19px;font-size:14px;margin-bottom:8px;text-align:center}.beat-row{gap:7px;margin-bottom:10px}.beat{font-size:44px;max-width:none;aspect-ratio:1.3;border-radius:13px;border-width:2px}.beat-row.six .beat{font-size:34px;aspect-ratio:.8}.live-chord{min-height:115px;gap:25px}.chord-letter{font-size:101px}.chord-name{font-size:16px;margin-top:2px}.next-chord{font-size:17px}.later-note{font-size:14px;min-height:20px;margin-top:7px}.words{min-height:43px;margin:12px 0 11px;gap:3px}.word{font-size:28px;padding:4px 7px;border-radius:9px}.bar-meta{font-size:15px}.live-note{font-size:30px;line-height:1.3}.live-note small{font-size:16px;margin-top:8px}.part-note{font-size:13px}.game-banner,.certificate-banner{padding:24px 0 26px}.game-banner h1{font-size:42px;line-height:1.03}.game-banner p{font-size:17px;line-height:1.45}.games-menu .game-banner h1{font-size:63px;max-width:320px;margin:auto;color:var(--gold)}.games-menu .game-banner p{max-width:340px;font-size:18px}.game-cards{grid-template-columns:1fr;gap:25px;padding:13px 22px 25px;max-width:470px}.game-card{padding:25px 20px 20px}.game-card h2{font-size:29px;margin-bottom:21px}.game-card p{font-size:17px}.game-card .visual{height:112px;margin:4px 0 15px}.game-card .chord-diagram{height:112px;width:110px}.game-card .btn{font-size:19px}.menu-toby{width:190px}.game-shell{padding:15px 20px 30px}.game-shell .back{margin-bottom:10px;font-size:16px}.quiz-heading{gap:10px;margin-bottom:12px;flex-direction:column}.quiz-heading h2{font-size:28px}.question-count{font-size:16px;padding:6px 17px}.quiz-diagram{margin:8px 0 12px}.quiz-diagram .chord-diagram{width:250px;max-height:285px}.answer{min-height:83px;font-size:31px;border-radius:17px}.answers{gap:10px}.feedback{font-size:22px;margin-top:12px;min-height:28px}.result h2{font-size:38px}.result p{font-size:18px}.result-actions{flex-direction:column}.result .hint{font-size:15px}.pair-grid{gap:12px;margin-top:16px}.pair-option{padding:12px 6px}.pair-option>strong{font-size:27px}.pair-diagrams{gap:2px}.pair-diagrams .chord-diagram{width:48%;height:92px}.race-pair-label{font-size:38px;margin-bottom:15px}.race-chords{gap:12px}.race-chord{padding:12px 8px;border-radius:16px}.race-chord h3{font-size:22px;margin-bottom:5px}.race-chord .chord-diagram{max-height:138px}.race-hint{font-size:18px;line-height:1.45;margin:20px auto}.race-countdown{font-size:77px}.timer{margin:19px 0}.timer b{font-size:69px}.timer span{font-size:20px}.tap-change{min-height:195px;border-radius:28px;padding:18px}.tap-change>strong{font-size:49px}.tap-change b{font-size:64px}.tap-change span{font-size:25px}.tap-change small{font-size:16px}.certificate-banner h1{font-size:41px}.certificate-banner p{font-size:17px;line-height:1.4}.certificate-content{display:flex;flex-direction:column;padding-top:23px;padding-bottom:30px;gap:25px}.certificate-preview{max-width:430px;margin:auto;width:100%}.certificate-controls{padding:0;width:100%}.certificate-controls .btn{font-size:22px;min-height:57px}.printer-link{font-size:16px;padding-top:15px}.certificate-toby{width:200px;max-height:220px}.guide-dialog{padding:23px 19px;border-width:4px}.guide-dialog h2{font-size:28px}.guide-step p{font-size:16px}.guide-step{gap:10px;grid-template-columns:33px 1fr;margin-bottom:18px}.guide-step>b{width:31px;height:31px;font-size:21px}.guide-callout{font-size:14px;padding:10px 13px;max-width:260px}.guide-callout:before{display:none}.guide-dismiss{bottom:14px}.page-intro h1{font-size:40px}}
@media(max-width:380px){.wrap{padding:0 16px}.site-header{height:69px}.site-header nav{top:69px}.brand>strong{font-size:25px}.hero h1{font-size:40px}.hero p{font-size:17px}.hero-actions{flex-direction:column}.hero-actions .btn{font-size:17px}.hero-art{height:330px}.step-number{width:40px;height:40px;font-size:27px}.step strong{font-size:12px}.song-label strong{font-size:20px}.library-intro h1{font-size:43px}.player-wrap{padding-left:14px;padding-right:14px}.player-mobile-heading h1{font-size:32px}.speeds button{padding:8px;column-gap:5px;font-size:19px}.speeds .speed-art{width:46px}.word{font-size:25px}.game-banner h1{font-size:37px}.answer{font-size:28px}.tap-change>strong{font-size:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{@page{size:A4 portrait;margin:0}body>*{display:none!important}.print-only{display:block!important;position:absolute;inset:0;width:210mm;height:297mm;background:white}.print-art{position:absolute;left:10mm;top:17.5mm;width:190mm;height:262mm}.print-art img{width:190mm;height:262mm}}
.shortcut-symbol{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;background:var(--gold);color:var(--forest);font-size:22px}.bonus-shortcuts a:first-of-type .shortcut-symbol{background:var(--red);color:white}.feature-symbol{font-size:40px;line-height:1;color:var(--red);height:46px;display:block}.feature-snail{height:46px;max-width:60px;object-fit:contain;margin:auto}.race-preview{display:flex;align-items:center;gap:5px}.race-preview>div{width:45%}.race-preview>div>strong{font-family:TobyDisplay;font-size:40px}.race-preview>b{font-size:28px}.race-chords.compact .chord-diagram{max-height:160px}.race-chords.compact h2{font-size:22px}.race-chords.compact .race-chord{padding:8px}.live-note small{display:block;font-family:Nunito;font-size:20px;margin-top:16px}.wide-guide .guide-dialog{position:fixed;right:8%;bottom:8%;width:auto;padding:0;background:transparent;border:0;box-shadow:none}.wide-guide .guide-callout{width:330px}.wide-guide .guide-dismiss{position:static}.feature-trio>div{min-width:0}.guide-shade{overflow-y:auto}.print-art img{height:100%;width:100%}@media(max-width:720px){.feature-symbol{font-size:32px}.shortcut-symbol{width:28px;height:28px;font-size:17px}.race-chords.compact .chord-diagram{max-height:125px}.race-chords.compact h2{font-size:18px}.feature-snail{height:38px}.race-chords.compact{gap:8px}}
/* Layout glue shared by every real route. */
.site-header>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%}.section.wrap{padding:49px 38px}.steps .method-label{grid-column:1/-1;margin:0 0 4px}.step small{display:block;font-size:13px;line-height:1.35;margin-top:6px}.step:not(:last-child):after{content:'→';position:absolute;right:-14px;top:26px;color:#92998f;font-size:29px}.speeds{display:flex;gap:8px}.speeds button{flex:1;min-width:0;border:2px solid #cbd6ce;border-radius:16px;background:white}.speeds button[aria-pressed=true]{border-color:var(--green)}.speeds img{width:70px;height:66px;object-fit:contain}.transport{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--gold);color:var(--ink);box-shadow:inset 0 2px #ffefa0,0 4px #d2a70d;border:2px solid #e8bc19}.transport.playing{background:var(--red);border-color:#b9121b;color:white;box-shadow:0 4px #a71820}.live-chord{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;gap:0 24px;max-width:540px;margin:auto;text-align:center}.chord-now{grid-column:2;grid-row:1;font-size:15px;font-weight:850}.chord-letter{grid-column:2;grid-row:2}.chord-name{grid-column:2;grid-row:3}.next-chord{grid-column:3;grid-row:2;white-space:nowrap;text-align:left}.later-note{grid-column:2;grid-row:4}.speed-key .speed-art{width:180px;height:86px;object-fit:contain;margin:0 auto 8px}.speed-key>span{display:block;font-size:14px;font-weight:850;white-space:nowrap}.extra,.game-card{text-decoration:none}.game-card .visual:not(.race-preview){flex-direction:column;height:180px;gap:4px}.game-card .visual:not(.race-preview) .chord-diagram{height:138px}.mini-answers .correct{background:var(--emerald);color:white}.pair-option h2{font-size:29px}.pair-option>span{display:block;font-size:14px;font-weight:850;margin-top:6px}.race-chord h2{text-align:center;font-size:25px;margin-bottom:7px}.game-shell>h1{font-size:43px;margin:18px 0}.quiz-heading h1{font-size:38px}.result{padding:50px 28px}.result h1{margin:22px 0;font-size:51px}.race-start{width:320px;max-width:100%;font-size:28px}.purchase-dialog{background:white;padding:30px;border-radius:24px}.guide-step>b{font-size:23px}.guide-step>p{min-width:0}.guide-callout p{font-size:17px;line-height:1.35;margin:0}.guide-callout{display:flex;align-items:start;gap:5px}.guide-callout b{color:var(--green)}.guided-target{pointer-events:none}.dark-header nav{color:inherit}
@media(max-width:1000px){.section.wrap{padding:40px 25px}.bonus-shortcuts a{font-size:16px}.hero h1{font-size:52px}.hero-art{min-width:0}.hero-book{width:78%}}
@media(max-width:720px){.section.wrap{padding:35px 20px}.site-header>.wrap{gap:10px}.dark-header nav{background:var(--green)!important;color:white!important}.steps .method-label{margin-bottom:5px}.step small{display:none}.step:not(:last-child):after{font-size:20px;right:-8px;top:16px}.speeds img{grid-row:1/3;width:52px;height:52px}.hero h1{font-size:clamp(38px,8.9vw,61px)}.speed-key .speed-art{width:155px;height:73px}.live-chord{grid-template-columns:1fr auto 1fr;gap:0 17px}.chord-now{font-size:13px}.chord-name{font-size:14px}.next-chord{font-size:16px}.game-card .visual:not(.race-preview){height:152px}.game-card .visual:not(.race-preview) .chord-diagram{height:115px}.game-shell>h1{font-size:35px}.quiz-heading h1{font-size:31px}.result{padding:40px 20px}.result h1{font-size:43px}.race-chord h2{font-size:22px}.certificate-controls h2{font-size:30px;margin-bottom:16px}.certificate-controls p{font-size:17px}.guide-step>b{font-size:21px}.purchase-dialog{padding:25px}.game-cards{padding-left:0;padding-right:0}}
.guide-number{position:absolute;z-index:53;left:-11px;top:-12px;padding:2px 8px;border-radius:20px;background:var(--gold);color:var(--deep);border:2px solid white;font:22px TobyDisplay;box-shadow:0 2px 8px #0004}.mobile-guide{align-items:flex-end;padding:14px}.mobile-guide .guide-dialog{padding:16px;max-width:600px}.mobile-guide .guide-dialog h2{font-size:24px;margin-bottom:13px}.mobile-guide .guide-step{margin-bottom:10px;gap:9px;grid-template-columns:29px 1fr}.mobile-guide .guide-step>b{font-size:19px;width:28px;height:28px}.mobile-guide .guide-step p{font-size:14px;line-height:1.3}.mobile-guide .btn{min-height:46px;padding:10px;font-size:18px}
@media(min-width:1001px){.hero h1{font-size:clamp(43px,5.05vw,65px)}}.hero .eyebrow{font-size:14px}.studio-promo .section-title{text-align:left}@media(max-width:720px){.hero .eyebrow{font-size:12px}}
