:root{--green:#203b32;--green2:#315444;--paper:#f7f6f2;--ink:#253b32;--muted:#7a8079;--line:#e4e5de;--lime:#d8e8bd;--white:#fff;--gold:#c9a65e;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a3be73;outline-offset:3px}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(30px,3vw,44px);letter-spacing:-1.3px;line-height:1.15;margin-bottom:12px}h2{font-size:29px;letter-spacing:-.7px}h3{font-size:17px;line-height:1.4}p{font-size:14px;line-height:1.75}small{font-size:11px}.sidebar{width:252px;position:fixed;left:0;top:0;bottom:0;background:#fff;border-right:1px solid var(--line);padding:34px 23px 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-icon{background:var(--green);color:#f2e8ce;width:46px;height:49px;display:flex;align-items:center;justify-content:center;font:21px Georgia;border-radius:8px;position:relative}.brand-icon span{position:absolute;right:3px;top:2px;font-size:17px;color:var(--gold)}.brand strong{font:19px Georgia;white-space:nowrap}.brand small{display:block;font:8px Arial;letter-spacing:2.5px;margin-top:7px}.nav-label{font-size:9px;letter-spacing:1.7px;color:#969b93;margin:51px 13px 17px}nav{display:grid;gap:8px}.nav-item{border:0;background:none;text-align:left;border-radius:8px;padding:14px 12px;display:flex;align-items:center;gap:12px;font-size:12px;color:#747b73}.nav-item>span{font-size:21px;width:21px;text-align:center}.nav-item.active{background:#edf2e9;color:var(--green);font-weight:bold}.nav-item:hover{background:#f3f5f0}.nav-item b{margin-left:auto;font-size:9px;padding:3px 6px;border-radius:5px;background:#dce7d5}.sidebar-note{margin-top:auto;padding:25px 15px 10px;border-top:1px solid var(--line)}.sidebar-note>span{color:var(--gold);font-size:25px}.sidebar-note strong{font:19px/1.4 Georgia;display:block;margin:9px 0}.sidebar-note p{font-size:11px;color:var(--muted)}.profile{padding:22px 0;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line)}.avatar{border-radius:50%;background:#ece9df;width:33px;height:33px;display:grid;place-items:center;font:16px Georgia}.profile strong{font-size:11px;display:block;max-width:125px;overflow:hidden;text-overflow:ellipsis}.profile small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.logout{border:0;background:none;font-size:20px;margin-left:auto}main{margin-left:252px;padding:43px 46px 0;max-width:1700px}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:600;color:#8b9486;margin-bottom:14px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-head p{color:var(--muted);font-size:12px;margin-bottom:0}.pill{font-size:10px;border:1px solid var(--line);border-radius:50px;padding:9px 13px;white-space:nowrap;display:inline-block;color:#65745f}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;min-height:318px;background:var(--green);border-radius:14px;overflow:hidden;color:white}.hero-copy{padding:37px 0 29px 35px;z-index:2}.hero-tag{display:inline-block;font-size:8px;letter-spacing:1.5px;border:1px solid #ffffff38;color:#d1dec8;padding:7px 10px;border-radius:4px}.hero h2{font-size:37px;color:#fbf5e8;line-height:1.12;margin:21px 0 14px;max-width:370px}.hero p{color:#bfccc1;max-width:320px;font-size:12px;line-height:1.8}.btn{border:0;border-radius:6px;background:var(--green);color:white;padding:13px 19px;font-size:12px;font-weight:600;display:inline-flex;gap:22px;justify-content:center;align-items:center;min-height:43px}.btn:hover{background:#365746}.btn.cream{background:#edf0d9;color:var(--green);margin-top:3px}.btn.cream:hover{background:#fff8dc}.hero-meta{font-size:9px;color:#aabfb0;margin-top:22px}.hero-meta i{padding:0 9px;font-style:normal}.hero-art{position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#526e4d66,transparent 70%)}.orbit{position:absolute;border:1px solid #e5e9cb15;border-radius:50%;width:340px;height:340px;top:10px;left:30px}.orbit-two{width:250px;height:250px;top:55px;left:75px}.floating-chord{position:absolute;background:#3c5445;border:1px solid #e7e7c338;border-radius:10px;width:70px;padding:12px;font:30px Georgia;transform:rotate(-12deg);top:35px;left:45px;box-shadow:0 12px 22px #0002}.floating-chord span{font:8px Arial;display:block;letter-spacing:1px;color:#b8c7ad;margin-top:5px}.c-two{top:75px;left:auto;right:38px;transform:rotate(12deg);background:#b8c894;color:var(--green)}.c-two span{color:#4f6548}.art-keyboard{position:absolute;display:flex;width:330px;height:123px;top:155px;left:30px;transform:rotate(-14deg) skewX(5deg);border-radius:4px;box-shadow:8px 18px 0 #10291f,12px 25px 35px #10291f88;padding:5px 5px 9px;background:#0f271f}.art-key{height:100%;background:linear-gradient(90deg,#dedecb,#fff9e7);border-right:2px solid #7f8b75;width:10%;position:relative;border-radius:0 0 3px 3px}.art-key i{width:65%;height:63%;background:linear-gradient(90deg,#10271f,#354b3b);position:absolute;right:-30%;top:0;z-index:2;border-radius:0 0 2px 2px;box-shadow:2px 3px 3px #0004}.art-caption{position:absolute;bottom:22px;left:95px;font-size:7px;color:#9eaf97;letter-spacing:2.5px}.stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:10px;margin-top:22px;padding:25px 0}.stats>div{padding:0 26px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats>div>span{font-size:8px;letter-spacing:1.6px;color:#8a9185;display:block}.stats strong{font:34px Georgia;display:block;margin:10px 0}.stats strong small{font:13px Arial;color:#8b9386}.stats p{font-size:10px;color:var(--muted);margin:10px 0 0}.progress{height:4px;background:#e9ece3;border-radius:5px;overflow:hidden}.progress i{display:block;background:#81956c;height:100%;width:var(--fill);border-radius:5px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:32px 0 17px}.section-title h2{font-size:25px;margin:0}.section-title h3{margin:0}.text-btn{border:0;background:none;font-size:11px;font-weight:600;padding:8px 0;color:#53694a}.text-btn:hover{color:#101f17;text-decoration:underline}.term-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.term-card{background:#fff;border:1px solid var(--line);border-radius:9px;text-align:left;padding:19px;transition:transform .15s,box-shadow .15s}.term-card:hover,.lesson-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #203b320b}.term-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#8b9582}.term-symbol{margin:20px 0 13px;width:40px;height:40px;border-radius:50%;background:#f0f1e7;font:27px Georgia;display:grid;place-items:center;color:#7a8c60}.term-card:nth-child(2) .term-symbol{background:#f6eade;color:#b08e67}.term-card:nth-child(3) .term-symbol{background:#e9eaf3;color:#8a88a2}.term-card:nth-child(4) .term-symbol{background:#f5edcf;color:#ae9a58}.term-card h3{font:19px/1.25 Georgia;margin-bottom:12px;min-height:48px}.term-card p{font-size:9px;color:var(--muted);margin-bottom:19px}.term-card small{font-size:8px;color:#999f93;margin-top:9px;display:block}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:23px}.soft-card{border:1px solid var(--line);background:#f0f1e9;border-radius:9px;padding:25px}.soft-card h2{font-size:24px;margin-bottom:12px}.soft-card p{font-size:12px;color:#7e8676}.soft-card h3{font-family:Georgia;font-weight:400;font-size:22px}.video-invite{display:flex;align-items:center;gap:20px;background:#f5f0e6}.video-invite h3{margin-bottom:8px}.circle-play{width:48px;height:48px;flex-shrink:0;background:#e9e0cf;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#9b8664}footer{border-top:1px solid var(--line);padding:24px 0;margin-top:40px;color:#8f9789;font-size:8px;letter-spacing:1.5px;display:flex;justify-content:space-between}footer span{font:11px Georgia;letter-spacing:0}.filters{display:flex;justify-content:space-between;gap:15px;margin:30px 0}.tabs{display:flex;gap:4px;background:#eceedf;padding:5px;border-radius:7px;align-items:center}.tabs button{border:0;background:none;font-size:11px;padding:10px 15px;border-radius:5px;white-space:nowrap}.tabs button.selected{background:#fff;box-shadow:0 1px 5px #0000000a}.filters input{max-width:240px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lesson-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:left;padding:0;transition:transform .15s}.lesson-art{padding:20px 22px;background:#e9eee0;position:relative;height:150px;overflow:hidden}.lesson-art>span{font:85px Georgia;opacity:.15;position:absolute;right:10px;top:10px}.lesson-art>div{display:flex;gap:10px;margin:17px 0 25px;position:relative}.lesson-art b{font:26px Georgia;background:#ffffff90;min-width:48px;padding:8px;border-radius:5px;text-align:center}.lesson-art small{font-size:8px;letter-spacing:1.3px}.art-2{background:#f1e5d7}.art-3{background:#e6e6ef}.art-4{background:#f2ebd2}.lesson-body{padding:23px}.lesson-body .eyebrow{font-size:8px;letter-spacing:1px}.lesson-body h3{font:22px Georgia}.lesson-body p{font-size:12px;color:var(--muted);min-height:44px}.lesson-foot{display:flex;justify-content:space-between;font-size:9px;border-top:1px solid var(--line);padding-top:16px}.lesson-foot span{color:#8c9385}.back{margin-bottom:20px}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px}.lesson-tabs{width:max-content;margin-bottom:20px}.instruction{background:#fff;border:1px solid var(--line);padding:32px;border-radius:10px}.instruction>p{color:var(--muted)}.steps{padding:0;list-style:none;display:grid;gap:22px;margin:27px 0}.steps li{display:flex;gap:15px}.steps li>span{background:#eff2e8;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font:15px Georgia}.steps p{margin:0}.tip{background:#f6f5ec;padding:20px;border-radius:6px;margin:28px 0}.tip p{font-size:12px;margin:8px 0 0;color:#7a806d}.tip strong{font-size:12px}.next{display:block;margin-top:15px}.assignment{background:var(--green);border-radius:10px;padding:26px;color:#fff;margin-bottom:20px}.assignment h3{font:29px Georgia}.assignment p{color:#c1cdbe;font-size:13px}.assignment .pill{border-color:#ffffff30;color:#bdcbb4;font-size:8px;padding:9px}.assignment .btn{margin-top:20px;background:#e6edce;color:var(--green);width:100%;font-size:10px}.assignment .eyebrow{color:#b1c098}.lesson-side .soft-card{padding:23px}.lesson-side .soft-card p{line-height:2.2}.keyboard-card{margin-top:24px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:26px;overflow:hidden}.keyboard-card .section-title{margin:0 0 20px}.chord-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chord-buttons button{border:1px solid var(--line);background:#f7f7f0;border-radius:5px;padding:9px 14px;font-family:Georgia;font-size:18px}.chord-buttons .selected{background:var(--green);color:#fff}.piano{display:flex;position:relative;height:155px;isolation:isolate;margin:18px 0 12px;padding:5px 3px 5px;background:#203b32;border-radius:5px}.key{padding:0;position:relative;border:1px solid #b8bbae;border-radius:0 0 4px 4px;display:flex;align-items:end;justify-content:center;padding-bottom:12px}.key.white{flex:1;background:#fcfaf3;color:#8c9383;min-width:0}.key.black{z-index:2;background:#293c32;color:#bdc7ae;width:4.3%;margin-left:-2.15%;margin-right:-2.15%;height:65%;flex-shrink:0;border-color:#10271a;box-shadow:0 3px 2px #0003;padding-bottom:8px}.key span{font-size:9px}.key.white.lit{background:#dce8bb;color:var(--green)}.key.black.lit{background:#7e975a;color:white}.key:active{filter:brightness(.85)}.muted{color:var(--muted);font-size:12px}.practice-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.timer-card,.metronome-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px;text-align:center}.timer-card .timer{font:75px Georgia;color:var(--green);letter-spacing:2px;margin:25px 0}.timer-card p,.metronome-card p{color:var(--muted);font-size:12px}.actions{display:flex;gap:10px;justify-content:center}.secondary{border:1px solid #cdd3c5;background:#fff;border-radius:6px;padding:12px 17px;font-size:12px}.inline-form{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;display:flex;gap:12px;align-items:end}.inline-form label{flex:1;text-align:left;font-size:11px}.inline-form input{margin-bottom:0}.timer-card>small{display:block;color:#8e9488;font-size:9px;margin-top:15px}.metronome-card{background:#eaf0df}.bpm{margin:30px 0}.bpm output{font:65px Georgia}.bpm>span{display:block;font-size:9px;letter-spacing:3px;margin-top:8px;color:#889778}input[type=range]{accent-color:var(--green);border:0;padding:0}.beat-dots{display:flex;gap:15px;justify-content:center;margin:25px 0}.beat-dots i{height:12px;width:12px;border-radius:50%;background:#d1dcc0}.beat-dots .on{background:#4d6a39}.metronome-card>p{margin-top:22px}.practice-grid~.soft-card{margin-top:23px}.history{display:flex;justify-content:space-between;border-top:1px solid #dde2d4;padding:13px 0;font-size:12px}.upload-panel{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:35px}.upload-panel>div{padding:15px}.upload-panel h2{font-size:35px;line-height:1.25;margin-top:22px}.upload-panel p,.upload-panel li{font-size:13px;line-height:1.8;color:var(--muted)}.upload-panel ul{padding-left:17px;margin-top:26px}.upload-panel .eyebrow{font-size:8px}.upload-panel .btn{width:100%}label{font-size:11px;display:block;font-weight:600}input,select,textarea{display:block;width:100%;padding:12px 13px;border:1px solid #dfe2d7;background:#fff;border-radius:5px;font-size:12px;color:var(--ink);margin:8px 0 18px}input::placeholder,textarea::placeholder{color:#9ba192}textarea{resize:vertical;min-height:80px;line-height:1.6}.file-label{background:#f1f4e9;border:1px dashed #b8c7a6;padding:18px;border-radius:7px;margin-bottom:18px}.file-label input{border:0;background:none;padding:0;margin-bottom:12px}.file-label span{font-size:10px;font-weight:400;color:#859077;overflow-wrap:anywhere}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.video-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.video-card video{width:100%;aspect-ratio:16/9;background:#152c23;display:block}.video-body{padding:25px}.video-body h3{font:23px Georgia;margin-bottom:8px}.status{font-size:9px;background:#f4ecd9;color:#9b8351;padding:8px 10px;border-radius:5px;display:inline-block}.status.reviewed{background:#eaf0df;color:#63774b}.feedback{margin-top:20px;background:#f0f5e9;padding:17px;border-left:2px solid #a5b18c}.feedback strong{font-size:11px}.feedback p{white-space:pre-wrap;font-size:12px;margin:9px 0 0}.delete{display:block;margin-top:14px;color:#a27a64}.review-form{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.empty{grid-column:1/-1;text-align:center;padding:55px;background:#f0f2e9;border-radius:10px;color:#829174}.empty>span{font-size:40px}.empty h3{font:26px Georgia;margin-top:16px}.empty p{margin-bottom:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#89957e}td,th{padding:15px;border-bottom:1px solid #dde2d5}td small{display:block;margin-top:6px;color:#89957e}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%,30px);background:#203b32;color:#fff;border:1px solid #d5dfc5;border-radius:8px;padding:16px 25px;font-size:12px;box-shadow:0 8px 20px #0002;opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.auth-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-story{background:var(--green);color:#f5f1df;padding:50px 65px;display:flex;flex-direction:column;justify-content:center}.auth-story .brand{margin-bottom:80px}.auth-story .brand-icon{background:#496044}.auth-story>.eyebrow{color:#b8c7a0}.auth-story h1{font:clamp(48px,5.5vw,85px)/1.04 Georgia;letter-spacing:-2px;margin:20px 0 30px}.auth-story em{color:#d1dfab;font-weight:400}.auth-story>p{color:#bfcab5;max-width:350px;font-size:14px}.auth-notes{font:44px Georgia;margin-top:38px;letter-spacing:13px;color:#d7e6b7}.auth-notes span{opacity:.4}.auth-form{padding:60px;max-width:550px;align-self:center;width:100%;margin:auto}.auth-form>.text-btn{margin-bottom:35px}.auth-form h2{font-size:36px;line-height:1.15}.auth-form>p{color:var(--muted);font-size:13px}.auth-form form{margin-top:30px}.auth-form .btn{width:100%}.auth-form>small{display:block;color:#9aa18e;font-size:10px;margin-top:25px;line-height:1.6}.auth-toggle{display:block;margin:18px auto}.error{font-size:12px;color:#a25c44}.inline-form .secondary{margin-bottom:0}progress{width:100%;accent-color:var(--green);margin-top:15px}#upload-status{font-size:11px;margin-bottom:0}
@media(min-width:1500px){main{padding:50px 65px 0}.hero{min-height:350px}.hero h2{font-size:45px}.hero-art{max-width:500px}.art-keyboard{width:390px;top:165px}.hero-copy{padding:42px}.term-card h3{font-size:24px}.stats{margin-top:25px}}
@media(max-width:1150px){.sidebar{width:210px;padding:30px 15px 0}.brand{gap:9px}.brand strong{font-size:17px}.brand small{font-size:7px}.brand-icon{width:39px;height:43px}main{margin-left:210px;padding:33px 27px 0}.hero-copy{padding-left:27px}.hero h2{font-size:32px}.hero-art{opacity:.85}.art-keyboard{left:0;width:290px}.c-two{right:10px}.term-card{padding:16px}.term-grid{gap:10px}.term-card h3{font-size:18px}.term-card p{font-size:8px}.lesson-grid{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:1fr}.lesson-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.assignment{margin:0}.practice-grid{gap:15px}.timer-card,.metronome-card{padding:23px}.upload-panel{gap:25px;padding:25px}.upload-panel>div{padding:0}.upload-panel h2{font-size:30px}.auth-story{padding:40px}.auth-form{padding:40px}}
@media(max-width:800px){.sidebar{position:relative;width:100%;padding:16px 20px 0;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{width:max-content}.brand-icon{width:34px;height:36px;font-size:17px}.brand small{font-size:7px;letter-spacing:2px;margin-top:4px}.brand strong{font-size:17px}.nav-label,.sidebar-note{display:none}nav{display:flex;gap:5px;margin-top:18px;overflow-x:auto}.nav-item{white-space:nowrap;padding:11px 10px;font-size:10px;border-radius:6px 6px 0 0;gap:7px}.nav-item>span{font-size:17px;width:17px}.nav-item b{display:none}.profile{position:absolute;right:20px;top:17px;padding:0;border:0}.profile .avatar,.profile small{display:none}.profile strong{max-width:90px;font-size:10px}.logout{font-size:18px}.profile .text-btn{font-size:11px}main{margin:0;padding:28px 22px 0}.page-head .pill{display:none}.page-head{margin-bottom:22px}h1{font-size:32px}.page-head p{font-size:11px;line-height:1.7}.hero{min-height:300px;grid-template-columns:1.15fr 1fr}.hero-copy{padding:27px 0 25px 25px}.hero h2{font-size:32px}.hero-art{opacity:.7}.art-keyboard{width:250px;top:150px;left:0;height:110px}.floating-chord{left:10px}.c-two{right:0;left:auto}.hero p{font-size:11px}.hero-tag{font-size:7px}.hero-meta{font-size:8px}.hero-meta i{padding:0 3px}.art-caption{display:none}.stats>div{padding:0 18px}.stats strong{font-size:29px}.stats>div>span{font-size:7px;letter-spacing:1px}.stats p{font-size:9px}.term-grid{grid-template-columns:repeat(2,1fr);gap:14px}.term-card h3{min-height:0;font-size:23px}.term-symbol{margin-top:14px}.term-card p{font-size:10px}.term-card small{font-size:9px}.bottom-grid{gap:14px}.video-invite{display:block}.circle-play{margin-bottom:15px}.section-title h2{font-size:25px}.section-title .text-btn{font-size:10px}.filters{flex-direction:column}.filters input{max-width:100%;margin-bottom:0}.lesson-art{height:145px}.lesson-body{padding:20px}.lesson-body h3{font-size:21px}.practice-grid{grid-template-columns:1fr 1fr}.timer-card h2,.metronome-card h2{font-size:24px}.timer-card .timer{font-size:60px}.inline-form{flex-direction:column;align-items:stretch}.upload-panel{grid-template-columns:1fr;gap:20px}.upload-panel>div{padding:0}.upload-panel ul{margin-top:15px}.video-grid{gap:16px}.auth-wrap{grid-template-columns:1fr}.auth-story{padding:30px;min-height:350px}.auth-story .brand{margin-bottom:30px}.auth-story h1{font-size:48px}.auth-story h1 br{display:none}.auth-story>.eyebrow{margin-bottom:5px}.auth-notes{display:none}.auth-form{padding:35px 25px;max-width:500px}.auth-form>.text-btn{margin-bottom:24px}footer{font-size:7px;letter-spacing:.8px}#toast{left:50%}}
@media(max-width:500px){main{padding:25px 17px 0}.sidebar{padding-left:17px;padding-right:17px}.profile{right:17px}.profile strong{display:none}.nav-item{font-size:9px;padding:11px 8px;gap:5px}.nav-item>span{font-size:15px;width:15px}h1{font-size:29px}.hero{display:block;min-height:325px}.hero-copy{padding:26px 25px 24px;max-width:90%}.hero h2{font-size:34px;max-width:270px}.hero p{max-width:240px;position:relative;z-index:2}.hero-art{position:absolute;right:-80px;bottom:0;width:220px;height:260px;opacity:.23;pointer-events:none}.hero-copy .btn{position:relative;z-index:3}.hero-meta{margin-top:19px}.hero-tag{font-size:6px}.stats{padding:19px 0;margin-top:16px}.stats>div{padding:0 12px}.stats strong{font-size:26px}.stats strong small{font-size:10px}.stats p{font-size:8px;line-height:1.6}.stats>div>span{font-size:6px;letter-spacing:.8px}.section-title{margin-top:28px}.section-title h2{font-size:23px}.section-title .text-btn{max-width:105px;font-size:9px;text-align:right}.term-card h3{font-size:21px;min-height:50px}.term-card{padding:16px}.term-card p{font-size:8px}.bottom-grid{grid-template-columns:1fr}.soft-card{padding:23px}.video-invite{display:flex}.circle-play{margin:0}.lesson-grid{grid-template-columns:1fr}.lesson-art{height:145px}.lesson-body p{min-height:0}.tabs button{padding:10px 11px;font-size:10px}.lesson-layout{gap:18px}.instruction{padding:24px}.instruction h2{font-size:27px}.steps li{gap:10px}.steps p{font-size:13px}.lesson-side{grid-template-columns:1fr}.keyboard-card{padding:20px 15px}.piano{height:135px}.key span{font-size:7px}.key.black span{font-size:6px}.keyboard-card .pill{font-size:7px;padding:7px}.keyboard-card .section-title h3{font-size:14px}.practice-grid{grid-template-columns:1fr}.inline-form{flex-direction:row}.timer-card .timer{font-size:70px}.video-grid{grid-template-columns:1fr}.upload-panel{padding:23px}.upload-panel h2{font-size:29px}.video-body{padding:22px}.empty{padding:35px 20px}.auth-story{min-height:320px;padding:28px}.auth-story h1{font-size:44px}footer{gap:15px}footer span{font-size:9px;text-align:right;max-width:120px}.section-title select{width:100px;margin:0}}

/* Joseph Richter brand and teacher directory */
:root{--green:#0b2d4c;--green2:#254964;--ink:#15354d;--lime:#e9dbb8;--gold:#b58c43}
.brand-logo{width:58px;height:58px;object-fit:contain;flex-shrink:0;background:#fff;border-radius:6px}.sidebar .brand{gap:7px}.sidebar .brand strong{font-size:17px}.auth-story .brand-logo{width:80px;height:80px}.hero{grid-template-columns:1fr 1.05fr}.hero-photo{position:relative;min-height:330px;overflow:hidden}.hero-photo>img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:64% 48%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b2d4c 0%,transparent 30%),linear-gradient(0deg,#081f36b0,transparent 45%)}.photo-caption{position:absolute;bottom:22px;right:24px;z-index:1;text-align:right}.photo-caption>span{font-size:8px;letter-spacing:2px;display:block;color:#eadaba}.photo-caption strong{font:25px Georgia;display:block;color:#fff;margin:7px 0}.photo-caption .text-btn{color:#e1cb95}.auth-story{background:#0b2d4c}.auth-story em{color:#d9bd80}.auth-teacher{display:flex;align-items:center;gap:18px;margin-top:30px}.auth-teacher>img{width:75px;height:75px;border-radius:50%;object-fit:cover;border:2px solid #c5a15c}.auth-teacher strong{font:20px Georgia;display:block}.auth-teacher span{font-size:10px;color:#cbbd9b;display:block;margin-top:6px}.auth-teacher .text-btn{color:#e0c48b}.nav-item.active{background:#eef1f4;color:#0b2d4c}.teachers-intro{display:grid;grid-template-columns:1fr 1fr;background:#0b2d4c;border-radius:12px;overflow:hidden;color:white;margin-bottom:26px}.teachers-intro>img{width:100%;height:310px;object-fit:cover;object-position:65% center}.teachers-intro>div{padding:40px 34px;align-self:center}.teachers-intro .eyebrow{color:#d0b57b;font-size:8px}.teachers-intro h2{font-size:34px;line-height:1.15}.teachers-intro p{color:#becdd5;font-size:12px;margin:0}.teacher-editor{background:#fff}.teacher-editor .section-title{margin-top:0}.teacher-form-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.teacher-form-grid textarea{min-height:140px}.teacher-preview{width:150px;height:150px;border-radius:8px;object-fit:cover;display:block}.teacher-preview[hidden]{display:none}.checkbox-label{display:flex;align-items:center;gap:10px;margin-top:15px}.checkbox-label input{width:auto;margin:0;accent-color:#0b2d4c}.teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.teacher-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.teacher-portrait{width:100%;height:300px;object-fit:cover;object-position:center 35%;display:block}.teacher-placeholder{height:240px;background:#ece8dc;display:grid;place-items:center;font:80px Georgia;color:#b89b5e}.teacher-bio{padding:28px}.teacher-bio .eyebrow{font-size:9px;letter-spacing:1.3px;color:#ab8a4b}.teacher-bio h2{font-size:30px;margin:15px 0}.teacher-bio p{white-space:pre-wrap;font-size:13px;color:#7a827f;overflow-wrap:anywhere}.teacher-bio .actions{justify-content:flex-start;margin-top:20px}.teacher-bio .delete{margin-top:0}.sidebar-note>span{color:#b58c43}
@media(max-width:1150px){.sidebar .brand-logo{width:43px;height:43px}.sidebar .brand strong{font-size:16px}.teachers-intro>div{padding:28px}.teachers-intro h2{font-size:29px}}
@media(max-width:800px){.sidebar .brand-logo{width:43px;height:43px}.hero-photo{min-height:300px}.teachers-intro{grid-template-columns:1fr 1fr}.teachers-intro>img{height:300px}.teachers-intro>div{padding:25px}.teacher-form-grid{gap:20px}.teacher-portrait{height:260px}.auth-teacher>img{width:55px;height:55px}.auth-teacher{margin-top:18px}.auth-story .brand-logo{width:55px;height:55px}.auth-story .brand{margin-bottom:25px}}
@media(max-width:500px){.hero{display:flex;flex-direction:column}.hero-copy{max-width:100%;padding-bottom:20px}.hero-photo{min-height:230px}.hero-photo>img{object-position:65% 45%}.hero-photo:after{background:linear-gradient(0deg,#081f36b0,transparent 55%)}.photo-caption{bottom:17px;right:20px}.photo-caption strong{font-size:24px}.teachers-intro{grid-template-columns:1fr}.teachers-intro>img{height:240px}.teachers-intro>div{padding:28px}.teacher-form-grid,.teacher-grid{grid-template-columns:1fr}.teacher-portrait{height:320px}.teacher-bio{padding:24px}.teacher-form-grid{gap:10px}.teacher-editor{padding:22px}.teacher-preview{width:130px;height:130px}.auth-story .brand-logo{width:50px;height:50px}.auth-teacher strong{font-size:18px}.sidebar nav{scrollbar-width:thin}}

.pilot-notice{font-size:10px;line-height:1.7;color:#927842;background:#f0e9d8;border:1px solid #e6dbc1;border-radius:7px;padding:12px 16px;margin-bottom:24px}.account-card{max-width:550px;background:#fff}.video-unavailable{min-height:180px;display:grid;place-items:center;background:#e9ece5;padding:25px;text-align:center}.video-unavailable p{margin:0;font-size:12px;color:#74826b}

.homework-text{white-space:pre-wrap}.instruction>.actions{justify-content:flex-start;margin-top:23px}.section-title #weekly-select{width:135px;margin:0}.teacher-form-grid textarea{white-space:pre-wrap}
.instrument-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 18px}.instrument-tab{border:1px solid #d8dfdc;background:#fff;border-radius:7px;padding:10px 5px;font-size:11px;color:#53655c;cursor:pointer}.instrument-tab.active{background:#0b2d4c;color:#fff;border-color:#0b2d4c}.instrument-tab:focus-visible{outline:3px solid #b99751;outline-offset:2px}.instrument-tab:disabled{opacity:.6}.sidebar{overflow-y:auto}.instrument-tip{font-size:13px;line-height:1.8;background:#f4f1e8;border-radius:8px;padding:16px}.fretboard{overflow-x:auto;padding:8px 0}.fret-row{display:grid;grid-template-columns:60px repeat(6,minmax(40px,1fr));gap:3px;min-width:360px}.fret-row>strong{align-self:center;font-size:10px}.fret-row>button{background:#f4f0e7;border:1px solid #c5c9c4;border-radius:4px;padding:8px 2px;font-size:10px}.fret-row>button small{display:block;font-size:10px;margin-top:3px}.fret-row>button.tone{background:#0b2d4c;color:#fff}.drum-pads{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.drum-pads button{min-height:90px;border:1px solid #bda16b;border-radius:14px;background:#0b2d4c;color:#fff;padding:12px;cursor:pointer}.sax-guide{border:1px solid #dfd9c9;padding:20px;border-radius:9px}.lesson-instructions{min-height:350px!important}.lesson-body h3,.lesson-body p{overflow-wrap:anywhere}.lesson-art b{overflow-wrap:anywhere;max-width:100px}body[data-instrument="drums"] .pitch-only,body[data-instrument="saxophone"] .pitch-only{display:none!important}#editor-module{max-width:100%;width:420px}.teacher-editor .actions{justify-content:flex-start;flex-wrap:wrap}
@media(max-width:800px){.instrument-tabs{display:flex;gap:6px;overflow-x:auto;margin:12px 0}.instrument-tab{flex:0 0 auto;padding:10px 16px}.sidebar{overflow:visible}.teacher-editor>.section-title{flex-wrap:wrap;gap:14px}}@media(max-width:500px){.drum-pads{grid-template-columns:1fr}.drum-pads button{min-height:60px}.lesson-instructions{min-height:300px!important}}
.lesson-demonstrations{margin:24px 0;background:#fff}.lesson-demonstrations>.section-title{margin-top:0}.lesson-demonstrations h2{font-size:26px}.animated-demo{background:#fff;border:1px solid #dedfd7;border-radius:12px;padding:24px;margin:22px 0}.animated-demo h3{font-size:24px;margin:15px 0}.animated-demo .actions{justify-content:flex-start;flex-wrap:wrap}.demo-stage{background:#f8f6ef;border-radius:10px;padding:15px;margin:18px 0;overflow-x:auto}.demo-stage svg{display:block;width:100%;min-width:500px;max-height:300px}.demo-label{font-size:14px;font-weight:600;color:#0b2d4c;min-height:24px}.animated-demo progress{display:block;width:100%;margin:12px 0;accent-color:#b18c45}.demo-options{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.demo-options label{margin:8px 0}.demo-options select{width:120px}.demo-drum-kit{display:flex;justify-content:center;gap:16px;padding:20px 0}.demo-drum{border:3px solid #bec8c2;background:#fff;border-radius:50%;width:100px;height:100px;display:grid;place-items:center;font-weight:600;font-size:12px}.demo-drum.hit{background:#0b2d4c;border-color:#c49d55;color:#fff;box-shadow:0 0 0 5px #c49d5530}.sax-note{text-align:center;font:35px Georgia;color:#0b2d4c;padding:20px}.sax-note small{font:14px system-ui}.finger-groups{display:flex;justify-content:center;gap:30px}.finger-groups>div{display:flex;flex-direction:column;align-items:center;gap:10px}.finger-groups strong{font-size:12px}.finger{display:grid;place-items:center;width:42px;height:42px;border:2px solid #0b2d4c;border-radius:50%;background:white;color:#0b2d4c;font-size:12px}.finger.pressed{background:#0b2d4c;color:white}.demo-video-block{margin-top:28px}.demo-video-block h3{margin-top:30px}.linked-demo{border:1px solid #dfe2da;border-radius:10px;padding:20px;margin:16px 0}.linked-demo h4{font-size:19px;margin:12px 0}.external-player iframe{display:block;border:0;aspect-ratio:16/9;width:100%;border-radius:8px}.linked-demo>.text-btn{display:inline-block;margin:15px 15px 0 0}.demo-link-editor,.genre-editor{margin-top:24px}.demo-link-editor summary,.genre-editor summary{cursor:pointer;font-weight:600;color:#0b2d4c;padding:12px 0}.genre-tabs{margin-bottom:22px;flex-wrap:wrap}.genre-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 28px}.genre-levels button{border:1px solid #daddd4;border-radius:10px;background:#fff;text-align:left;padding:20px 15px;color:#0b2d4c;cursor:pointer}.genre-levels button.selected{background:#0b2d4c;color:white}.genre-levels span,.genre-levels strong,.genre-levels small{display:block}.genre-levels span{font-size:9px;letter-spacing:1.5px;margin-bottom:12px}.genre-levels strong{font-size:15px;margin-bottom:8px}.genre-levels small{font-size:10px;line-height:1.7}.lesson-demonstrations .video-grid{grid-template-columns:1fr}.genre-editor form{margin-top:18px}
@media(max-width:900px){.genre-levels{grid-template-columns:repeat(2,1fr)}.lesson-demonstrations,.animated-demo{padding:20px}.demo-drum{width:70px;height:70px}.demo-drum-kit{gap:10px}}@media(max-width:500px){.genre-levels{gap:8px}.genre-levels button{padding:15px 12px}.demo-stage{padding:10px}.demo-stage svg{min-width:420px}.demo-options{gap:10px}.linked-demo{padding:16px}.lesson-demonstrations h2{font-size:23px}}
.tour-dialog{border:1px solid #dcded6;border-radius:16px;padding:30px;max-width:430px;width:calc(100% - 40px);box-sizing:border-box;box-shadow:0 20px 80px #0b2d4c33;color:#0b2d4c;background:#fff;max-height:calc(100vh - 40px);overflow:auto}.tour-dialog::backdrop{background:#0b213c66}.tour-dialog h2{font:32px/1.15 Georgia;margin:18px 0}.tour-dialog p{font-size:14px;line-height:1.8;color:#52645c}.tour-dialog .eyebrow,.tour-step-count{font-size:9px;letter-spacing:1.5px;color:#9b7b3e}.tour-dialog progress{width:100%;height:7px;accent-color:#0b2d4c;margin:10px 0 20px}.tour-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tour-actions button{margin:0}.tour-highlight{outline:3px solid #c5a05b!important;outline-offset:5px;box-shadow:0 0 0 8px #c5a05b22!important}.tour-dialog button:focus-visible{outline:3px solid #c5a05b;outline-offset:3px}@media(max-width:500px){.tour-dialog{padding:24px}.tour-dialog h2{font-size:27px}.tour-actions{gap:8px}}
/* Song learning and performance discovery share the existing studio colours. */
.song-filters{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.song-filters label{flex:1;min-width:160px;display:grid;gap:8px}.song-filters input,.song-filters select{width:100%;padding:12px;border:1px solid #d9dfdc;border-radius:10px;background:white;color:#173c36}.song-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px;margin:20px 0}.song-card,.song-player,.song-chart-editor{padding:24px;border:1px solid #dce3de;border-radius:18px;background:#fff}.song-card h2{font-size:1.4rem;margin:12px 0}.song-credit{font-size:.87rem;line-height:1.6;min-height:70px}.song-detail>h2{font-size:2rem}.song-player{margin:24px 0}.song-follow{max-height:420px;overflow:auto;border:1px solid #dce3de;border-radius:12px;margin-top:20px;overscroll-behavior:contain}.song-line{width:100%;display:grid;grid-template-columns:88px 1fr 58px;gap:12px;text-align:left;padding:18px 16px;background:#fff;border:0;border-bottom:1px solid #e5e9e6;color:#22463e;font:inherit}.song-line strong{font-size:1.4rem}.song-line small{font-size:.72rem;align-self:center}.song-line.current{background:#fff0ca;box-shadow:inset 5px 0 #b28a38}.song-line:focus-visible{outline:3px solid #174e60;outline-offset:-3px}.song-chart-editor summary{cursor:pointer;font-weight:700}.song-chart-editor label{display:grid;gap:8px;margin:16px 0}.song-chart-editor textarea{width:100%;padding:12px;font:inherit;border:1px solid #bbc9c2;border-radius:10px}.inspiration-tabs{display:flex;gap:10px;flex-wrap:wrap}.inspiration-tabs [aria-pressed=true]{background:#123f35;color:#fff}.inspiration-player{aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(135deg,#0b2d4c,#285c4c);border-radius:12px;overflow:hidden}.inspiration-player iframe{width:100%;height:100%;border:0}.animated-demo .demo-stage{background:linear-gradient(150deg,#f7f4eb,#ebe5d7);box-shadow:inset 0 0 25px #bbb4a522;border-radius:14px}.demo-stage svg{max-height:300px} @media(max-width:600px){.song-card,.song-player,.song-chart-editor{padding:16px}.song-line{grid-template-columns:68px 1fr 42px;gap:8px;padding:15px 10px}.song-line strong{font-size:1.2rem}}
.enrolment-codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:20px 0}.enrolment-codes>div{padding:16px;border:1px solid #dce3de;border-radius:12px;display:grid;gap:12px}.enrolment-codes code{user-select:all;overflow-wrap:anywhere;font-size:.82rem}.student-instrument-form{display:grid;gap:8px;min-width:155px}.student-instrument-form select,.auth-form select{font:inherit;background:white;color:#153e36;border:1px solid #cfdad3;padding:12px;border-radius:10px;width:100%}
.harmonic-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.harmonic-bars>div{border:1px solid #d6dfd9;border-left:3px solid #b48b3d;padding:14px 10px;border-radius:7px;background:#faf9f3}.harmonic-bars small{display:block;font-size:.67rem;color:#65726b;line-height:1.5}.harmonic-bars strong{font-size:1.15rem;overflow-wrap:anywhere}.weekly-harmony details{margin-top:24px}.weekly-harmony summary{cursor:pointer;font-size:1.1rem;font-weight:700}.harmony-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin-top:16px}.harmony-library article{padding:16px;border:1px solid #d6dfd9;border-radius:10px}.harmony-library h3{margin:0 0 8px}.harmony-library p{font-size:.85rem;line-height:1.65}.song-line{grid-template-columns:88px 1fr 80px}.song-line small{line-height:1.6}@media(max-width:600px){.harmonic-bars{grid-template-columns:repeat(2,minmax(0,1fr))}.song-line{grid-template-columns:62px 1fr 58px}}
.gumroad-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:15px;margin:20px 0}.gumroad-products fieldset{border:1px solid #d2dcd5;border-radius:12px;padding:16px;min-width:0}.gumroad-products legend{font-weight:700;padding:0 6px}#billing-panel label{display:grid;gap:8px;margin:12px 0}#billing-panel input,#billing-panel select,#billing-panel textarea{padding:11px;border:1px solid #cad6ce;border-radius:9px;font:inherit;color:#173d34;background:#fff;width:100%;box-sizing:border-box}#billing-panel textarea{font-size:.78rem;line-height:1.6}#billing-panel details{margin-top:20px}#billing-panel summary{cursor:pointer;font-weight:700}
