/* Approved practice layout, retaining existing branding and real controls. */
.practice-navigation{display:flex;gap:8px;overflow-x:auto;margin:0 0 28px;scrollbar-width:thin}.practice-navigation button,.practice-navigation a,.practice-tools button,.practice-tools select,.practice-tools input,.practice-mix button,.practice-mix select{font:500 13px 'Archivo',sans-serif;color:#fff;background:#1a1a1a;border:1px solid #303030;border-radius:7px;min-height:44px;padding:10px 12px}.practice-navigation a{display:flex;align-items:center;text-decoration:none;white-space:nowrap}.practice-navigation button{white-space:nowrap;cursor:pointer}.practice-navigation button:hover,.practice-actions button:hover{border-color:#2dd4bf}.practice-loaded .app{max-width:1200px}.practice-loaded .header{display:none}.practice-loaded:not(.practice-show-upload) #uploadWorkspace{display:none}.practice-show-upload #uploadWorkspace{max-width:700px;margin:0 auto 30px}#uploadWorkspace{scroll-margin-top:100px}.practice-song-title{font:700 28px 'Montserrat',sans-serif;color:#fff;margin:0 0 20px;overflow-wrap:anywhere}.practice-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}.practice-overview{grid-column:1;grid-row:1;min-width:0}.practice-tools{grid-column:1;grid-row:2}.practice-mix{grid-column:2;grid-row:1 / span 2;min-width:0}.practice-tools,.practice-mix{background:#161616;border:1px solid #292929;border-radius:12px;padding:20px}.practice-grid h3{font:600 18px 'Montserrat',sans-serif;margin:0 0 16px}.practice-note{font-size:12px;color:#a0a0a0;line-height:1.65;margin:12px 0 20px}.practice-loop-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.practice-loop-fields label{font-size:12px;color:#aaa;min-width:0}.practice-loop-fields input{width:100%;margin-top:6px}.practice-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.practice-actions button{flex:1;cursor:pointer}.practice-rate,.practice-instrument{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.practice-rate select,.practice-instrument select{min-width:0;max-width:65%}.practice-save{display:flex;align-items:center;gap:8px;font:11px 'Space Mono',monospace;color:#5eead4}.practice-save button{font-size:12px}#practiceLoopError{color:#fca5a5;font-size:12px;margin-top:10px}.practice-mobile-tabs{display:none}.practice-dock{position:fixed;bottom:0;left:0;right:0;z-index:80;background:rgba(11,15,18,.96);border-top:1px solid #2dd4bf40;padding:14px max(20px,calc((100vw - 1120px)/2)) calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;backdrop-filter:blur(12px)}.practice-dock[hidden]{display:none}.practice-dock-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 13px 'Montserrat',sans-serif}.practice-dock .transport-btn{width:44px;height:44px;flex-shrink:0}.practice-dock #playBtn{width:56px;height:56px;background:#2dd4bf;color:#0a0a0a;border:0}.practice-loaded{padding-bottom:110px}.practice-loaded .mixer-section{padding:24px}.practice-loaded .channel-row-top{flex-wrap:wrap;gap:8px}.practice-loaded .channel-label{flex:1;min-width:90px}.practice-loaded .channel-solo,.practice-loaded .channel-mute{width:44px;height:44px;font-size:11px}.practice-loaded .channel-fader{flex-basis:calc(100% - 56px);order:4}.practice-loaded .channel-download{min-width:44px;min-height:44px;order:5;display:flex;align-items:center;justify-content:center}.practice-loaded .channel-volume{min-height:44px}.practice-overview .meter-strip{flex-wrap:wrap;gap:10px}.practice-overview .meter-bars{min-width:120px}.practice-overview .meter-bar-track{height:6px}.practice-overview .waveform-container{margin-top:0}.practice-loaded #downloadHeader{padding:20px;background:#111;border:1px solid #292929;border-radius:12px}.practice-loaded .seo-content{max-width:800px;margin-inline:auto}.practice-loaded .share-btn{min-height:44px;font-size:12px}.practice-loaded .hero-photo::before{animation:none}.practice-navigation :focus-visible,.practice-grid :focus-visible,.practice-dock :focus-visible{outline:2px solid #2dd4bf;outline-offset:3px}.practice-grid button:disabled{opacity:.45;cursor:not-allowed}.practice-tools[hidden],.practice-mix[hidden]{display:none!important}
@media(max-width:760px){.practice-loaded .app{padding-inline:16px}.practice-navigation{gap:5px}.practice-navigation button,.practice-navigation a{font-size:12px;padding:8px 10px}.practice-loaded .mixer-section{padding:16px}.practice-song-title{font-size:23px}.practice-grid{display:flex;flex-direction:column;gap:16px}.practice-overview,.practice-tools,.practice-mix{width:100%}.practice-tools,.practice-mix{padding:16px}.practice-mobile-tabs{display:flex;width:100%;padding:4px;background:#111;border:1px solid #303030;border-radius:9px}.practice-mobile-tabs button{flex:1;min-height:44px;border:0;background:transparent;color:#aaa;font:500 14px 'Archivo',sans-serif;border-radius:6px}.practice-mobile-tabs button[aria-selected=true]{background:#2dd4bf15;color:#5eead4;box-shadow:inset 0 0 0 1px #2dd4bf45}.practice-dock{gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex-wrap:wrap}.practice-dock-title{flex-basis:calc(100% - 70px);font-size:12px}.practice-dock .mixer-time{order:0}.practice-dock #playBtn{margin-left:auto}.practice-dock #speedBtn{margin-right:auto}.practice-loaded{padding-bottom:140px}.practice-overview .master-volume{flex:1}.practice-rate{align-items:flex-start;flex-direction:column}.practice-rate select{max-width:100%;width:100%}.practice-loaded .history-panel{max-width:calc(100vw - 32px)}.practice-loaded .channel-row-top{grid-template-columns:none}.practice-loaded .channel-fader{min-width:0}}
.practice-loaded input.channel-volume{appearance:none;-webkit-appearance:none;background:transparent;height:44px;min-height:44px}.practice-loaded input.channel-volume::-webkit-slider-runnable-track{height:4px;background:#383838;border-radius:2px}.practice-loaded input.channel-volume::-webkit-slider-thumb{margin-top:-5px}.practice-loaded input.channel-volume::-moz-range-track{height:4px;background:#383838;border-radius:2px}#practiceFaq{scroll-margin-top:85px}

/* Shared outline navigation icons; keep labels and a familiar ampersand. */
.practice-navigation {gap:8px}
.practice-navigation button,.practice-navigation a {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 16px;border-radius:10px;font-weight:500;line-height:1.2}
.practice-navigation .nav-icon {width:18px;height:18px;flex-shrink:0;opacity:.8}
.practice-navigation button:hover .nav-icon,.practice-navigation [aria-current=page] .nav-icon {opacity:1}
.practice-navigation .nav-amp {font-family:Arial,Helvetica,sans-serif;font-weight:400}
@media(max-width:760px){.practice-navigation button,.practice-navigation a{gap:7px;padding:10px 12px;font-size:12px}.practice-navigation .nav-icon{width:16px;height:16px}}
/* Keep the mix adjacent to the waveform, with compact horizontal channels. */
.practice-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:12px 20px}.practice-tools{grid-column:2;grid-row:1 / span 2}.practice-mix{grid-column:1;grid-row:2;padding:16px}.practice-mix #channelStrips{display:block;margin-top:12px}.practice-loaded .practice-mix .channel-strip{position:relative;padding:4px 0 14px;margin:0;border:0;border-top:1px solid #303030;border-radius:0;background:transparent;width:100%}.practice-loaded .practice-mix .channel-row-top{display:grid;grid-template-columns:80px auto minmax(0,1fr) 44px;gap:6px;align-items:center}.practice-loaded .practice-mix .channel-label{min-width:0;font-size:11px;overflow:hidden}.practice-loaded .practice-mix .channel-label .channel-icon{display:none}.practice-loaded .practice-mix .channel-controls{gap:4px}.practice-loaded .practice-mix .channel-fader{order:0;min-width:0;gap:6px}.practice-loaded .practice-mix .channel-download{order:0}.practice-loaded .practice-mix input.channel-volume{width:100%;min-width:0;flex:1;margin:0}.practice-loaded .practice-mix .channel-db{font:10px 'Space Mono',monospace;min-width:36px}.practice-mix .stem-waveform-wrap{display:none}.practice-mix.show-channel-waves .stem-waveform-wrap{display:block;margin-bottom:12px}.practice-wave-toggle{margin-top:8px;color:#aaa!important;font-size:11px!important}.stem-level{position:absolute;bottom:7px;left:180px;right:50px;height:6px;display:flex;align-items:center;gap:8px}.stem-level-track{height:3px;flex:1;background:#292929;border-radius:3px;overflow:hidden}.stem-level-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#2dd4bf 80%,#eab308 94%,#ef4444);transform:scaleX(var(--level,0));transform-origin:left}.stem-level-value{font:8px 'Space Mono',monospace;color:#999;min-width:30px;text-align:right}.stem-level.near-clip .stem-level-value{color:#f5c451}.practice-mix h3{margin-bottom:12px}.practice-mix .practice-note{margin:8px 0 12px}
@media(max-width:1000px){.practice-loaded .practice-mix .channel-row-top{grid-template-columns:minmax(0,1fr) auto 44px}.practice-loaded .practice-mix .channel-fader{grid-column:1 / -1;grid-row:2}.practice-loaded .practice-mix .channel-download{grid-column:3;grid-row:1}.stem-level{left:0;right:0}}
@media(max-width:760px){.practice-grid{gap:12px}.practice-loaded .practice-mix .channel-label{font-size:12px}.practice-loaded .practice-mix .channel-strip{padding-bottom:14px}}

/* Console faders: recessed rail, engraved scale and metal cap. Native range semantics retained. */
:is(.practice-loaded .practice-mix input.channel-volume,.practice-shell #masterVolume){appearance:none;-webkit-appearance:none;height:44px;min-height:44px;border:0;border-radius:0;padding:0;cursor:ew-resize;background:repeating-linear-gradient(90deg,#ffffff26 0 1px,transparent 1px 10%) center 34px / calc(100% - 20px) 4px no-repeat;}
:is(.practice-loaded .practice-mix input.channel-volume,.practice-shell #masterVolume)::-webkit-slider-runnable-track{height:5px;border:1px solid #050505;border-radius:3px;background:#070909;box-shadow:0 1px 0 #ffffff14,inset 0 1px 3px #000;}
:is(.practice-loaded .practice-mix input.channel-volume,.practice-shell #masterVolume)::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:28px;margin-top:-12px;border:1px solid #070909;border-radius:3px;background:linear-gradient(90deg,transparent 44%,#303638 45% 52%,#ecf0ed 53% 57%,transparent 58%),linear-gradient(90deg,#757e80,#d9dedd 18%,#b3bcbb 48%,#919b9b 83%,#596365);box-shadow:inset 0 1px 0 #fff9,inset 0 -2px 1px #0005,0 2px 4px #000b;}
:is(.practice-loaded .practice-mix input.channel-volume,.practice-shell #masterVolume)::-moz-range-track{height:3px;border:1px solid #050505;border-radius:3px;background:#070909;box-shadow:0 1px 0 #ffffff14,inset 0 1px 3px #000;}
:is(.practice-loaded .practice-mix input.channel-volume,.practice-shell #masterVolume)::-moz-range-progress{height:3px;background:#070909;}
:is(.practice-loaded .practice-mix input.channel-volume,.practice-shell #masterVolume)::-moz-range-thumb{width:18px;height:26px;border:1px solid #070909;border-radius:3px;background:linear-gradient(90deg,transparent 44%,#303638 45% 52%,#ecf0ed 53% 57%,transparent 58%),linear-gradient(90deg,#757e80,#d9dedd 18%,#b3bcbb 48%,#919b9b 83%,#596365);box-shadow:inset 0 1px 0 #fff9,inset 0 -2px 1px #0005,0 2px 4px #000b;}
:is(.practice-loaded .practice-mix input.channel-volume,.practice-shell #masterVolume):focus-visible{outline:2px solid #2dd4bf;outline-offset:2px;border-radius:4px;}
.practice-loaded .practice-mix .channel-solo,.practice-loaded .practice-mix .channel-mute{border-color:#353b3a;border-radius:4px;background:linear-gradient(#242929,#171b1b);box-shadow:inset 0 1px 0 #ffffff08;font-family:'Space Mono',monospace;color:#aeb8b5}.practice-loaded .practice-mix .channel-label{color:#d5dad9}.practice-loaded .practice-mix .channel-solo.active,.practice-loaded .practice-mix .channel-mute.active{background:#183c35;border-color:#398b79;color:#81e9d3}
/* Expanded waveform sits above its channel's fader. */
.practice-loaded .practice-mix.show-channel-waves .channel-strip{display:flex;flex-direction:column}
.practice-mix.show-channel-waves .stem-waveform-wrap{order:-1;margin:4px 0 6px}
/* Practice below the timeline, compact mixer in the right column. */
@media(min-width:761px){.practice-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px 20px}.practice-overview{grid-column:1;grid-row:1}.practice-tools{grid-column:1;grid-row:2}.practice-mix{grid-column:2;grid-row:1 / span 2}.practice-loaded .practice-mix .channel-row-top{grid-template-columns:minmax(0,1fr) auto 44px;gap:2px 6px}.practice-loaded .practice-mix .channel-fader{grid-column:1 / -1;grid-row:2}.practice-loaded .practice-mix .channel-download{grid-column:3;grid-row:1}.practice-mix .stem-level{left:0;right:0}}

.practice-site-activity{margin:-14px 0 22px;text-align:center;font:11px/1.5 'Space Mono',monospace;letter-spacing:.04em;color:#8faaa4}.practice-site-activity #splitCountStat{color:#b9cbc6;font-variant-numeric:tabular-nums}
@media(max-width:760px){.practice-site-activity{font-size:10px;margin:-12px 0 16px}}
/* The approved page shell is present before a song is loaded, too. */
body.practice-shell .app{max-width:1240px;padding:0 32px 36px;text-align:left}
.practice-shell .header{display:none}.practice-shell #accountBar{position:relative;inset:auto;background:transparent;backdrop-filter:none;margin:0 0 14px}.practice-shell .app-bar-inner{max-width:none;padding:22px 0;min-height:88px}.practice-shell .app-bar-brand svg{width:34px;height:34px}.practice-shell .app-bar-brand{cursor:pointer}.practice-shell .app-bar-brandname{display:block!important;font-size:28px}.practice-shell .app-bar-brandname b{background:linear-gradient(110deg,#5eead4,#2dd4bf);background-clip:text;-webkit-background-clip:text;color:transparent}.practice-shell .practice-navigation{margin-bottom:24px;justify-content:flex-start}.practice-shell .practice-site-activity{text-align:right;margin:-8px 0 24px}.practice-shell .account-signin-link{min-height:44px;padding:10px 16px;border:1px solid #2dd4bf40;border-radius:7px}.practice-shell .hero-photo{height:650px}.practice-shell .practice-welcome{padding:48px 0 64px;max-width:800px}.shell-eyebrow{font:10px 'Space Mono',monospace;color:#5eead4;letter-spacing:.14em}.practice-shell h1{font:700 36px/1.2 'Montserrat',sans-serif;color:#fff;margin:18px 0 12px;letter-spacing:-.03em}.practice-welcome>p,.shell-page-heading p{color:#a3afaa;font:15px/1.65 'Archivo',sans-serif;max-width:660px}.shell-actions{display:flex;gap:10px;margin:26px 0}.shell-actions button,.shell-library-guest button,.shell-plan-action{padding:12px 18px;min-height:44px;border:1px solid #34423e;border-radius:7px;background:#171d1b;color:#e3eeea;cursor:pointer;font:500 13px 'Archivo',sans-serif}.shell-actions button:first-child{background:#2dd4bf;color:#071512;border-color:#2dd4bf}.practice-welcome .shell-secondary{font-size:12px}.shell-page-heading{margin:32px 0 24px}.practice-shell #uploadWorkspace{max-width:740px;margin:0;scroll-margin-top:12px}.practice-shell .drop-zone{padding:38px 20px}.practice-shell .signin-prompt{max-width:640px;margin:20px auto}.practice-shell .signin-slim{max-width:740px}.practice-shell[data-practice-page=room]:not(.practice-loaded) #uploadWorkspace,.practice-shell:not([data-practice-page=upload]) #uploadWorkspace{display:none!important}.practice-shell[data-practice-page=upload] #uploadWorkspace{display:block!important}.practice-shell:not([data-practice-page=room]) #resultsArea{display:none!important}.practice-shell .seo-content{display:none}.practice-shell .shell-help .faq-section{margin-top:20px}.practice-shell .history-panel{position:static;inset:auto;width:100%;max-width:none;max-height:none;margin:0;background:#111;border:1px solid #303030;box-shadow:none}.practice-shell[data-practice-page=history] .history-panel:not(.shell-signed-out){display:block!important}.practice-shell .history-panel.shell-signed-out{display:none!important}.practice-shell .history-list{max-height:none}.practice-shell .history-item{padding:18px;min-height:72px}.practice-shell .history-item-name{font:600 15px 'Montserrat',sans-serif}.practice-shell .history-item-meta{font-size:12px;margin-top:6px}.practice-shell .mixer-section{border:0;background:transparent;padding:0;box-shadow:none}.practice-shell .mixer-header{justify-content:flex-end;margin-bottom:12px}.practice-shell .mixer-title{font-size:0}.practice-shell .mixer-badge{display:none}.practice-shell .share-btn{font-size:12px}.practice-shell .practice-overview{padding:18px 22px;border:1px solid #292929;background:#111;border-radius:12px}.practice-shell .practice-save{justify-content:flex-end;min-height:20px;margin-bottom:12px}.practice-shell .shell-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.shell-plan-grid article{padding:24px;border:1px solid #303030;background:#111;border-radius:12px}.shell-plan-grid h2{font:600 20px 'Montserrat',sans-serif}.shell-plan-grid strong{font:600 25px 'Montserrat',sans-serif;color:#5eead4}.shell-plan-grid small{font-size:12px}.shell-plan-grid p{font:13px/1.65 'Archivo',sans-serif;color:#a3afaa}.shell-plan-action{margin-top:20px}.shell-plan-action:disabled{opacity:.65;cursor:default}.practice-shell section[hidden]{display:none!important}.practice-shell :focus-visible{outline:2px solid #2dd4bf;outline-offset:3px}
@media(max-width:760px){body.practice-shell .app{padding:0 16px 28px}.practice-shell .app-bar-inner{padding:16px 0;min-height:70px;gap:8px}.practice-shell .app-bar-brandname{font-size:21px}.practice-shell .app-bar-brand svg{width:26px;height:26px}.practice-shell .app-bar-right{gap:6px}.practice-shell .practice-site-activity{font-size:10px;margin-bottom:16px}.practice-shell h1{font-size:28px}.practice-shell .practice-welcome{padding:28px 0}.shell-actions{flex-wrap:wrap}.practice-shell .shell-plan-grid{grid-template-columns:1fr}.practice-shell .practice-overview{padding:14px}.practice-shell .practice-navigation{gap:6px}.practice-shell .practice-navigation a,.practice-shell .practice-navigation button{flex-shrink:0}.practice-shell .practice-dock{z-index:1100}}

@media(min-width:761px){.practice-grid{grid-template-rows:min-content 1fr}}
@media(min-width:1100px){.practice-loaded .practice-mix .channel-row-top{grid-template-columns:66px auto minmax(90px,1fr) 44px;gap:6px}.practice-loaded .practice-mix .channel-fader,.practice-loaded .practice-mix .channel-download{grid-column:auto;grid-row:auto}.practice-mix .stem-level{left:170px;right:44px}}
.practice-shell .account-signin-link{color:#d5e7e1;background:#111916}.practice-shell .signin-slim-text{color:#a3b2ad}.practice-shell .signin-slim-text strong{color:#edf4f1}

/* Carry the full-page concept's card hierarchy into the connected app. */
.practice-shell .shell-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:960px}
.shell-plan-grid article{padding:30px;display:flex;flex-direction:column;align-items:flex-start;background:#111e}
.shell-plan-grid h2{font-size:25px;margin:18px 0}.shell-plan-grid .shell-price{font:600 38px 'Montserrat',sans-serif;color:#fff}.shell-price small{font:13px 'Archivo',sans-serif;color:#a9b3af}
.shell-plan-grid ul{padding:18px 0 24px;margin:0;list-style:none;color:#cad2ce;font:14px/1.6 'Archivo',sans-serif;flex:1}.shell-plan-grid li{padding:7px 0 7px 24px;position:relative}.shell-plan-grid li:before{content:'✓';position:absolute;left:0;color:#5eead4}
.shell-plan-grid .shell-plan-pro{border-color:#d4a84b80;background:linear-gradient(145deg,#241f16,#111 60%)}.shell-plan-badge{font:11px 'Space Mono',monospace;letter-spacing:.12em;color:#e6c780;border:1px solid #d4a84b55;padding:5px 9px;border-radius:4px}.shell-plan-pro li:before{color:#e6c780}
.shell-plan-start,.shell-plan-action{font:500 13px 'Archivo',sans-serif;min-height:46px;padding:12px 18px;border:1px solid #3b4b45;background:#19221e;color:#e7eee9;border-radius:7px;cursor:pointer}.shell-plan-grid button{width:100%;margin-top:0}.shell-plan-pro .shell-plan-action{background:#d4a84b;color:#211b10;border-color:#d4a84b}.shell-plan-action:disabled{opacity:1;background:#27251f;color:#c3b99e;border-color:#494234;cursor:default}
.shell-credit-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;max-width:960px;padding:26px 30px;border:1px solid #303630;border-radius:12px;background:#111e}.shell-credit-card h2{font:600 20px 'Montserrat',sans-serif;margin:10px 0}.shell-credit-card p{color:#abb7b0;font-size:13px;line-height:1.7}.shell-credit-card button{margin:0;flex-shrink:0}
.practice-shell .shell-help #practiceFaq{margin:0;padding:0;border:0;max-width:none}.shell-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.shell-faq-card{background:#111e;border:1px solid #303330;border-radius:12px;padding:26px}.shell-faq-card:first-child{grid-row:span 2}.shell-faq-card h2{font:600 20px 'Montserrat',sans-serif;color:#fff;margin:0 0 18px}.shell-faq-card details{border-top:1px solid #2b302c}.shell-faq-card summary{cursor:pointer;min-height:52px;padding:16px 26px 16px 0;position:relative;list-style:none;font:500 14px/1.5 'Archivo',sans-serif;color:#e2e9e4}.shell-faq-card summary::-webkit-details-marker{display:none}.shell-faq-card summary:after{content:'⌄';position:absolute;right:0;top:16px;color:#94aba0}.shell-faq-card details[open] summary{color:#5eead4}.shell-faq-card details[open] summary:after{transform:rotate(180deg)}.shell-faq-answer{padding:0 0 16px}.shell-faq-answer p{font:13px/1.8 'Archivo',sans-serif;color:#afbdb5;margin:0 0 8px}.shell-faq-answer a{color:#5eead4}
@media(max-width:760px){.practice-shell .shell-plan-grid,.shell-faq-grid{grid-template-columns:1fr}.shell-plan-grid article,.shell-faq-card{padding:22px}.shell-credit-card{padding:22px;flex-direction:column;align-items:stretch}.shell-faq-card:first-child{grid-row:auto}.shell-plan-grid .shell-price{font-size:34px}}

/* Authentication is an interruption the user can dismiss, not a page section. */
.shell-auth-dialog{position:fixed;inset:0;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:0;border:1px solid #3c4943;border-radius:16px;background:#141917;color:#f0f4f1;box-shadow:0 24px 90px #0009}
.shell-auth-dialog::backdrop{background:#050907b8;backdrop-filter:blur(5px)}
.shell-auth-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#bbc9c1;font:28px 'Archivo',sans-serif;cursor:pointer;z-index:1}.shell-auth-close:hover{background:#ffffff0c;color:#fff}
.practice-shell .shell-auth-dialog .signin-prompt{margin:0;max-width:none}
.shell-auth-dialog .signin-card{margin:0;padding:36px 30px 28px;background:transparent;border:0;border-radius:0;text-align:left;box-shadow:none}
.shell-auth-dialog .signin-logo{margin:0 0 18px;text-align:left}.shell-auth-dialog .signin-logo svg{width:30px;height:30px}
.shell-auth-dialog .signin-title{font:600 23px/1.3 'Montserrat',sans-serif;margin:0 20px 10px 0;letter-spacing:-.025em;color:#fff}
.shell-auth-dialog .signin-subtitle{font:14px/1.6 'Archivo',sans-serif;margin:0 0 24px;color:#b7c5bd}
.shell-auth-dialog .signin-form-inner{max-width:none;margin:0;width:100%}.shell-auth-dialog .google-signin-btn{width:100%;min-height:48px;border-radius:8px}
.shell-auth-dialog .signin-divider{margin:18px 0;color:#95a69c}.shell-auth-dialog .shell-auth-label{display:block;font:500 12px 'Archivo',sans-serif;color:#c8d6ce;margin-bottom:8px}
.shell-auth-dialog .magic-link-input{background:#0d120f;border:1px solid #52665b;border-radius:8px;color:#fff;min-height:48px;font-size:16px;width:100%}.shell-auth-dialog .magic-link-input::placeholder{color:#8faaa0}
.shell-auth-dialog .magic-link-btn{min-height:48px;border-radius:8px;margin-top:10px}.shell-auth-dialog .signin-footer{font:12px/1.6 'Archivo',sans-serif;color:#a7b9ae;text-align:center;margin:18px 0 0}.shell-auth-dialog .magic-link-status{margin-top:10px;font-size:13px;line-height:1.6}
.practice-shell #signinSlim{display:none!important}
@media(max-width:480px){.shell-auth-dialog .signin-card{padding:30px 22px 24px}.shell-auth-dialog .signin-title{font-size:21px}}

/* A compact song intake followed by outcome-led separation choices. */
.practice-shell #uploadWorkspace{max-width:1120px}.practice-shell #uploadWorkspace>.section-label{margin:24px 0 12px;color:#b4c6bd;font:11px 'Space Mono',monospace;letter-spacing:.08em}
.practice-shell #uploadWorkspace .drop-zone{padding:22px 26px;text-align:left;border:1px dashed #527064;background:#101713d9;border-radius:12px;min-height:128px}.practice-shell .drop-zone-content{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:18px;align-items:center}.practice-shell .drop-icon{grid-row:1 / span 3;margin:0;width:44px;height:44px}.practice-shell .drop-text{font:500 17px 'Archivo',sans-serif}.practice-shell .drop-formats{margin-top:8px;color:#9faea6;font:11px/1.7 'Archivo',sans-serif}.practice-shell .file-info{grid-column:2;max-width:100%;overflow-wrap:anywhere}
.practice-shell #modelCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.practice-shell #modelCards .model-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:24px 20px 20px;margin:0;border-radius:12px;background:#131715;border:1px solid #39413c;min-height:252px;cursor:pointer}.practice-shell #modelCards .model-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-right:12px;margin-bottom:12px}.shell-model-title{display:block;width:100%;font:600 19px/1.4 'Montserrat',sans-serif;color:#f0f5f2;margin-bottom:6px}.practice-shell #modelCards .model-tag{margin:0;font-size:9px}.practice-shell #modelCards .model-desc{font:14px/1.65 'Archivo',sans-serif;color:#bec9c2}.shell-model-technical{font:10px 'Space Mono',monospace;color:#92a399;margin:14px 0}.shell-model-parts{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.shell-model-parts span{font:11px 'Archivo',sans-serif;color:#c3d0c8;background:#ffffff06;border:1px solid #ffffff12;border-radius:4px;padding:5px 7px}.practice-shell #modelCards .model-card.selected{border-color:#2dd4bf;background:linear-gradient(145deg,#173029,#131715 80%);box-shadow:inset 0 0 0 1px #2dd4bf30}.practice-shell #modelCards .model-card[data-model=full]{background:linear-gradient(145deg,#292317,#151613 80%);border-color:#8d703d}.practice-shell #modelCards .model-card[data-model=full].selected{border-color:#e6c780;box-shadow:inset 0 0 0 1px #d4a84b60}.practice-shell #modelCards .model-card[data-model=full] .shell-model-title{color:#ead6a8}.practice-shell #modelCards .model-card:focus-within{outline:2px solid #e0eee6;outline-offset:3px}.practice-shell #uploadWorkspace .process-btn{max-width:none;margin-top:20px;border-radius:8px;min-height:52px}.shell-split-note{text-align:center;color:#a0b2a7;font:12px/1.7 'Archivo',sans-serif;margin:12px 0 0}
@media(max-width:760px){.practice-shell #modelCards{grid-template-columns:1fr}.practice-shell #modelCards .model-card{min-height:0;padding:20px}.shell-model-parts{margin-top:0}.practice-shell #uploadWorkspace .drop-zone{padding:20px 16px}.practice-shell .drop-text{font-size:15px}.practice-shell .drop-zone-content{column-gap:12px}}

/* Centre the upload content as a group within the drop area. */
.practice-shell #uploadWorkspace .drop-zone{display:flex;align-items:center}
.practice-shell #uploadWorkspace .drop-zone-content{width:100%}

/* Keep the library sign-in action separate from the explanatory sentence. */
.shell-library-guest{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;line-height:1.5}
.shell-library-guest button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;margin:0;padding:10px 20px;line-height:1.2}

/* One reading column, with a separate topic menu. */
.shell-faq-grid{grid-template-columns:220px minmax(0,1fr);gap:28px;max-width:1040px}
.shell-faq-topics{display:flex;flex-direction:column;gap:6px;padding:4px 0}
.shell-faq-topics button{font:500 14px/1.5 'Archivo',sans-serif;text-align:left;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:8px;color:#b4c4ba;background:transparent;cursor:pointer}
.shell-faq-topics button:hover{background:#ffffff08;color:#fff}.shell-faq-topics button[aria-current=true]{background:#163129;color:#80e3ca;border-color:#376354}
.shell-faq-grid .shell-faq-card{grid-column:2;grid-row:1;padding:28px 30px;min-width:0}.shell-faq-grid .shell-faq-card:first-child{grid-row:1}.shell-faq-grid .shell-faq-card[hidden]{display:none!important}
@media(max-width:760px){.shell-faq-grid{grid-template-columns:minmax(0,1fr);gap:16px}.shell-faq-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.shell-faq-topics button{font-size:12px;padding:10px 12px}.shell-faq-grid .shell-faq-card{grid-column:1;grid-row:auto;padding:22px}}

/* Approved full-width output and large practice controls. */
.practice-shell .practice-overview #meterStrip{display:grid!important;grid-template-columns:1fr auto;gap:8px 12px;padding:12px;margin:12px 0;background:#1a1c1b;border:1px solid #303330;border-radius:7px}
.practice-overview .meter-label{grid-column:1;grid-row:1}.practice-overview .meter-db{grid-column:2;grid-row:1}.practice-overview .meter-bars{grid-column:1 / -1;grid-row:2;width:100%}.practice-master-row{grid-column:1 / -1;display:flex;align-items:center;gap:12px;font:10px 'Space Mono',monospace;color:#b0bcb5}.practice-master-row #masterVolume{flex:1;min-width:0;width:auto}.practice-master-row #masterDb{min-width:42px;text-align:right}.practice-timeline-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font:12px 'Space Mono',monospace}.practice-timeline-footer button{border:1px solid #3c6659;border-radius:24px;min-height:44px;padding:10px 18px;background:#172720;color:#d8e8df;cursor:pointer}.practice-timeline-footer button[aria-pressed=true]{background:#2dd4bf;color:#071512;border-color:#2dd4bf}.practice-shell .practice-save{align-items:center;gap:12px}.practice-timeline-label{margin-right:auto;color:#a8c6b8;font:11px 'Space Mono',monospace}
.practice-pace-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 24px}.practice-pace-card{padding:20px 16px;background:#171918;border:1px solid #303632;border-radius:9px;min-width:0}.pace-heading{display:flex;align-items:center;justify-content:space-between;font:14px 'Archivo',sans-serif;gap:8px}.pace-heading button{border:0;background:transparent;color:#5eead4;font-size:11px;padding:8px;cursor:pointer}.pace-value{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0}.pace-value output{font:600 36px 'Montserrat',sans-serif;white-space:nowrap}.pace-value small{font:14px 'Archivo',sans-serif;color:#acb8b0;margin-left:3px}.pace-value button{min-width:44px;height:44px;border:1px solid #353e38;background:#1c201d;color:#e5eee8;border-radius:6px;font-size:24px;cursor:pointer}.pace-value button:disabled{opacity:.4;cursor:default}.practice-pace-card input{width:100%;accent-color:#2dd4bf;min-height:28px}.practice-pace-card p{font:11px/1.6 'Archivo',sans-serif;color:#aab9af;text-align:center;margin:14px 0 0}.pace-pending{font:9px 'Space Mono',monospace;color:#d4b56d}.practice-loop-editor{border:1px solid #323b35;border-radius:8px;padding:0 14px;margin:12px 0}.practice-loop-editor summary{padding:14px 0;cursor:pointer;color:#bed2c6;font-size:13px}.practice-loop-editor .practice-actions{padding-bottom:12px}.practice-tools [hidden]{display:none!important}
@media(max-width:400px){.practice-pace-cards{gap:8px}.practice-pace-card{padding:14px 8px}.pace-value{gap:3px}.pace-value output{font-size:26px}.pace-value button{min-width:36px}.pace-heading{font-size:12px}}

.practice-overview .meter-label,.practice-overview .meter-bar-ch,.practice-overview .meter-db{color:#aebcb3}.practice-overview .meter-bar-track{background:#323a35}.pace-heading{min-height:36px}

.practice-gold-frame{display:block;width:100%;height:100dvh;border:0;background:#0a0a0a}.practice-gold-frame[hidden]{display:none}.gold-room-visible>.app>*:not(.seo-content),.gold-room-visible>footer,.gold-room-visible>.practice-dock{display:none!important}.gold-room-visible{padding:0!important;overflow:hidden}
/* The crawlable homepage copy stays rendered (not display:none) beneath the fixed practice frame, so search and answer engines that execute JavaScript still see it as visible content. Users read the same copy inside the frame's upload view. */
.gold-room-visible>.app{display:block!important;padding:0;margin:0;max-width:none}.gold-room-visible .seo-content{display:block!important;position:absolute;top:0;left:0;width:100%;max-width:none;margin:0;padding:24px;z-index:0;pointer-events:none}

.gold-room-visible>.hero-photo{display:none}.practice-gold-frame{position:fixed;inset:0;z-index:1;height:100dvh}
