@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap";:root{--text-xl: clamp(2.5rem, 6vw, 3.25rem)}html,body{height:100%}body{margin:0}body,button,input,select,textarea{font-family:Quicksand,sans-serif}#root{min-height:100vh;display:flex;flex-direction:column}.app-root{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;box-sizing:border-box;background-color:#30333a;color:#f2f4f7;margin-top:0}.app-root--preview{padding-bottom:calc(4rem + var(--preview-banner-height, 8rem) + 2rem);justify-content:flex-start}.app-shell--preview{height:auto;overflow:visible}.app-shell-columns--preview{height:auto}.app-shell{width:calc(.99*(100% - 100px));max-width:calc(.99*(80rem - 100px));height:100%;box-sizing:border-box;background-color:#30333ab3;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:1.5rem;padding:1rem;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;overflow:hidden;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d;transition:all .5s ease-in-out;color:#f2f4f7;margin-top:0}.app-shell-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:1.25rem;width:100%}.app-shell-columns{flex:1 1 auto;min-height:0;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem;padding:0 .5rem;width:92%;max-width:100%;margin:0 auto;align-items:stretch;align-content:flex-start}.app-shell-column{display:flex;flex-direction:column;gap:1rem;min-width:0;justify-content:flex-start;height:100%;width:100%;box-sizing:border-box}.app-shell-column--left{align-self:flex-start;justify-content:flex-start}.app-shell-footer{margin-top:auto;width:100%;padding-top:.75rem;padding-left:.5rem;padding-right:.5rem;pointer-events:none}.app-shell-footer--preview,.preview-pad-65{padding-bottom:65px}.app-shell-footer button,.app-shell-footer .neomorphus-button,.app-shell-footer .round-progress,.app-shell-footer .round-progress-thumb,.app-shell-footer .scrub-slider{pointer-events:auto}.app-shell-settings{display:none;align-items:center;justify-content:center;flex-direction:column;padding:.75rem .5rem;border-top:1px solid rgba(0,0,0,.45);border-bottom:none;background:transparent;border-left:none;border-right:none;width:100%;cursor:pointer;font:inherit;color:inherit;gap:.35rem;touch-action:none}.app-shell-settings-label{font-size:.95rem;font-weight:500;color:#25ed27;letter-spacing:.04em;text-transform:uppercase}.app-shell-settings-handle{display:inline-flex;align-items:center;justify-content:center}.app-shell-settings-handle span{width:36px;height:4px;border-radius:9999px;background:#ffffff40;box-shadow:inset 0 0 0 1px #00000040;animation:settings-handle-breathe 1.8s ease-in-out infinite}.settings-modal{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:40}.settings-modal.is-open{opacity:1;pointer-events:auto}.settings-modal-backdrop{position:absolute;inset:0;border:none;background:#0009;opacity:0;transition:opacity .2s ease}.settings-modal.is-open .settings-modal-backdrop{opacity:1}.settings-modal-panel{position:relative;width:min(100%,48rem);max-height:85vh;background-color:#2e3138;border-radius:1.4rem;padding:1rem 1.1rem 1.25rem;transform:translateY(var(--settings-closed-offset, 100%));transition:transform .24s ease;box-shadow:0 -8px 24px #0006;overflow:auto}.settings-modal.is-open .settings-modal-panel{transform:translateY(0)}.settings-modal-handle{display:flex;justify-content:center;padding-top:.25rem;padding-bottom:.75rem;touch-action:none;cursor:grab}.settings-modal-handle span{width:48px;height:5px;border-radius:9999px;background:#ffffff40;box-shadow:inset 0 0 0 1px #00000040;animation:settings-handle-breathe 1.8s ease-in-out infinite}.settings-modal.is-open .settings-modal-handle span{animation-play-state:running}.settings-modal:not(.is-open) .settings-modal-handle span{animation-play-state:paused}.settings-modal-header{display:flex;align-items:center;justify-content:center;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.35)}.settings-modal-title{font-size:1rem;font-weight:600;color:#ffffffbf;text-transform:uppercase;letter-spacing:.08em}.settings-modal-content{padding-top:1rem;display:flex;flex-direction:column;gap:1rem}@keyframes settings-handle-breathe{0%,to{transform:scaleX(1);opacity:.65}50%{transform:scaleX(1.2);opacity:1}}.audio-control-container{flex:0 0 25%;width:100%;min-height:25%;max-height:25%;box-sizing:border-box;padding:1rem;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.75rem;align-self:stretch}.audio-control-container--empty{visibility:hidden;pointer-events:none}.audio-control-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;align-items:center}.playback-now-playing,.playback-countdown{margin:0}.playback-countdown{width:100%;text-align:center}.playback-progress-row{display:flex;align-items:center;gap:.75rem;width:100%;max-width:560px}.playback-progress-shell{flex:1 1 auto;width:100%}.playback-progress-shell .round-progress-wrapper{width:100%;max-width:100%;min-width:0;flex:1 1 auto}.playback-time{font-variant-numeric:tabular-nums;min-width:3.5rem}.playback-time-elapsed{text-align:right}.playback-time-total{text-align:left}.app-title{font-family:Quicksand,sans-serif;font-weight:400;font-size:calc(var(--text-xl) * .35);margin:0 0 1.5rem;color:#25ed27}.app-title-app{color:#f2f4f7}.app-title .app-subtitle{font-size:.65em;font-weight:300;color:#fff}.app-title-floating{text-align:center;margin:calc(.5rem + 10px) 0 .25rem}.app-header{position:sticky;top:0;z-index:10;display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:1rem;padding:.5985rem 1.05rem;background-color:#30333a;box-shadow:0 4px 10px #00000040}.app-header .app-title{margin:0}.app-header-section{flex:1;display:flex;align-items:center}.app-header-section--left{justify-content:flex-start}.app-header-section--right{justify-content:flex-end}.app-header-meta{display:flex;align-items:center;gap:.6rem}.app-header-badge{flex-shrink:0;padding:.2rem .6rem;border-radius:9999px;background-color:#25ed27;color:#0f141b;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;box-shadow:inset 1px 1px 2px #ffffff59,inset -1px -1px 2px #00000040,0 2px 6px #0003}.neomorphus-button{background-color:#30333a;color:#fff;border:none;border-radius:9999px;padding:.4rem .9rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.neomorphus-button.small{padding:.25rem .85rem;font-size:.85rem}.neomorphus-button.feedback-button{padding:.35rem .95rem;font-size:.85rem;letter-spacing:.02em;border-radius:9999px}.neomorphus-button.round-control{width:39.2px;height:39.2px;min-width:39.2px;border-radius:50%;padding:0;background-color:#30333a;color:#25ed27}.neomorphus-button.round-control.round-control--primary{width:51px;height:51px;min-width:51px}.neomorphus-button.round-control:disabled{color:#ffffff59;opacity:.4;cursor:not-allowed}.neomorphus-button.round-control:hover:not(:disabled),.neomorphus-button.round-control:focus-visible:not(:disabled){box-shadow:4px 4px 6px #131417,-4px -4px 6px #4d525d}.round-control-icon{width:16.8px;height:16.8px;color:#f6f8fb;pointer-events:none}.round-control-icon--primary{width:21.84px;height:21.84px}.neomorphus-button.playback-toggle-button{padding:0;width:48px;height:48px;min-width:48px;border-radius:50%;font-size:1.08rem;line-height:1}.neomorphus-button.playback-round-button{padding:0;width:35.2px;height:32px;min-width:35.2px;border-radius:50%;font-size:.8rem;line-height:1}.style-button-group{display:grid;width:min(100%,980px);gap:0;grid-template-columns:repeat(4,1fr);padding:.4rem;background:#2e3138;border-radius:9999px;box-shadow:inset 3px 3px 6px #21232a,inset -3px -3px 6px #3c4049;overflow:hidden;margin:.5rem auto}.style-button{width:100%;font-size:calc((var(--text-xl) * .3 + .66rem) * .9);padding:.585rem 1.1rem;position:relative;border:none;background:transparent;color:#ffffffa6;border-radius:9999px;box-shadow:none;transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.style-coming-soon{font-size:.5em;opacity:.8;margin-left:.35rem;white-space:nowrap}.style-label-short{display:none}.style-button:hover:not(:disabled){color:#f2f4f7;box-shadow:none;transform:none}.mode-row{width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.75rem;margin:0;position:relative}.mode-row--mobile{display:none}.mode-button-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,520px);max-width:100%;gap:0;margin:.5rem auto 0;padding:.4rem;box-sizing:border-box;background:#2e3138;border-radius:9999px;box-shadow:inset 3px 3px 6px #21232a,inset -3px -3px 6px #3c4049;overflow:hidden}.mode-button-slot{display:flex;justify-content:center;align-items:stretch}.practice-queue-preview{width:100%;max-width:560px;display:flex;flex-direction:column;gap:.4rem;margin:1rem auto .75rem;align-items:center;text-align:center}.practice-queue-preview-item{width:100%;display:flex;justify-content:center;align-items:center}.practice-queue-preview-track{color:#f2f4f7;font-size:.95rem;word-break:break-word;overflow-wrap:anywhere}.practice-queue-preview-item-current .practice-queue-preview-track{color:#25ed27;font-weight:600}.practice-queue-preview-track-current{font-size:1.9rem}.practice-dance-row{width:100%;margin-top:1rem;display:flex;justify-content:center;align-items:flex-start;gap:1.25rem;flex-wrap:wrap}.practice-dance-column{display:flex;justify-content:center;flex:1 1 760px;max-width:880px;width:min(100%,820px)}.practice-layout{width:100%;display:flex;flex-direction:column;gap:1rem;margin-top:1rem;align-items:stretch}.practice-dance-button-group{width:100%;display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);justify-content:center;gap:.75rem .75rem;margin:0;padding-bottom:.25rem}.practice-dance-button-group--two-rows{display:flex;flex-direction:column;gap:.75rem}.practice-dance-button-row{display:grid;gap:.75rem;width:100%}.practice-dance-button-row--first{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-dance-button-row--second{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-dance-button-group .neomorphus-button{width:100%;min-height:0;font-size:.9rem;padding:.6rem .9rem;white-space:nowrap;border-radius:9999px;background:#30333ab3;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d}.practice-dance-empty{width:100%;margin:0;color:#b5bac6;font-size:.9rem;text-align:center}.practice-content{width:100%;display:flex;flex-direction:column;gap:.75rem}.practice-paso-crash-buttons{display:flex;flex-direction:column;gap:.75rem;min-width:180px}.practice-paso-crash-heading{font-weight:400;font-size:.9rem;text-align:left;color:#ffffffa6;margin:0}.practice-paso-crash-button-group{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.practice-paso-crash-button-group .neomorphus-button{min-width:120px;white-space:nowrap;border-radius:9999px;padding:.6rem .9rem;font-size:.9rem}.round-paso-crash-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%}.round-paso-crash-heading{font-weight:400;font-size:.9rem;text-align:left;color:#ffffffa6}.round-paso-crash-button-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:100%}.round-paso-crash-button-group .neomorphus-button{width:100%;border-radius:9999px;padding:.6rem .9rem;font-size:.9rem}.round-queue-wrapper{display:flex;flex-direction:column;gap:.75rem;width:100%;align-self:stretch;max-width:100%;box-sizing:border-box;padding-top:.33rem}.round-queue-heading{margin:0;font-size:1.35rem;font-weight:400;color:#ffffffa6}.round-queue-container{--round-queue-visible-items: 5;--round-queue-item-size: 44px;--round-queue-item-padding-y: .25rem;--round-queue-item-gap: .25rem;display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:100%;box-sizing:border-box;padding:.85rem 1rem;height:calc((var(--round-queue-visible-items) * (var(--round-queue-item-size) + (var(--round-queue-item-padding-y) * 2))) + ((var(--round-queue-visible-items) - 1) * var(--round-queue-item-gap)) + (2 * .85rem));overflow:auto;background-color:#30333ab3;border-radius:1.5rem;box-shadow:inset 3px 3px 5px #131417,inset -3px -3px 5px #4d525d}.round-queue-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.round-queue-item{display:flex;align-items:center;gap:.55rem;padding:.25rem .2rem;border-radius:.85rem}.round-queue-item-button{all:unset;display:flex;align-items:center;gap:.55rem;width:100%;cursor:pointer}.round-queue-item-button:focus-visible{outline:2px solid #4d525d;outline-offset:2px;border-radius:.65rem}.round-queue-item-art{width:44px;height:44px;flex-shrink:0;border-radius:.75rem;background-color:#262930;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;box-shadow:inset 2px 2px 4px #0006,inset -2px -2px 4px #ffffff0a;color:#25ed27}.round-queue-item-art--fallback{color:#25ed27}.round-queue-item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.round-queue-item-title{margin:0;color:#f2f4f7;font-weight:600;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.round-queue-item-artist{margin:0;color:#ffffffa6;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.round-queue-item--current{background-color:#25ed7514}.round-queue-item--upcoming{background-color:#ffffff0a}.round-queue-empty{margin:0;color:#b5bac6}.loading-ellipsis{display:inline-block;overflow:hidden;vertical-align:bottom}.loading-ellipsis:after{content:"...";display:inline-block;width:0;animation:loading-ellipsis 1.1s steps(4,end) infinite}@keyframes loading-ellipsis{to{width:3ch}}.round-reload-button{border-radius:9999px!important}@media(max-width:800px){.app-root{padding:1rem}.app-shell{width:100%;max-width:100%}.app-shell-columns{grid-template-columns:1fr;width:100%;padding:0;gap:1.25rem}.app-shell-column--left{display:none}.app-shell-column--right{flex:1 1 auto;min-height:0}.mode-row{width:100%}.mode-row--mobile{display:flex}.mode-row--desktop{display:none}.mode-button-group{margin-bottom:.5rem}.app-shell-settings{display:flex;border-top:none}.feedback-modal{width:calc(100% - 2rem);max-width:calc(100% - 2rem);box-sizing:border-box}.practice-dance-button-row--first{grid-template-columns:repeat(5,minmax(0,1fr))}.round-queue-heading{display:none}.app-menu-button{min-width:auto;padding:.45rem .65rem}.app-menu-label{display:none}.app-menu-icon{display:flex}.style-label-full{display:none}.style-label-short,.welcome-dance-button .style-label-full{display:inline}.welcome-dance-button .style-label-short{display:none}.style-button,.welcome-dance-button{flex-direction:column;gap:.1rem}.style-coming-soon{display:block;margin-left:0;margin-top:.15rem;line-height:1.1}}@media(max-width:720px){.mode-row{flex-direction:column;align-items:flex-start;padding-right:0}.practice-dance-row{margin-top:.75rem;flex-direction:column;align-items:center;gap:.75rem}.practice-dance-column{width:100%}.practice-layout{gap:.75rem}.practice-dance-button-group{grid-auto-columns:minmax(120px,1fr);gap:.5rem .5rem}.practice-content{gap:.5rem}.practice-paso-crash-buttons{width:100%;align-items:center}.practice-paso-crash-heading{text-align:center}.practice-paso-crash-button-group{justify-content:center}.practice-queue-preview{max-width:100%}.practice-queue-preview-item{flex-direction:column;align-items:center}}.mode-button{width:100%;font-size:1.1rem;padding:.5rem 1.125rem;background:transparent;color:#ffffffa6;border:none;border-radius:9999px;box-shadow:none;transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.mode-button:hover:not(:disabled){color:#f2f4f7;box-shadow:none;transform:none}.mode-button.active,.mode-button.active:hover:not(:disabled){background:#30333a;color:#25ed27;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d;transform:translateY(-1px)}.neomorphus-button:hover:not(:disabled):not(.style-button):not(.mode-button){box-shadow:inset 2px 2px 4px #1f2126,inset -2px -2px 4px #41454e}.neomorphus-button.active:not(.style-button):not(.mode-button){color:#25ed27;box-shadow:inset 2px 2px 4px #1f2126,inset -2px -2px 4px #41454e}.welcome-modal-backdrop{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:900}.welcome-modal{background-color:#30333af2;border-radius:1.25rem;padding:2rem;max-width:350px;width:100%;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d;text-align:center;display:flex;flex-direction:column;gap:1.5rem}.welcome-modal-title{margin:0;font-size:calc(var(--text-xl) * .4 + .6rem)}.welcome-modal-indicators{position:relative;width:100%;max-width:240px;margin:.75rem auto .5rem;display:flex;justify-content:space-between;align-items:flex-start;padding:0 18px}.welcome-modal-indicators:before,.welcome-modal-indicators:after{content:"";position:absolute;left:30px;right:30px;top:6px;height:2px;border-radius:9999px;transform-origin:left}.welcome-modal-indicators:before{background-color:#fff3}.welcome-modal-indicators:after{background-color:#25ed27;transform:scaleX(0);transition:transform .3s ease}.welcome-modal-indicators.step-2:after{transform:scaleX(1)}.welcome-modal-indicator{position:relative;z-index:1;display:inline-block;width:12px;height:12px;border-radius:50%;background-color:#ffffff4d;transition:transform .2s ease,background-color .2s ease}.welcome-modal-indicator.active{background-color:#25ed27;transform:scale(1.1)}.welcome-modal-indicator-slot{display:flex;flex-direction:column;align-items:center;gap:.35rem;position:relative;z-index:1}.welcome-modal-indicator-label{font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;color:#b5bac6}.welcome-modal-buttons{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:1.25rem;margin-bottom:1.25rem}.welcome-dance-button{width:100%;padding:.75rem 1.5rem;font-size:1rem;border-radius:9999px}.welcome-dance-button.active{background-color:#25ed27;color:#131417;box-shadow:inset 2px 2px 4px #1f2126,inset -2px -2px 4px #41454e}.neomorphus-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:inset 1px 1px 2px #1f2126,inset -1px -1px 2px #41454e}.style-button.active,.style-button.active:hover:not(:disabled){background:#30333a;color:#25ed27;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d;transform:translateY(-1px)}.neomorphus-button:focus-visible{outline:2px solid #4d525d;outline-offset:2px}.round-progress-wrapper{position:relative;width:75%;margin:0 auto;align-self:center;max-width:75%;min-width:75%;flex:0 0 75%}.round-progress-shell{width:100%;display:flex;justify-content:center}.round-progress-time{width:100%;text-align:center;margin-top:.5rem}.round-progress{width:100%;height:.65rem;border-radius:.5rem;overflow:hidden;background-color:#30333a;box-shadow:inset 3px 3px 5px #1f2126,inset -3px -3px 5px #41454e}.scrub-slider{-webkit-appearance:none;appearance:none;width:100%;height:.65rem;border-radius:.5rem;background:transparent;cursor:pointer;margin:0;display:block;position:relative;z-index:1}.scrub-slider-shell{position:relative;width:100%;--scrub-thumb-size: 18px;height:var(--scrub-thumb-size);display:flex;align-items:center;overflow:visible}.scrub-slider-thumb{position:absolute;top:50%;left:var(--scrub-progress, 0%);width:var(--scrub-thumb-size, 18px);height:var(--scrub-thumb-size, 18px);border-radius:9999px;background-color:#30333a;border:1px solid #30333a;box-shadow:3px 3px 8px #00000080,-3px -3px 8px #ffffff1f;transform:translate(-50%,-50%);pointer-events:none;z-index:5}.scrub-slider:disabled{cursor:default;opacity:.6}.scrub-slider:focus-visible{outline:2px solid #4d525d;outline-offset:2px}.scrub-slider::-webkit-slider-runnable-track{height:.65rem;border-radius:999px;background-color:#2b2e35;background-image:linear-gradient(#25ed27,#25ed27);background-size:max(0px,calc(var(--scrub-progress, 0%) - (var(--scrub-thumb-size) / 2))) 100%;background-position:left center;background-repeat:no-repeat;box-shadow:inset 2px 2px 4px #00000073,inset -2px -2px 4px #ffffff14}.scrub-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:9999px;background-color:transparent;box-shadow:none;opacity:0;margin-top:calc((.65rem - 16px)/2)}.scrub-slider::-moz-range-track{height:.65rem;border-radius:999px;background-color:#2b2e35;background-image:linear-gradient(#25ed27,#25ed27);background-size:max(0px,calc(var(--scrub-progress, 0%) - (var(--scrub-thumb-size) / 2))) 100%;background-position:left center;background-repeat:no-repeat;box-shadow:inset 2px 2px 4px #00000073,inset -2px -2px 4px #ffffff14}.scrub-slider::-moz-range-thumb{width:16px;height:16px;border-radius:9999px;background-color:transparent;border:none;box-shadow:none;opacity:0}.round-progress-thumb{position:absolute;top:calc(50% + .325rem);width:1rem;height:1rem;background-color:#30333a;border-radius:9999px;box-shadow:2px 2px 1px #222429,-2px -2px 1px #3e424b;transform:translate(-50%,-50%);pointer-events:none;z-index:1}.playback-icon{width:14px;height:14px}.neomorphus-button.playback-round-button .playback-icon{width:8px;height:8px}.round-progress::-webkit-progress-bar{background-color:transparent}.round-progress::-webkit-progress-value{background-color:#25ed27}.round-progress::-moz-progress-bar{background-color:#25ed27}.neomorphus-slider{-webkit-appearance:none;appearance:none;width:100%;height:.65rem;border-radius:.5rem;background:transparent;cursor:pointer;margin:.75rem 0 0;display:block}.slider-label-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.slider-value{font-size:.9rem;color:#f2f4f7}.slider-label-row label{color:#ffffffa6;font-size:.9rem}.heat-controls{margin-top:.75rem;display:flex;flex-direction:column;align-items:center;width:100%;gap:.5rem}.practice-song-type-panel{width:100%;display:flex;flex-direction:column;align-items:center;gap:.75rem;height:100%;justify-content:flex-start}.practice-song-type-panel--left{width:100%;height:auto}.practice-queue-panel{width:100%;max-width:640px;display:flex;flex-direction:column;gap:.5rem}.practice-queue-heading{margin:0;font-size:1rem;font-weight:600}.practice-queue-list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.35rem}.practice-queue-item{color:#f2f4f7}.practice-queue-item--active{color:#25ed27;font-weight:600}.practice-queue-empty{margin:0;color:#b5bac6}.neomorphus-slider:focus-visible{outline:2px solid #4d525d;outline-offset:2px}.neomorphus-slider::-webkit-slider-runnable-track{height:.65rem;border-radius:.5rem;background-color:#30333a;box-shadow:inset 3px 3px 5px #1f2126,inset -3px -3px 5px #41454e}.neomorphus-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:11px;height:30px;border-radius:9999px;background-color:#30333a;box-shadow:-3px -3px 5px #4d525d,3px 3px 5px #131417;border:1px solid #25ed27;margin-top:calc((.65rem - 30px)/2)}.neomorphus-slider::-moz-range-track{height:.65rem;border-radius:.5rem;background-color:#30333a;box-shadow:inset 3px 3px 5px #1f2126,inset -3px -3px 5px #41454e}.neomorphus-slider::-moz-range-thumb{width:11px;height:30px;border-radius:9999px;background-color:#30333a;box-shadow:-3px -3px 5px #4d525d,3px 3px 5px #131417;border:1px solid #25ed27}.neomorphus-slider::-ms-track{height:.65rem;border-radius:.5rem;background:transparent;border-color:transparent;color:transparent}.neomorphus-slider::-ms-fill-lower,.neomorphus-slider::-ms-fill-upper{height:.65rem;border-radius:.5rem;background-color:#30333a;box-shadow:inset 3px 3px 5px #1f2126,inset -3px -3px 5px #41454e}.neomorphus-slider::-ms-thumb{width:11px;height:30px;border-radius:9999px;background-color:#30333a;box-shadow:-3px -3px 5px #4d525d,3px 3px 5px #131417;border:1px solid #25ed27;margin-top:0}.auth-modal-backdrop,.feedback-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;z-index:1000}.auth-modal,.feedback-modal{background-color:#2b2e35;color:#f2f4f7;border-radius:1.25rem;box-shadow:-12px -12px 24px #4d525d33,12px 12px 24px #1314178c}.auth-modal{width:min(90vw,360px);padding:2rem 2.25rem;text-align:center}.feedback-modal{width:min(95vw,640px);max-height:90vh;overflow-y:auto;padding:2rem 2.25rem;text-align:left;display:flex;flex-direction:column;gap:1rem}.auth-modal h2{margin:0;font-size:1.35rem}.auth-modal-subtitle{margin-top:.75rem;margin-bottom:1.75rem;color:#b5bac6;font-size:.95rem}.auth-provider-buttons{display:flex;flex-direction:column;gap:.75rem}.auth-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1.5rem}.auth-mode-button{border:1px solid #3d414b;border-radius:999px;background:transparent;color:#b5bac6;padding:.5rem .75rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.auth-mode-button.is-active{color:#f2f4f7;background:#3a3e47;border-color:#4d525d;box-shadow:inset 3px 3px 6px #00000059}.auth-form{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.5rem;text-align:left}.auth-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.auth-field{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:#b5bac6}.auth-field-label{font-weight:600;color:#f2f4f7;font-size:.85rem}.auth-form input{width:100%;background-color:#30333a;border:1px solid #3d414b;border-radius:.75rem;color:#f2f4f7;padding:.7rem .85rem;font-size:.95rem;box-sizing:border-box}.auth-form input::placeholder{color:#8d94a3}.auth-submit{width:100%;justify-content:center;font-size:.95rem;font-weight:400;border-radius:9999px}.auth-resend{margin-top:.75rem;color:#25ed27}.auth-prompt-actions .neomorphus-button{border-radius:9999px}.auth-prompt-actions .neomorphus-button:not(.secondary){background:#25ed27;color:#17331a;box-shadow:3px 3px 5px #0b130c73,-3px -3px 5px #4d5c5066}.auth-prompt-actions .neomorphus-button.secondary{background:#fff;color:#30333a;box-shadow:3px 3px 5px #0b0d0f59,-3px -3px 5px #5d636e66}.auth-local-error{margin:0;color:#ffb3b3;font-size:.85rem}.auth-local-success{margin:0;color:#9ff0a3;font-size:.85rem}.auth-error-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#ffb3b31f;border:1px solid rgba(255,179,179,.5);color:#ffb3b3;padding:.6rem .75rem;border-radius:.75rem;font-size:.85rem;margin-bottom:.75rem}.auth-divider{position:relative;margin:0 0 1.25rem;font-size:.75rem;color:#8d94a3;text-transform:uppercase;letter-spacing:.1em}.auth-page{min-height:100vh;background-color:#30333a;color:#f2f4f7;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;box-sizing:border-box}.auth-page .auth-modal{width:100%;max-width:none;min-height:100vh;text-align:center;padding:3rem 2.5rem;border-radius:0;box-shadow:none;background:transparent;border:none}.auth-page .auth-form{text-align:left;align-items:center}.auth-step-header{width:260px;max-width:100%;margin:0 auto 1rem;display:grid;grid-template-columns:24px 1fr;gap:.75rem;align-items:center}.auth-step-back{width:24px;height:24px;border-radius:999px;border:1px solid #3d414b;background:transparent;color:#f2f4f7;cursor:pointer;display:grid;place-items:center;padding:0}.auth-step-back-placeholder{width:24px;height:24px}.auth-step-text{display:flex;flex-direction:column;gap:.25rem;font-size:1.6rem;line-height:1.4;text-align:center;color:#25ed27}.auth-step-label{font-size:.75rem;color:#8d94a3;text-transform:uppercase;letter-spacing:.08em}.auth-step-title{font-size:.95rem;font-weight:600;color:#f2f4f7}.auth-step-help{margin:0;font-size:.75rem;text-align:center;color:#fff}.auth-step-divider{height:1px;width:100%;background:#3d414b;margin:.75rem 0 .5rem}.auth-page .auth-form-row{width:260px;max-width:100%;margin:0 auto;grid-template-columns:1fr}.auth-page .auth-field{width:260px;max-width:100%;margin:0 auto}.auth-email-summary{width:260px;max-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#b5bac6;text-align:center}.auth-email-summary span:last-child{color:#f2f4f7;font-weight:600}.auth-page .auth-form input{width:100%}.auth-page .auth-provider-buttons{align-items:center}.auth-page .auth-provider-buttons .neomorphus-button.provider{width:260px;max-width:100%;gap:.6rem}.google-icon{width:18px;height:18px;display:inline-flex}.google-icon svg{width:100%;height:100%;display:block}.auth-page .auth-error-banner{width:228px;max-width:100%;margin-left:auto;margin-right:auto;justify-content:center;text-align:center;padding-left:16px;padding-right:16px}.auth-page-logo{width:48px;height:48px;border-radius:999px;background:#25ed27;color:#0f141b;display:grid;place-items:center;font-weight:700;margin:0 auto 1rem;box-shadow:0 6px 18px #00000059}.auth-page-logo-mark{font-size:1.15rem}.auth-page .auth-modal h2{font-size:1.7rem;margin-bottom:1.5rem}.auth-page .auth-divider{margin:.2rem 0 1.25rem;font-size:.7rem}.auth-page .auth-provider-buttons .neomorphus-button.provider{border-radius:999px}.auth-page .auth-submit{border-radius:999px;padding:.6rem 1rem;font-weight:600;background:#25ed27;color:#0f141b;width:260px;max-width:100%;margin:0 auto}.auth-page .auth-submit.auth-resend{background:#2b2e35;color:#25ed27;box-shadow:inset 3px 3px 5px #1f2126,inset -3px -3px 5px #41454e}.auth-page .auth-submit:disabled{opacity:.65}.auth-footer{margin-top:1.5rem;font-size:.9rem;color:#b5bac6}.auth-footer-link{background:none;border:none;color:#f2f4f7;font-weight:600;cursor:pointer;padding:0}.preview-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;background:linear-gradient(90deg,#9b3be1,#25ed27);border-radius:.75rem;padding:.75rem 1.1rem;z-index:1001;box-shadow:0 12px 30px #00000059}.preview-banner-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.preview-banner-title{font-weight:700;color:#fff}.preview-banner-subtitle{color:#ffffffd9;font-size:.9rem}.preview-banner-button{background:#fff;color:#30333a;border:none;border-radius:999px;padding:.5rem 1rem;font-weight:600;cursor:pointer;white-space:nowrap}.auth-divider-line{height:1px;background:#3d414b;margin:0 0 1.25rem}.account-page{min-height:100vh;background-color:#30333a;color:#f2f4f7;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;box-sizing:border-box}.account-card{width:min(92vw,560px);background:#30333ad9;border-radius:1.25rem;box-shadow:-12px -12px 24px #4d525d33,12px 12px 24px #1314178c;padding:2rem 2.25rem;display:flex;flex-direction:column;gap:1.5rem}.account-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.account-details{display:flex;flex-direction:column;gap:.9rem}.account-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#2b2e35b3;border-radius:.9rem;padding:.85rem 1rem;border:1px solid #3d414b}.account-label{font-size:.85rem;color:#b5bac6;text-transform:uppercase;letter-spacing:.08em}.account-value{font-weight:600}.account-divider{height:1px;background:#3d414b}.account-section h3{margin:0 0 .5rem}.account-muted{margin:0;color:#b5bac6;font-size:.95rem}.account-section .account-muted{padding:.25rem 0}.account-section .account-muted+.neomorphus-button{margin-top:.5rem}.account-actions{display:flex;justify-content:flex-end}.account-status{padding:.6rem .75rem;border-radius:.75rem;font-size:.9rem;margin-bottom:.75rem}.account-status--success{background:#25ed7526;color:#25ed75;border:1px solid rgba(37,237,117,.4)}.account-status--error{background:#ffb3b31f;color:#ffb3b3;border:1px solid rgba(255,179,179,.4)}.auth-divider span{background:#2b2e35;padding:0 .6rem}.auth-divider:before{content:"";position:absolute;inset:50% 0 auto;height:1px;background:#3d414b;transform:translateY(-50%);z-index:-1}.neomorphus-button.provider{width:100%;justify-content:center;font-size:.95rem}.neomorphus-button.secondary{background-color:#2b2e35;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d}.neomorphus-button.secondary:hover:not(:disabled){box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d}.auth-modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.auth-modal-actions a.neomorphus-button{text-decoration:none}.auth-modal-actions .neomorphus-button.secondary{font-size:.95rem;color:#fff}.auth-modal-error p{margin-top:.75rem;color:#ffb3b3}.auth-prompt{width:min(90vw,360px);text-align:center;padding:2rem 2.25rem}.auth-prompt h2{margin:0 0 1.25rem;font-size:1.4rem}.auth-prompt-actions{display:flex;flex-direction:column;gap:.75rem}.feedback-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.feedback-modal-callout{margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.08em;color:#8d94a3;font-size:.75rem}.feedback-modal-header h2{margin:0;font-size:1.5rem}.feedback-modal-close{background:none;border:none;color:#f2f4f7;font-size:1.5rem;line-height:1;cursor:pointer}.feedback-modal-subtitle{margin:0;color:#b5bac6}.feedback-form{display:flex;flex-direction:column;gap:1.25rem}.feedback-field{display:flex;flex-direction:column;gap:.5rem}.feedback-field-label{font-weight:600}.feedback-field-optional{font-weight:400;color:#8d94a3;font-size:.85em}.feedback-form textarea,.feedback-form input{width:100%;background-color:#30333a;border:1px solid #3d414b;border-radius:.9rem;color:#f2f4f7;padding:.75rem 1rem;font-size:.95rem;box-sizing:border-box}.feedback-form textarea{resize:vertical;min-height:140px}.feedback-form textarea::placeholder,.feedback-form input::placeholder{color:#8d94a3}.feedback-field-support{align-self:flex-end;font-size:.8rem;color:#8d94a3}.feedback-dropzone{border:1px dashed #4d525d;border-radius:.9rem;padding:1rem;background-color:#30333aa6;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}.feedback-dropzone.is-dragging{border-color:#25ed27;background-color:#25ed751f}.feedback-dropzone-title{margin:0;font-weight:600}.feedback-dropzone-subtitle,.feedback-dropzone-hint{margin:.15rem 0 0;color:#b5bac6;font-size:.85rem}.feedback-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.feedback-file-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .8rem;border-radius:.85rem;background-color:#2c3038}.feedback-file-item div{display:flex;flex-direction:column;gap:.15rem}.feedback-file-name{margin:0;font-weight:600}.feedback-file-size{color:#8d94a3;font-size:.85rem}.feedback-file-remove{background:none;border:none;color:#ffb3b3;font-size:.85rem;cursor:pointer;padding:.25rem .5rem}.feedback-context{margin:0;font-size:.85rem;color:#8d94a3}.feedback-alert{margin:0;padding:.75rem 1rem;border-radius:.85rem;font-size:.9rem}.feedback-alert.error{background-color:#ff4d4d1f;color:#ffb3b3}.feedback-alert.success{background-color:#25ed751f;color:#9ff0b7}.feedback-modal-actions{display:flex;justify-content:flex-end;gap:1rem}.auth-status{position:absolute;top:1.25rem;right:1.5rem;display:flex;align-items:center;justify-content:flex-end}.auth-status-actions{position:relative;display:flex;align-items:center;justify-content:flex-end}.auth-status--guest{gap:.75rem}.auth-status-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(242,244,247,.4);box-shadow:0 2px 6px #0006}.auth-avatar-button{background:#30333ad9;border:none;padding:0;border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset -3px -3px 6px #4d525d73,inset 3px 3px 6px #0d0e11cc;transition:transform .2s ease,box-shadow .2s ease;color:#f2f4f7}.auth-avatar-button.open{transform:scale(1.03);box-shadow:-3px -3px 6px #4d525d66,3px 3px 6px #0d0e11b3}.auth-avatar-fallback{font-size:1.1rem;font-weight:600;letter-spacing:.02em}.auth-menu{position:absolute;top:calc(100% + .75rem);right:0;display:none;flex-direction:column;align-items:stretch;min-width:160px;padding:.5rem;background:#30333ae6;border-radius:1rem;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d;z-index:10;gap:.35rem}.auth-menu-header{padding:.35rem .75rem .5rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.35rem}.auth-menu.auth-menu--open{display:flex}.auth-menu-item{background:transparent;border:none;color:#f2f4f7;font-size:.85rem;text-align:left;padding:.45rem .75rem;border-radius:.75rem;cursor:pointer;transition:background .2s ease,color .2s ease;display:inline-flex;align-items:center;justify-content:flex-start;gap:.4rem;text-decoration:none}.auth-menu-item:hover,.auth-menu-item:focus-visible{background:#464c5899;outline:none}.auth-menu-item--danger{color:#ff7b7b}.auth-menu-item--danger:hover,.auth-menu-item--danger:focus-visible{background:#7a272759;color:#ffb3b3}.app-menu-bar{position:static;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;z-index:5}.app-menu-button{min-width:110px;padding:.5rem .9rem;font-size:.95rem;font-weight:600;border-radius:9999px}.app-menu-icon{display:none;flex-direction:column;justify-content:center;gap:.22rem}.app-menu-icon span{display:block;width:18px;height:2px;border-radius:999px;background:currentColor}@media(max-width:800px){.app-menu-button{min-width:auto;padding:.45rem .65rem;border:none;box-shadow:none!important;transition:none}.app-menu-button:hover:not(:disabled){box-shadow:none!important;transform:none}.app-menu-button:focus-visible{box-shadow:none!important}.app-menu-button--open{box-shadow:none!important}.app-menu-button:active{box-shadow:none!important;transform:none}.app-menu-label{display:none}.app-menu-icon{display:flex}}.app-menu-button--open{box-shadow:inset 3px 3px 6px #0d0e11d9,inset -3px -3px 6px #4d525d80}.app-menu-dropdown{position:absolute;top:calc(100% + .75rem);right:0;min-width:220px;background:#202228f2;border-radius:1rem;padding:.75rem 1rem;box-shadow:0 10px 25px #00000059;display:flex;flex-direction:column;gap:.75rem}.app-menu-header{border-bottom:1px solid rgba(242,244,247,.12);padding-bottom:.5rem;margin-bottom:.25rem}.app-menu-text{font-size:.85rem;color:#f2f4f7d9}.app-menu-item{background:none;border:none;color:#f2f4f7;font:inherit;text-align:left;padding:.45rem .25rem;border-radius:.5rem;cursor:pointer;transition:background .2s ease}.app-menu-item:hover,.app-menu-item:focus-visible{background:#25ed7514;outline:none}.heat-mode-button-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%;gap:.75rem}.heat-mode-button{width:100%;padding:.6rem .9rem;border:none;border-radius:9999px;background:#30333ab3;color:#f2f4f7;box-shadow:3px 3px 5px #131417,-3px -3px 5px #4d525d;font:inherit;font-size:.9rem;cursor:pointer;transition:box-shadow .2s ease,transform .15s ease}.heat-mode-button-icon{width:1.25rem;height:1.25rem}.heat-mode-button:hover,.heat-mode-button:focus-visible{outline:none;box-shadow:inset 3px 3px 5px #131417,inset -3px -3px 5px #4d525d}.heat-mode-button--active{box-shadow:inset 3px 3px 6px #131417,inset -3px -3px 6px #4d525d;color:#25ed27}@keyframes pre-style-flash{0%,40%,to{color:inherit}45%,55%{color:#25ed27}60%{color:inherit}}.pre-style-flash,.pre-style-flash *{animation:pre-style-flash var(--pre-style-cycle, 2.5s) ease-in-out infinite;animation-delay:var(--pre-style-delay, 0s)}.sign-out-button,.sign-in-button{padding:.35rem .85rem;font-size:.8rem}.admin-library-link{font-size:.8rem;padding:.35rem .85rem;text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center}
