.masthead nav{align-items:center;gap:clamp(18px,2.4vw,35px);overflow:visible}.nav-tools{position:relative}.nav-tools summary{list-style:none;cursor:pointer;font-size:14px;color:var(--muted);padding:13px 0;white-space:nowrap}.nav-tools summary::-webkit-details-marker{display:none}.nav-tools summary:after{content:'⌄';margin-left:8px}.nav-tools[open] summary,.nav-tools summary.active{color:var(--gold)}.tools-menu{position:absolute;top:100%;right:0;min-width:235px;display:flex;flex-direction:column;padding:8px;background:#1c2430;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 50px #0006}.masthead .tools-menu a{padding:11px 14px;white-space:normal;border-radius:5px;font-size:14px}.masthead .tools-menu a:hover{background:#ffffff08}.tools-menu a.active{box-shadow:none!important;background:#e9bd6b10}.listen-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px}.listen-links a{font-size:14px;color:var(--gold);border-bottom:1px solid #9d783c66}.record-name-button{border:0;text-align:left;padding:0;border-radius:0;font-weight:700;font-size:14px;line-height:1.5;display:block}.record-name-button:hover:not(:disabled){background:none;color:var(--gold)}.lab-listening-link h3{margin-bottom:12px}.lab-listening-link p{margin-bottom:20px}.lab-listening-link .primary{display:inline-block;font-size:14px}.lab-aside.simplified{display:block}
.rhythm-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:35px;max-width:1150px;margin:0 auto}.rhythm-player{padding:30px clamp(20px,4vw,50px);text-align:center;align-self:start;background:linear-gradient(150deg,#263244,#18202c)}.rhythm-kicker{font-size:12px;letter-spacing:2px;color:var(--muted)}.rhythm-player h2{font-size:clamp(32px,4vw,48px);margin-top:8px}.rhythm-player .pulse-pattern{gap:12px;margin:24px 0}.rhythm-player .pulse-mark{width:67px;height:87px;display:flex;flex-direction:column;justify-content:center;gap:4px;transition:background .08s,color .08s}.rhythm-player .pulse-mark b{font:36px/1 var(--serif)}.rhythm-player .pulse-mark small{font:14px/1.5 var(--sans)}.rhythm-play{display:block;width:100%;min-height:57px;font-size:18px;border-radius:7px}.rhythm-status{font-size:14px;min-height:26px;color:var(--muted);margin:12px 0 20px}.rhythm-player .range-label{font-size:16px;margin-bottom:0;gap:14px}.rhythm-player input[type=range]{height:28px;min-width:0}.rhythm-player output{font-variant-numeric:tabular-nums;min-width:30px}.speed-labels{display:flex;justify-content:space-between;margin:0 43px 20px;font-size:12px;color:var(--muted)}.rhythm-explanation{font-size:14px;color:var(--muted);line-height:1.9;border-top:1px solid var(--line);padding-top:16px}.rhythm-selection h2{font:500 20px/1.4 var(--sans);margin:4px 0 17px}.rhythm-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.rhythm-choices button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:16px;background:#18202b;min-height:89px;border-radius:10px}.rhythm-choices strong{font:500 clamp(16px,1.65vw,20px)/1.4 var(--serif);display:block}.rhythm-choices small{display:block;font:17px/1.6 var(--serif);color:var(--muted);letter-spacing:2px;margin-top:4px}.rhythm-choices button[aria-pressed=true]{border-color:var(--gold);background:#e9bd6b12}.rhythm-choices button[aria-pressed=true] strong{color:var(--gold)}.rhythm-choice-play{font-size:14px;color:var(--gold)}.recording-shortcut{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding:19px 0 4px;border-top:1px solid var(--line)}.recording-shortcut strong{font-size:14px;font-weight:600;display:block}.recording-shortcut small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.recording-shortcut>span:last-child{color:var(--gold);font-size:24px}.rhythm-exercises{max-width:1150px;margin:35px auto 0;border-top:1px solid var(--line)}.rhythm-exercises>summary{cursor:pointer;padding:22px 0;color:var(--ink);font-size:16px}.rhythm-exercises>summary span{font-size:13px;color:var(--muted);margin-left:15px}.rhythm-exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.rhythm-exercise-grid h2{font-size:25px;margin-bottom:20px}.rhythm-exercise-grid .ear-options{margin-bottom:18px}.rhythm-exercise-grid .ear-options button{font-size:14px;min-height:44px}.rhythm-exercise-grid .text-button{font-size:14px}.builder-pattern{font:30px var(--serif);margin-bottom:12px}
@media(max-width:1050px){.masthead nav a,.nav-tools summary{font-size:14px}.masthead nav{gap:21px}.rhythm-layout{gap:24px}.rhythm-choices button{padding:14px;gap:8px}.rhythm-choices strong{font-size:16px}}
@media(max-width:780px){.masthead nav{justify-content:space-between;gap:0;overflow:visible}.masthead nav a,.nav-tools summary{font-size:14px;padding:12px 7px}.rhythm-layout{grid-template-columns:1fr;max-width:560px;gap:27px}.rhythm-player{padding:24px 25px}.rhythm-player h2{font-size:36px}.rhythm-player .pulse-pattern{margin:20px 0}.rhythm-player .pulse-mark{height:70px}.rhythm-status{margin:9px 0 12px}.rhythm-explanation{padding-top:12px}.rhythm-player .speed-labels{margin-bottom:14px}.rhythm-choices strong{font-size:19px}.rhythm-exercises{max-width:560px}.rhythm-exercise-grid{grid-template-columns:1fr}.rhythm-exercises>summary span{display:block;margin:3px 0 0 18px}.listen-links{gap:15px;margin-top:-5px}.tools-menu{right:0;z-index:40}.lab-aside.simplified{margin-top:20px}}
@media(max-width:430px){.masthead nav a,.nav-tools summary{padding:12px 4px;font-size:13px}.rhythm-player{padding:23px 18px}.rhythm-player .pulse-mark{width:55px;max-width:22%}.rhythm-player .pulse-pattern{gap:8px}.rhythm-choices button{padding:13px;min-height:83px}.rhythm-choices strong{font-size:17px}.rhythm-choices small{font-size:16px;letter-spacing:1.5px}.rhythm-choice-play{font-size:12px}.recording-shortcut strong{font-size:14px}.rhythm-play{font-size:17px}.listen-links a{font-size:13px}}
@media(prefers-reduced-motion:reduce){.rhythm-player .pulse-mark{transition:none}}
