*,*:before,*:after{box-sizing:border-box}:root{--m-dur: .24s;--m-ease: cubic-bezier(.16, 1, .3, 1);--m-dist: 22px;--m-blur: 5px;--m-scale: .985}body{margin:0;padding:0;min-height:100vh;font-family:Hanken Grotesk,Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fdfbf9;color:#2c2825}button{font-family:inherit;outline:none;-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:no-preference){@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.flow-exercise-enter{animation:fade-in-up .35s cubic-bezier(.4,0,.2,1)}}.interactive-btn{transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.interactive-btn:hover{transform:translateY(-2px);opacity:.95}.interactive-btn:active{transform:translateY(1px) scale(.98)}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media(max-width:640px){.desktop-only{display:none!important}}@media(min-width:641px){.mobile-only{display:none!important}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:linear-gradient(180deg,#fdfbf973,#fdfbf9b3);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-top:1px solid rgba(0,0,0,.04);box-shadow:0 -4px 32px #2c28250a;display:flex;justify-content:space-around;align-items:center;z-index:999;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-dark{background:linear-gradient(180deg,#12121259,#12121299);border-top:1px solid rgba(255,255,255,.05);box-shadow:0 -4px 32px #0000004d}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border:none;background:none;color:#8c867f;gap:4px;transition:all .2s cubic-bezier(.4,0,.2,1);padding:4px}.nav-item.active{color:#d4a373;transform:translateY(-2px)}.nav-item svg{width:22px;height:22px;stroke-width:2;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.nav-item.active svg{transform:scale(1.15);filter:drop-shadow(0 0 6px rgba(212,163,115,.55))}.bottom-nav-dark .nav-item.active{color:#d8ab77}.bottom-nav-dark .nav-item.active svg{filter:drop-shadow(0 0 6px rgba(216,171,119,.55))}.nav-item{position:relative}.nav-beat-dot{position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor;opacity:.8;box-shadow:0 0 6px currentColor}.nav-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-family:Hanken Grotesk,Lato,sans-serif}.sticky-pill-bar{position:sticky;top:0;z-index:9;margin:0 -16px;scroll-padding-left:28px;scroll-padding-right:28px;-ms-overflow-style:none;scrollbar-width:none}.sticky-pill-bar::-webkit-scrollbar{display:none}.sticky-pill-bar:before{content:"";flex:0 0 28px}.sticky-pill-bar:after{content:"";flex:0 0 28px}@media(min-width:641px){.sticky-pill-bar{top:49px}}.floating-metronome{position:fixed;bottom:64px;left:0;right:0;width:100%;max-width:none;border-radius:0;border:none;border-top:1px solid rgba(212,163,115,.25);box-shadow:0 -4px 16px #0000000a;z-index:998;background:#ffffffa6;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);display:flex;align-items:center;justify-content:flex-start;padding:8px 16px;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}@supports (padding-bottom: env(safe-area-inset-bottom)){.floating-metronome{bottom:calc(64px + env(safe-area-inset-bottom))}}.bottom-nav-dark~.floating-metronome,.floating-metronome-dark{background:#181818d9;border-top:1px solid rgba(216,171,119,.2);box-shadow:0 -4px 16px #0000004d}@media(min-width:641px){.floating-metronome{left:0;right:0;bottom:0;width:100%;border-radius:0;border-top:1px solid rgba(212,163,115,.25);box-shadow:0 -4px 20px #0000000f;padding:8px 32px;justify-content:center}.floating-metronome>div{max-width:800px;width:100%;margin:0 auto}.floating-metronome-dark{border-top:1px solid rgba(216,171,119,.2)}}.no-bottom-nav .floating-metronome{bottom:0}@supports (padding-bottom: env(safe-area-inset-bottom)){.no-bottom-nav .floating-metronome{bottom:env(safe-area-inset-bottom)}}.brass-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;outline:none;cursor:pointer}.brass-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#cf9c63,#ad7c4b);box-shadow:inset 0 1px 1px #ffffff8c,0 2px 6px #8a5f3366;border:none;cursor:pointer}.brass-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#cf9c63,#ad7c4b);box-shadow:inset 0 1px 1px #ffffff8c,0 2px 6px #8a5f3366;border:none;cursor:pointer}.brass-slider::-moz-range-track{height:4px;border-radius:999px;background:transparent}.floating-metronome-close{transition:background .15s,color .15s}.floating-metronome-close:hover{background:#0000000d;color:#d68383}.floating-metronome-dark .floating-metronome-close:hover{background:#ffffff14;color:#d68383}.trainer-card{box-shadow:0 24px 48px -12px #2c282514;transition:transform .2s ease,box-shadow .2s ease}.trainer-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 28px 56px -12px #2c28251f}.flow-top-bar{transition:background .3s ease,border-color .3s ease}.flow-bottom-bar{transition:background .3s ease,box-shadow .3s ease}@media print{@page{size:letter;margin:.4in}.no-print{display:none!important}body.print-active{background:#fff!important;overflow:visible!important;margin:0;padding:0}body.print-active>#root{display:none!important}.print-overlay{position:static!important;overflow:visible!important;height:auto!important;background:#fff!important}.print-overlay .print-content{max-width:100%!important;padding:0!important;margin:0!important}.print-overlay .print-row{page-break-inside:avoid;break-inside:avoid}}.forge-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.forge-reveal[data-open]{grid-template-rows:1fr;opacity:1}.forge-reveal>*{min-height:0;overflow:hidden}.forge-reveal[data-open]>*{animation:forgeRevealIn .3s cubic-bezier(.2,.8,.2,1) both}@keyframes forgeRevealIn{0%{transform:translateY(-6px)}to{transform:none}}@keyframes forgeFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.forge-fade-in{animation:forgeFadeIn .24s cubic-bezier(.2,.8,.2,1) both}@keyframes forgePop{0%{transform:scale(.7);opacity:.4}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.forge-pop{animation:forgePop .3s cubic-bezier(.2,.8,.2,1) both;display:inline-flex}.forge-press{transition:transform .12s ease,background .15s ease,color .15s ease}.forge-press:active{transform:scale(.88)}@media(prefers-reduced-motion:reduce){.forge-reveal,.forge-press{transition:none}.forge-reveal[data-open]>*,.forge-fade-in,.forge-pop{animation:none}.forge-press:active{transform:none}}
