/* The supplied artwork is framed only for decoration; every control remains HTML. */
.pr-rhythm-flow.pr-module{
  --accent:#15538a;max-width:1300px;margin:0 auto 28px;
  padding:clamp(18px,2.6vw,36px);color:#103c63;
  box-shadow:0 15px 25px #080807;
}
.pr-rhythm-flow .pr-back{font-size:13px;margin:0 0 10px;padding:0;}
.pr-rhythm-flow .pr-module-header{
  aspect-ratio:1057/160;min-height:0;padding:0;border:0;
  background:#e9c55d url('/assets/rhythm-flow-reference.webp') 51.764706% 8.467023%/116.083255% auto no-repeat;
  overflow:visible;
}
.pr-rhythm-flow .pr-module-header:after{display:none;}
/* Accessible title accompanies the exact illustrated banner, without duplicate text. */
.pr-rhythm-flow .pr-module-header>div:first-child{
  position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);
  white-space:nowrap;
}
.pr-rhythm-flow .pr-module-header>.rf-progress{
  position:absolute;z-index:2;right:.5%;top:27%;width:14.2%;max-width:none;
  min-height:60%;padding:clamp(6px,1vw,14px);background:#f1e6ce;
  box-shadow:-3px 4px 0 #ae936936;transform:rotate(-1deg);
}
.pr-rhythm-flow .rf-progress-dots{display:flex;gap:5px;margin:0 0 8px;}
.pr-rhythm-flow .rf-progress-dots i{
  display:block;flex:1;aspect-ratio:1;border:2px solid #a99d81;border-radius:50%;
}
.pr-rhythm-flow .rf-progress-dots .is-complete{background:#164c7c;border-color:#164c7c;}
.pr-rhythm-flow .rf-progress .pr-module-count{
  display:block;padding:0;margin:0;max-width:none;transform:none;background:none;
  font:600 clamp(12px,1vw,14px)/1.5 'DM Mono',monospace;
}
.pr-rhythm-flow .pr-lesson-tabs{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;
  padding:26px 0 20px;border-bottom:1px solid #8d836b;overflow:visible;
}
.pr-rhythm-flow .pr-lesson-tabs button{
  min-width:0;min-height:100px;padding:13px 8px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:7px;
  font:bold 19px/1.3 Georgia,serif;border-color:#a89b80;position:relative;
}
.pr-rhythm-flow .pr-lesson-tabs svg{width:42px;height:42px;}
.pr-rhythm-flow .pr-lesson-tabs [aria-pressed=true]{background:#15538a;color:#f7eed9;box-shadow:inset 0 0 30px #061b3322;}
.pr-rhythm-flow .pr-lesson-tabs .rf-done:after{content:'✓';position:absolute;right:8px;top:5px;font:16px monospace;}
.pr-rhythm-flow .pr-session-heading{padding:24px 0 10px;}
.pr-rhythm-flow .pr-session-heading h2{display:flex;align-items:center;gap:22px;font-size:clamp(30px,3.1vw,44px);margin:0 0 10px;}
.pr-rhythm-flow .pr-session-heading>p{font-size:19px;margin:0 0 0 74px;max-width:none;line-height:1.5;}
.pr-rhythm-flow .rf-number{
  display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;
  min-width:48px;min-height:44px;background:#d693a4;color:#103c63;
  font:bold 28px/1 Impact,'Arial Narrow',sans-serif;
}
.pr-rhythm-flow .pr-audio-status:empty{min-height:0;margin:0;}
.pr-rhythm-flow .pr-audio-status:not(:empty){padding:8px 0;margin:0;}
.pr-rhythm-flow .rf-model-stage{
  display:grid;grid-template-columns:minmax(0,2.7fr) minmax(0,1fr);
  gap:24px;align-items:end;margin:12px 0 30px;position:relative;
}
.pr-rhythm-flow .rf-art{background-image:url('/assets/rhythm-flow-reference.webp');background-repeat:no-repeat;min-width:0;mix-blend-mode:multiply;pointer-events:none;}
.pr-rhythm-flow .rf-art--suri{width:100%;align-self:end;}
.pr-rhythm-flow .rf-main-model,.pr-rhythm-flow .rf-take-paper{
  border:1px solid #d6c7a9;border-left:0;background-color:#f5ead2;
  background-image:radial-gradient(#91734515 .65px,transparent .85px);
  background-size:4px 4px;padding:26px 24px 16px;
  box-shadow:-11px 7px 0 #d4bd916e,11px 11px 0 #ba9e6860,0 4px 8px #7b613230;
}
.pr-rhythm-flow .rf-main-model>.pr-take-label{margin:0 0 8px;font-size:13px;}
.pr-rhythm-flow .rf-main-model .pr-model{font-size:clamp(25px,2.7vw,38px);line-height:1.55;margin:4px 0 20px;}
.pr-rhythm-flow .pr-model b{background:#e8c153;color:#103e68;}
.pr-rhythm-flow .rf-word{display:inline-block;position:relative;margin-bottom:15px;padding-bottom:14px;white-space:nowrap;}
.pr-rhythm-flow .rf-word:after{
  content:'';position:absolute;bottom:0;left:calc(50% - 6px);width:12px;height:12px;
  border-radius:50%;background:#beb9a5;
}
.pr-rhythm-flow .rf-word.rf-strong:after{background:#124978;width:16px;height:16px;left:calc(50% - 8px);bottom:-2px;}
.pr-rhythm-flow .rf-main-model>.pr-controls,.pr-rhythm-flow .rf-take-paper>.pr-controls{
  background:#ded2b780;border:1px solid #b6a78570;border-radius:48px;
  padding:8px 12px;display:flex;gap:0;align-items:center;
}
.pr-rhythm-flow .rf-main-model>.pr-controls>button,.pr-rhythm-flow .rf-take-paper>.pr-controls>button{
  flex:1 1 auto;min-height:42px;border:0;border-right:1px solid #af9d7d88;
  padding:5px 14px;background:none;color:#123d63;font:18px/1.4 Georgia,serif;
}
.pr-rhythm-flow .rf-main-model>.pr-controls>button:last-of-type,.pr-rhythm-flow .rf-take-paper>.pr-controls>button:last-of-type{border-right:0;}
.pr-rhythm-flow .rf-main-model>.pr-controls>svg{width:38px;height:38px;margin:0 12px;}
.pr-rhythm-flow .rf-play-icon,.pr-rhythm-flow .rf-record-icon{
  display:inline-flex;justify-content:center;align-items:center;width:46px;height:46px;
  background:#15538a;color:#fff3da;border-radius:50%;margin-right:10px;font:24px/1 Arial,sans-serif;
}
.pr-rhythm-flow .rf-record-icon{background:#ce6186;}
.pr-rhythm-flow .rf-more-controls,.pr-rhythm-flow .pr-chunks{font:14px/1.4 Georgia,serif;margin-top:12px;padding:0;border:0;}
.pr-rhythm-flow .rf-more-controls summary{cursor:pointer;padding:6px 0;min-height:32px;}
.pr-rhythm-flow .rf-more-controls[open] .pr-controls{margin-top:8px;}
.pr-rhythm-flow .rf-notice-row{display:grid;grid-template-columns:1fr 1.06fr;gap:5%;margin:0 0 24px;}
.pr-rhythm-flow .rf-notice,.pr-rhythm-flow .rf-try{border:1px solid #a69a80;padding:16px 24px;min-width:0;}
.pr-rhythm-flow .rf-notice-row h3,.pr-rhythm-flow .pr-recorder h3{
  display:flex;align-items:center;gap:20px;font:bold 25px/1.2 Impact,'Arial Narrow',sans-serif;
  letter-spacing:1px;margin:0 0 12px;
}
.pr-rhythm-flow .rf-notice-row .rf-number{min-width:42px;min-height:40px;font-size:27px;}
.pr-rhythm-flow .rf-notice-row p,.pr-rhythm-flow .rf-notice-row li{font:20px/1.35 Georgia,serif;}
.pr-rhythm-flow .rf-notice-row ul{margin:6px 0 0 48px;padding-left:20px;max-width:315px;}
.pr-rhythm-flow .rf-notice-row li{padding-left:9px;margin:8px 0;}
.pr-rhythm-flow .rf-notice-row li::marker{color:#1d5a8c;}
.pr-rhythm-flow .rf-try-body{display:flex;align-items:center;gap:24px;}
.pr-rhythm-flow .rf-art--tap{width:35%;flex-shrink:0;}
.pr-rhythm-flow .rf-try-body p{margin:0;}
.pr-rhythm-flow .pr-recorder{margin:0 0 28px;padding:14px 0 0;border:0;border-top:1px solid #8d836b;}
.pr-rhythm-flow .pr-recorder h3{margin-bottom:24px;}
.pr-rhythm-flow .rf-take-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:40px;align-items:center;padding:0 10px;}
.pr-rhythm-flow .rf-take-paper{padding:14px 20px;min-width:0;}
.pr-rhythm-flow #pr-record-prompt.pr-model{font:clamp(23px,2.35vw,32px)/1.5 Georgia,serif;margin:0 8px 12px;}
.pr-rhythm-flow #pr-record-status{font:14px/1.5 Georgia,serif;margin:9px 5px 0;}
.pr-rhythm-flow .rf-take-paper>.pr-controls>button{font-size:16px;padding:5px 9px;}
.pr-rhythm-flow .pr-recorder .pr-privacy{margin:20px 10px 0;max-width:none;line-height:1.5;}
.pr-rhythm-flow .rf-more-models{border-top:1px solid #ad9c7d;padding-top:16px;}
.pr-rhythm-flow .rf-more-models>summary{font:600 18px/1.5 Georgia,serif;cursor:pointer;padding:6px 0 16px;}
.pr-rhythm-flow .rf-more-models .pr-samples{grid-template-columns:repeat(2,minmax(0,1fr));}
.pr-rhythm-flow .pr-quiz{border-width:1px;background:#f1e3c6;}
@media(max-width:1000px){
  .pr-rhythm-flow .rf-model-stage{grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:15px;}
  .pr-rhythm-flow .pr-lesson-tabs button{font-size:16px;}
  .pr-rhythm-flow .rf-main-model>.pr-controls>svg{display:none;}
  .pr-rhythm-flow .rf-main-model>.pr-controls>button{font-size:16px;padding:5px 9px;}
  .pr-rhythm-flow .rf-notice-row{gap:20px;}
  .pr-rhythm-flow .rf-notice-row li,.pr-rhythm-flow .rf-notice-row p{font-size:18px;}
  .pr-rhythm-flow .rf-take-row{gap:24px;}
}
@media(max-width:760px){
  .pr-rhythm-flow.pr-module{padding:18px;margin-top:0;}
  .pr-rhythm-flow .pr-module-header{background-image:none;aspect-ratio:auto;padding:20px;display:block;}
  .pr-rhythm-flow .pr-module-header>div:first-child{position:static;width:auto;height:auto;clip-path:none;white-space:normal;overflow:visible;max-width:none;}
  .pr-rhythm-flow .pr-module-header h1{font-size:clamp(35px,8vw,58px);}
  .pr-rhythm-flow .pr-module-header>div:first-child p{font-size:16px;}
  .pr-rhythm-flow .pr-module-header>.rf-progress{position:static;width:max-content;max-width:100%;margin-top:18px;padding:10px 14px;transform:none;}
  .pr-rhythm-flow .rf-progress-dots{gap:9px;}
  .pr-rhythm-flow .rf-progress-dots i{width:17px;flex:none;}
  .pr-rhythm-flow .pr-lesson-tabs{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:18px;}
  .pr-rhythm-flow .pr-lesson-tabs button{min-height:88px;font-size:15px;}
  .pr-rhythm-flow .pr-lesson-tabs svg{width:32px;height:32px;}
  .pr-rhythm-flow .pr-session-heading h2{gap:12px;}
  .pr-rhythm-flow .pr-session-heading>p{margin-left:0;font-size:17px;}
  .pr-rhythm-flow .rf-model-stage{display:block;margin:14px 4px 24px;}
  .pr-rhythm-flow .rf-art--suri{display:none;}
  .pr-rhythm-flow .rf-main-model{padding:20px 16px 14px;}
  .pr-rhythm-flow .rf-main-model .pr-model{font-size:26px;}
  .pr-rhythm-flow .rf-main-model>.pr-controls,.pr-rhythm-flow .rf-take-paper>.pr-controls{border-radius:18px;padding:8px 4px;gap:6px;}
  .pr-rhythm-flow .rf-main-model>.pr-controls>button,.pr-rhythm-flow .rf-take-paper>.pr-controls>button{font-size:16px;padding:5px 8px;border:0;}
  .pr-rhythm-flow .rf-play-icon,.pr-rhythm-flow .rf-record-icon{width:36px;height:36px;font-size:18px;margin-right:5px;}
  .pr-rhythm-flow .rf-notice-row{grid-template-columns:1fr;gap:16px;}
  .pr-rhythm-flow .rf-notice,.pr-rhythm-flow .rf-try{padding:16px;}
  .pr-rhythm-flow .rf-notice-row ul{margin-left:20px;max-width:none;}
  .pr-rhythm-flow .rf-art--tap{max-width:100px;}
  .pr-rhythm-flow .rf-take-row{display:block;padding:0 4px;}
  .pr-rhythm-flow .rf-art--wave{display:none;}
  .pr-rhythm-flow .rf-take-paper{padding:14px;}
  .pr-rhythm-flow .rf-more-models .pr-samples{grid-template-columns:1fr;}
}
@media(forced-colors:active){
  .pr-rhythm-flow .pr-module-header{background-image:none;aspect-ratio:auto;min-height:160px;padding:16px;}
  .pr-rhythm-flow .pr-module-header>div:first-child{position:static;width:auto;height:auto;clip-path:none;white-space:normal;}
  .pr-rhythm-flow .pr-module-header>.rf-progress{position:static;}
  .pr-rhythm-flow .rf-word:after{border:1px solid CanvasText;}
  .pr-rhythm-flow .rf-word.rf-strong:after{background:Highlight;forced-color-adjust:none;}
}
