#wr71ProducerDecisions[hidden]{display:none!important}
.profile-card.profile-hiphop{display:none!important}
.app-body{background:#07110f;color:#f4fff8}.master-app-shell{padding:150px 6vw 90px;min-height:100vh;background:radial-gradient(circle at 16% 8%,rgba(98,255,179,.18),transparent 30%),radial-gradient(circle at 88% 16%,rgba(136,94,255,.20),transparent 34%),linear-gradient(180deg,#0c2a23 0,#0c1718 30%,#080b0e 100%)}
.app-intro{max-width:1320px;margin:0 auto 48px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:60px;align-items:end}.app-intro h1{font-size:clamp(56px,8vw,118px);line-height:.88;letter-spacing:-6px;margin:14px 0 28px}.app-intro h1 em{font-style:normal;background:linear-gradient(90deg,var(--neon),var(--cyan),var(--purple));-webkit-background-clip:text;color:transparent}.app-lead{max-width:750px;color:rgba(246,255,250,.72);font-size:18px;line-height:1.65}.prototype-note{display:flex;gap:14px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.07);backdrop-filter:blur(18px);box-shadow:0 26px 70px rgba(0,0,0,.25)}.prototype-note p{margin:5px 0 0;color:rgba(255,255,255,.62);font-size:13px;line-height:1.5}.live-dot{width:11px;height:11px;border-radius:50%;background:var(--neon);box-shadow:0 0 20px var(--neon);margin-top:5px;flex:none}
.app-workspace{max-width:1180px;margin:auto;border:1px solid rgba(255,255,255,.14);border-radius:34px;background:linear-gradient(145deg,rgba(17,31,31,.9),rgba(20,19,38,.9));box-shadow:0 45px 130px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.12);overflow:hidden}.app-steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.step{appearance:none;border:0;background:none;color:rgba(255,255,255,.38);padding:20px;display:flex;justify-content:center;align-items:center;gap:10px;font:inherit;cursor:pointer}.step span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.18);font-size:12px}.step.active{color:#fff;background:rgba(255,255,255,.045)}.step.active span{background:var(--neon);color:#0c241c;border-color:var(--neon);box-shadow:0 0 20px rgba(153,255,107,.26)}.app-panel{display:none;padding:50px}.app-panel.active{display:block;animation:panelIn .35s ease both}@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel-heading{max-width:760px;margin-bottom:34px}.panel-heading h2{font-size:clamp(36px,5vw,66px);letter-spacing:-3px;margin:8px 0 14px}.panel-heading p:last-child{color:rgba(255,255,255,.62);line-height:1.6}
.service-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-choice{position:relative;padding:28px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:rgba(255,255,255,.045);cursor:pointer;transition:.25s}.service-choice:hover,.service-choice.selected{transform:translateY(-4px);border-color:rgba(153,255,107,.48);background:linear-gradient(145deg,rgba(89,227,159,.13),rgba(126,89,255,.10));box-shadow:0 24px 60px rgba(0,0,0,.3)}.service-choice input{position:absolute;opacity:0}.service-choice small{display:block;color:var(--neon);letter-spacing:1.6px;font-size:9px;margin:20px 0 8px}.service-choice h3{font-size:28px;margin:0 0 8px}.service-choice p{color:rgba(255,255,255,.62);min-height:45px}.service-choice strong{display:block;margin-top:22px;font-size:28px}.service-choice strong em{font-size:12px;font-style:normal;color:rgba(255,255,255,.48)}.service-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:linear-gradient(145deg,var(--neon),var(--cyan) 55%,var(--purple));color:#10251f;font-size:29px;box-shadow:inset 0 1px rgba(255,255,255,.55),0 16px 35px rgba(50,255,160,.18)}.stem-icon{background:linear-gradient(145deg,#68d8ff,#8f70ff,#f06cae);color:#fff}
.drop-zone{display:grid;place-items:center;text-align:center;min-height:340px;padding:40px;border:1px dashed rgba(255,255,255,.28);border-radius:30px;background:radial-gradient(circle at 50% 20%,rgba(104,255,188,.11),transparent 42%),rgba(255,255,255,.025);cursor:pointer;transition:.25s}.drop-zone:hover,.drop-zone.dragover{border-color:var(--neon);background-color:rgba(153,255,107,.05)}.drop-zone h3{font-size:30px;margin:22px 0 5px}.drop-zone p{margin:0;color:rgba(255,255,255,.65)}.drop-zone small{margin-top:20px;color:rgba(255,255,255,.36);letter-spacing:1px}.upload-orb{position:relative;width:82px;height:82px;border-radius:28px;background:linear-gradient(145deg,var(--neon),var(--cyan) 55%,var(--purple));box-shadow:0 20px 60px rgba(105,255,192,.25),inset 0 1px rgba(255,255,255,.7)}.upload-orb:before,.upload-orb:after{content:"";position:absolute;background:#10251f;border-radius:99px;left:50%;top:50%;transform:translate(-50%,-50%)}.upload-orb:before{width:30px;height:5px}.upload-orb:after{width:5px;height:30px}.file-list{margin-top:16px}.file-item{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.file-item h4{margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{display:flex;gap:12px;flex-wrap:wrap;color:rgba(255,255,255,.5);font-size:12px}.file-status{color:var(--neon);font-size:12px;font-weight:800}
.choice-group{border:0;padding:0;margin:0 0 34px}.choice-group legend{font-weight:800;margin-bottom:14px;font-size:14px}.genre-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.genre-grid label,.destination-grid label{cursor:pointer}.genre-grid input,.destination-grid input,.character-grid input{position:absolute;opacity:0}.genre-grid span,.destination-grid span{display:grid;place-items:center;min-height:58px;padding:10px;border-radius:17px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035);font-weight:700;text-align:center;transition:.2s}.genre-grid input:checked+span,.destination-grid input:checked+span{border-color:var(--neon);background:rgba(153,255,107,.11);color:var(--neon);box-shadow:0 0 24px rgba(153,255,107,.08)}.character-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.character-grid label{cursor:pointer}.character-grid span{display:block;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035);transition:.2s}.character-grid small{display:block;margin-top:5px;color:rgba(255,255,255,.5)}.character-grid input:checked+span{border-color:var(--purple);background:rgba(139,103,255,.12)}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.app-actions{display:flex;justify-content:space-between;gap:12px;margin-top:38px}.app-button{appearance:none;border:1px solid rgba(255,255,255,.14);border-radius:999px;min-height:52px;padding:0 24px;font:inherit;font-weight:800;cursor:pointer;transition:.2s}.app-button:hover:not(:disabled){transform:translateY(-2px)}.app-button.primary{background:var(--neon);color:#0c241c;border-color:var(--neon)}.app-button.ghost{background:rgba(255,255,255,.05);color:#fff}.app-button:disabled{opacity:.32;cursor:not-allowed}.review-card{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.review-row{padding:18px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}.review-row small{display:block;color:rgba(255,255,255,.42);margin-bottom:5px;text-transform:uppercase;letter-spacing:1px}.review-row strong{font-size:16px}.engine-progress{margin-top:24px;padding:22px;border-radius:20px;background:rgba(255,255,255,.045)}.progress-top{display:flex;justify-content:space-between}.progress-track{height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;margin:16px 0}.progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--neon),var(--cyan),var(--purple));transition:width .4s}.engine-progress p{color:rgba(255,255,255,.55);margin:0}.prototype-result{display:flex;gap:16px;align-items:center;margin-top:22px;padding:22px;border-radius:20px;border:1px solid rgba(153,255,107,.28);background:rgba(153,255,107,.08)}.prototype-result>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--neon);color:#0c241c;font-weight:900}.prototype-result h3{margin:0 0 4px}.prototype-result p{margin:0;color:rgba(255,255,255,.62)}
.app-roadmap{max-width:1180px;margin:100px auto 0}.app-roadmap h2{font-size:clamp(46px,7vw,92px);letter-spacing:-5px;line-height:.92;margin:12px 0 40px}.app-roadmap h2 em{font-style:normal;color:var(--purple)}.roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.roadmap-grid article{padding:25px;border-radius:24px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}.roadmap-grid span{color:var(--neon);font-size:12px}.roadmap-grid h3{font-size:24px;margin:30px 0 8px}.roadmap-grid p{color:rgba(255,255,255,.55);line-height:1.55}.roadmap-grid b{display:inline-block;margin-top:20px;font-size:10px;letter-spacing:1.4px;color:var(--cyan)}
@media(max-width:900px){.master-app-shell{padding:120px 16px 70px}.app-intro{grid-template-columns:1fr;gap:24px}.app-intro h1{letter-spacing:-4px}.app-workspace{border-radius:26px}.app-panel{padding:28px 20px}.service-choice-grid,.character-grid,.review-card,.roadmap-grid{grid-template-columns:1fr}.genre-grid{grid-template-columns:repeat(2,1fr)}.genre-grid label:last-child{grid-column:1/-1}.app-steps b{display:none}.app-steps .step{padding:14px}.roadmap-grid{gap:10px}}
@media(max-width:540px){.app-intro h1{font-size:52px;letter-spacing:-3px}.prototype-note{padding:18px}.panel-heading h2{font-size:38px;letter-spacing:-2px}.service-choice{padding:22px}.drop-zone{min-height:290px;padding:25px 18px}.destination-grid{grid-template-columns:1fr}.app-actions{display:grid;grid-template-columns:1fr}.app-actions .app-button{width:100%}.app-actions span{display:none}.review-row{min-width:0}.file-item{grid-template-columns:1fr}.file-status{justify-self:start}}

/* Prototype 02: local waveform and analysis */
.audio-lab{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:18px;margin-top:18px}
.wave-card,.analysis-grid{border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(21,28,35,.9),rgba(14,20,27,.72));border-radius:24px;box-shadow:0 22px 70px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.08)}
.wave-card{padding:20px}.wave-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.wave-head small{font-size:.68rem;letter-spacing:.14em;color:#99aaae}.wave-head h3{margin:.3rem 0 0;font-size:1.08rem;max-width:42ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.local-badge{font-size:.62rem;letter-spacing:.1em;padding:7px 10px;border-radius:999px;background:rgba(118,255,181,.11);border:1px solid rgba(118,255,181,.22);color:#a9ffcc;white-space:nowrap}
#waveform{display:block;width:100%;height:150px;border-radius:17px;background:radial-gradient(circle at 20% 20%,rgba(98,255,187,.08),transparent 40%),linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));border:1px solid rgba(255,255,255,.07)}
#audioPreview{width:100%;height:40px;margin-top:14px;filter:saturate(.75)}
.analysis-grid{display:grid;grid-template-columns:1fr 1fr;padding:14px;gap:10px;align-content:start}.metric{min-height:78px;padding:14px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065)}.metric small{display:block;font-size:.62rem;letter-spacing:.11em;color:#91a2a8;margin-bottom:9px}.metric strong{font-size:1.08rem;font-weight:650}.metric em{display:block;font-size:.7rem;color:#718087;font-style:normal;margin-top:3px}
.genre-grid label span{position:relative;overflow:hidden}.genre-grid label span::after{content:'';position:absolute;inset:auto -25% -70% -25%;height:100%;background:radial-gradient(circle,rgba(126,104,255,.23),transparent 65%);opacity:0;transition:.25s}.genre-grid label:nth-child(1) span::after{background:radial-gradient(circle,rgba(72,255,170,.25),transparent 65%)}.genre-grid label:nth-child(2) span::after{background:radial-gradient(circle,rgba(183,83,255,.3),transparent 65%)}.genre-grid label:nth-child(3) span::after{background:radial-gradient(circle,rgba(75,182,255,.28),transparent 65%)}.genre-grid label:nth-child(4) span::after{background:radial-gradient(circle,rgba(255,83,129,.24),transparent 65%)}.genre-grid label:nth-child(5) span::after{background:radial-gradient(circle,rgba(255,139,65,.25),transparent 65%)}.genre-grid input:checked+span::after{opacity:1}
@media(max-width:760px){.audio-lab{grid-template-columns:1fr}.analysis-grid{grid-template-columns:1fr 1fr}.wave-head{align-items:center}.local-badge{font-size:.54rem}.wave-card{padding:14px}#waveform{height:120px}}
@media(max-width:430px){.analysis-grid{grid-template-columns:1fr 1fr}.metric{min-height:70px;padding:11px}.metric strong{font-size:.95rem}.wave-head h3{max-width:190px}}

/* WR71 Instant Master v0.1 product UI */
.service-choice-grid--three{grid-template-columns:repeat(3,1fr)}
.service-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.personal-icon{background:linear-gradient(145deg,#ffb469,#ff6fa5,#8d72ff);color:#fff}
.service-choice--personal.selected{border-color:rgba(255,132,173,.55);background:linear-gradient(145deg,rgba(255,138,177,.12),rgba(126,89,255,.12))}
.profile-grid{grid-template-columns:repeat(3,1fr);gap:14px}
.profile-card{position:relative;cursor:pointer;min-width:0}
.profile-card input{position:absolute;opacity:0}
.profile-card>span{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:210px;padding:22px;border-radius:24px;overflow:hidden;text-align:left;background:linear-gradient(160deg,rgba(255,255,255,.085),rgba(255,255,255,.028));border:1px solid rgba(255,255,255,.12);transition:transform .25s,border-color .25s,box-shadow .25s}
.profile-card>span:before,.profile-card>span:after{content:"";position:absolute;border-radius:50%;filter:blur(3px);opacity:.38;transition:.3s}
.profile-card>span:before{width:150px;height:150px;right:-55px;top:-60px;background:var(--profile-a,#7affb5)}
.profile-card>span:after{width:110px;height:110px;right:10px;top:10px;background:var(--profile-b,#6bcfff);filter:blur(35px)}
.profile-card i{position:absolute;top:18px;left:20px;font-style:normal;font-size:11px;letter-spacing:1.5px;color:rgba(255,255,255,.48)}
.profile-card b{position:relative;font-size:23px;letter-spacing:-.6px}
.profile-card small{position:relative;margin-top:4px;color:var(--profile-a,#7affb5);font-weight:800;letter-spacing:.4px}
.profile-card em{position:relative;margin-top:14px;font-style:normal;color:rgba(255,255,255,.55);font-size:12px;line-height:1.45}
.profile-card:hover>span{transform:translateY(-4px);border-color:rgba(255,255,255,.25)}
.profile-card input:checked+span{transform:translateY(-5px);border-color:var(--profile-a,#7affb5);box-shadow:0 24px 55px rgba(0,0,0,.30),0 0 32px color-mix(in srgb,var(--profile-a,#7affb5) 22%,transparent)}
.profile-techno{--profile-a:#7affb5;--profile-b:#39d6ff}.profile-house{--profile-a:#ffd66b;--profile-b:#ff8c67}.profile-synth{--profile-a:#b58cff;--profile-b:#5bdcff}.profile-pop{--profile-a:#ff8fb5;--profile-b:#ffa76b}.profile-hiphop{--profile-a:#ff6f67;--profile-b:#a66bff}.profile-rock{--profile-a:#ffb45d;--profile-b:#ff5b5b}
.wr71-intelligence{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:14px;padding:20px;border-radius:22px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(102,255,184,.07),rgba(147,104,255,.07))}
.wr71-intelligence small{color:var(--neon);font-size:9px;letter-spacing:1.7px}.wr71-intelligence h3{margin:5px 0 5px;font-size:18px}.wr71-intelligence p{margin:0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.5}
.intelligence-mark{width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:4px;background:linear-gradient(145deg,rgba(116,255,183,.22),rgba(158,110,255,.25));box-shadow:inset 0 1px rgba(255,255,255,.2)}
.intelligence-mark span{display:block;width:4px;border-radius:99px;background:linear-gradient(180deg,var(--neon),var(--purple));animation:intelPulse 1.2s ease-in-out infinite}.intelligence-mark span:nth-child(1){height:14px}.intelligence-mark span:nth-child(2){height:28px;animation-delay:.15s}.intelligence-mark span:nth-child(3){height:20px;animation-delay:.3s}@keyframes intelPulse{50%{transform:scaleY(.55);opacity:.65}}
@media(max-width:1050px){.service-choice-grid--three,.profile-grid{grid-template-columns:repeat(2,1fr)}.service-choice--personal{grid-column:1/-1}}
@media(max-width:640px){.service-choice-grid--three,.profile-grid{grid-template-columns:1fr}.service-choice--personal{grid-column:auto}.profile-card>span{min-height:180px}.wr71-intelligence{grid-template-columns:1fr}.intelligence-mark{width:48px;height:48px}}

/* v0.2 — real local DSP render and A/B result */
.master-result{margin-top:24px;padding:24px;border-radius:26px;border:1px solid rgba(113,255,177,.28);background:linear-gradient(145deg,rgba(113,255,177,.08),rgba(182,124,255,.08));box-shadow:0 24px 70px rgba(0,0,0,.25)}
.result-head{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.result-head>span{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,var(--neon),var(--cyan));color:#092118;font-size:24px;font-weight:900;box-shadow:0 15px 38px rgba(113,255,177,.18)}.result-head small{font-size:9px;letter-spacing:1.5px;color:var(--neon)}.result-head h3{font-size:24px;margin:5px 0}.result-head p{margin:0;color:rgba(255,255,255,.6);line-height:1.5}
.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.ab-grid article{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045)}.ab-grid small{display:block;margin-bottom:10px;color:rgba(255,255,255,.48);letter-spacing:1.2px;font-size:9px}.ab-grid audio{width:100%;height:40px}
.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 20px}.result-stats>div{padding:13px;border-radius:15px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}.result-stats small{display:block;font-size:9px;color:rgba(255,255,255,.42);margin-bottom:5px}.result-stats strong{font-size:14px}.download-master{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:760px){.ab-grid{grid-template-columns:1fr}.result-stats{grid-template-columns:1fr 1fr}.master-result{padding:18px}.result-head{grid-template-columns:1fr}.download-master{width:100%}}

/* Sprint 1 additions */
.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;margin-bottom:18px;border:1px solid rgba(255,255,255,.09);background:rgba(8,13,20,.72);border-radius:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.mode-button{appearance:none;border:1px solid transparent;border-radius:18px;padding:15px 18px;background:transparent;color:rgba(255,255,255,.65);display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;text-align:left;transition:.25s ease;font:inherit}
.mode-button span{font-weight:750;color:inherit}.mode-button small{font-size:.72rem;letter-spacing:.04em;color:rgba(255,255,255,.42)}
.mode-button:hover{background:rgba(255,255,255,.04);color:#fff}.mode-button.active{background:linear-gradient(135deg,rgba(113,255,177,.16),rgba(85,215,255,.10),rgba(182,124,255,.10));border-color:rgba(113,255,177,.32);color:#fff;box-shadow:0 12px 40px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.1)}
.pro-controls{margin-top:28px;padding:24px;border:1px solid rgba(182,124,255,.22);border-radius:24px;background:linear-gradient(145deg,rgba(25,19,42,.78),rgba(10,16,24,.86));box-shadow:0 24px 70px rgba(0,0,0,.25)}
.pro-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.pro-heading small{color:#c5a7ff;letter-spacing:.13em}.pro-heading h3{margin:.35rem 0 0}.pro-heading>span{font-size:.78rem;color:rgba(255,255,255,.5)}
.slider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.slider-grid label{padding:17px 18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035)}
.slider-grid label>span{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.slider-grid output{min-width:34px;text-align:center;color:#71ffb1;font-variant-numeric:tabular-nums}
.slider-grid input[type=range]{width:100%;accent-color:#71ffb1}
@media (max-width:720px){.mode-switch{grid-template-columns:1fr}.mode-button{align-items:flex-start;flex-direction:column;gap:4px}.slider-grid{grid-template-columns:1fr}.pro-heading{align-items:flex-start;flex-direction:column}.pro-controls{padding:18px}}


/* Sprint 2 — advanced local analysis */
.deep-analysis{margin-top:16px;padding:22px;border-radius:24px;border:1px solid rgba(85,215,255,.18);background:linear-gradient(145deg,rgba(10,24,31,.88),rgba(22,17,39,.78));box-shadow:0 24px 70px rgba(0,0,0,.22)}
.deep-analysis-head,.visual-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.deep-analysis-head small{font-size:9px;letter-spacing:1.6px;color:var(--cyan)}.deep-analysis-head h3{margin:5px 0 0;font-size:23px}.analysis-status{padding:7px 11px;border-radius:999px;background:rgba(113,255,177,.09);border:1px solid rgba(113,255,177,.24);font-size:9px;letter-spacing:1.2px;color:var(--neon)}
.analysis-visual-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.75fr);gap:14px;margin-top:18px;min-width:0}.spectrum-card,.meter-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075)}.visual-title span{font-weight:720}.visual-title small{font-size:10px;color:rgba(255,255,255,.42)}#spectrumCanvas{display:block;width:100%;height:170px;margin-top:14px}.spectrum-labels{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}.spectrum-labels span{text-align:center;font-size:8px;letter-spacing:1px;color:rgba(255,255,255,.36)}
.stereo-orbit{--width:.5;--corr:1;position:relative;width:150px;height:150px;margin:16px auto;border-radius:50%;border:1px solid rgba(255,255,255,.13);background:radial-gradient(circle,rgba(85,215,255,.12),transparent 58%);overflow:hidden}.stereo-orbit:before,.stereo-orbit:after{content:'';position:absolute;inset:50% 12%;height:1px;background:rgba(255,255,255,.12)}.stereo-orbit:after{inset:12% 50%;width:1px;height:auto}.stereo-orbit i,.stereo-orbit b{position:absolute;left:50%;top:50%;width:44%;height:68%;border-radius:50%;border:2px solid rgba(113,255,177,.72);transform:translate(-50%,-50%) rotate(calc(-34deg * var(--width))) scaleX(calc(.48 + var(--width)));box-shadow:0 0 22px rgba(113,255,177,.17)}.stereo-orbit b{border-color:rgba(182,124,255,.72);transform:translate(-50%,-50%) rotate(calc(34deg * var(--width))) scaleX(calc(.48 + var(--width)))}.stereo-orbit em{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 22px var(--cyan);transform:translate(-50%,-50%) scale(calc(.65 + var(--corr)*.7))}.meter-readouts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.meter-readouts div{padding:11px;border-radius:14px;background:rgba(255,255,255,.035);text-align:center}.meter-readouts small{display:block;font-size:8px;color:rgba(255,255,255,.38);margin-bottom:5px}.meter-readouts strong{font-size:15px}
.fingerprint-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:9px;margin-top:14px;min-width:0;width:100%}.fingerprint-item{min-width:0;padding:12px;border-radius:15px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.055)}.fingerprint-item>span{display:flex;align-items:end;justify-content:space-between;gap:8px}.fingerprint-item>span small{font-size:9px;color:rgba(255,255,255,.55)}.fingerprint-item>span b{font-size:16px}.fingerprint-item>i{display:block;height:5px;border-radius:99px;background:rgba(255,255,255,.08);margin:10px 0 7px;overflow:hidden}.fingerprint-item>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--neon),var(--cyan),var(--purple))}.fingerprint-item>small{font-size:8px;color:rgba(255,255,255,.32)}
@media(max-width:820px){.analysis-visual-grid{grid-template-columns:1fr}.fingerprint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.deep-analysis{padding:15px}.deep-analysis-head{align-items:flex-start;flex-direction:column}.fingerprint-grid{grid-template-columns:1fr}.stereo-orbit{width:132px;height:132px}}


/* Sprint 3 · Producer Intelligence */
.producer-direction,.producer-report{margin-top:24px;padding:22px;border-radius:24px;border:1px solid rgba(112,255,181,.18);background:linear-gradient(145deg,rgba(91,255,176,.06),rgba(145,105,255,.07))}
.producer-direction-head,.producer-report-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.producer-direction-head small,.producer-report-head small{color:var(--neon);font-size:9px;letter-spacing:1.6px}.producer-direction-head h3,.producer-report-head h3{margin:5px 0 0;font-size:22px}.mini-action{appearance:none;border:1px solid rgba(153,255,107,.35);background:rgba(153,255,107,.09);color:#fff;border-radius:999px;padding:10px 15px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.mini-action:hover{background:rgba(153,255,107,.16)}
.direction-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.direction-grid>article,.report-grid>article{padding:17px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);min-width:0}.direction-grid article>small,.report-grid article>small{display:block;color:rgba(255,255,255,.45);font-size:9px;letter-spacing:1.3px;margin-bottom:9px}.direction-primary strong{display:block;font-size:28px;line-height:1.05}.direction-grid p,.report-grid p{margin:8px 0 0;color:rgba(255,255,255,.63);line-height:1.55;font-size:13px}.direction-grid ul{margin:0;padding-left:18px;color:rgba(255,255,255,.68);font-size:13px;line-height:1.65}
.blend-list{display:grid;gap:9px}.blend-item{display:grid;grid-template-columns:100px 1fr 42px;gap:9px;align-items:center}.blend-item span{font-size:12px}.blend-item i{display:block;height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.blend-item i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--neon),var(--cyan),var(--purple))}.blend-item b{font-size:11px;text-align:right}
.producer-report-head>span{display:grid;place-items:center;min-width:72px;height:34px;border-radius:999px;background:rgba(153,255,107,.11);border:1px solid rgba(153,255,107,.25);color:var(--neon);font-size:11px;font-weight:900}.report-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:12px}.report-grid ol{margin:0;padding-left:20px;color:rgba(255,255,255,.7);font-size:13px;line-height:1.65}
@media(max-width:820px){.direction-grid,.report-grid{grid-template-columns:1fr}.producer-direction-head,.producer-report-head{align-items:flex-start;flex-direction:column}.mini-action{width:100%}}


/* Sprint 4: core checks, level-matched A/B and one-click revisions */
.core-checks,.revision-panel{margin-top:22px;padding:22px;border:1px solid rgba(137,255,109,.18);border-radius:22px;background:rgba(255,255,255,.035)}
.core-checks-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.core-checks-head small,.revision-panel small{color:#8dff72;letter-spacing:.18em;font-weight:800}.core-checks-head h3,.revision-panel h3{margin:.3rem 0 0;font-size:1.35rem}
.match-toggle{display:flex;align-items:center;gap:9px;font-size:.84rem}.match-toggle input{accent-color:#8dff72}
.quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quality-grid article{display:flex;gap:10px;padding:13px;border-radius:15px;background:rgba(255,255,255,.045)}.quality-grid article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:900}.quality-grid .pass>span{background:#8dff72;color:#07110d}.quality-grid .watch>span{background:#ffd36a;color:#181005}.quality-grid small{display:block;color:#aebbbb}.quality-grid strong{font-size:.78rem}.quality-grid p{margin:.2rem 0 0;color:#91a5a0;font-size:.72rem}
.revision-panel{display:grid;grid-template-columns:minmax(210px,.8fr) 1.5fr;gap:22px;align-items:center}.revision-panel p{color:#a9bbb6}.revision-actions{display:flex;flex-wrap:wrap;gap:9px}.revision-actions button{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 14px;color:#edf8f4;background:rgba(255,255,255,.055);cursor:pointer}.revision-actions button:hover,.revision-actions button.active{border-color:#8dff72;background:rgba(141,255,114,.14)}.revision-status{grid-column:1/-1;margin:0!important;font-size:.78rem}
@media(max-width:900px){.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.revision-panel{grid-template-columns:1fr}}
@media(max-width:560px){.core-checks-head{align-items:flex-start;flex-direction:column}.quality-grid{grid-template-columns:1fr}.revision-actions button{flex:1 1 45%}}

/* Sprint 4.1 · Interactive Waveform + Live Studio Mode */
.waveform-interactive{position:relative;border-radius:17px;overflow:hidden;cursor:crosshair;outline:none;touch-action:none;user-select:none}
.waveform-interactive:focus-visible{box-shadow:0 0 0 2px rgba(113,255,177,.55),0 0 28px rgba(113,255,177,.18)}
.waveform-interactive #waveform{position:relative;z-index:1}
.waveform-progress{position:absolute;z-index:2;inset:0 auto 0 0;width:0;pointer-events:none;background:linear-gradient(90deg,rgba(113,255,177,.12),rgba(85,215,255,.08));border-right:1px solid rgba(113,255,177,.45);mix-blend-mode:screen}
.waveform-playhead{position:absolute;z-index:4;top:0;bottom:0;left:0;width:2px;pointer-events:none;background:linear-gradient(180deg,#fff,#71ffb1 30%,#55d7ff 75%,#b67cff);box-shadow:0 0 14px rgba(113,255,177,.72);transform:translateX(-1px)}
.waveform-playhead:before{content:"";position:absolute;top:0;left:50%;width:9px;height:9px;border-radius:0 0 8px 8px;background:#fff;transform:translateX(-50%);box-shadow:0 0 12px rgba(255,255,255,.55)}
.waveform-time-tip{position:absolute;z-index:6;top:8px;left:0;transform:translateX(-50%) translateY(-4px);opacity:0;pointer-events:none;padding:6px 8px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(5,10,15,.88);backdrop-filter:blur(14px);color:#effff8;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;transition:opacity .12s,transform .12s}
.waveform-time-tip.visible{opacity:1;transform:translateX(-50%) translateY(0)}
.waveform-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 0}
.waveform-shortcuts span{padding:5px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);color:rgba(255,255,255,.42);font-size:9px;letter-spacing:.02em}
.live-meter-stack{display:grid;gap:9px;margin-top:12px}
.live-meter{padding:10px 11px;border-radius:13px;background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.055)}
.live-meter>span{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.live-meter small{color:rgba(255,255,255,.42);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.live-meter strong{font-variant-numeric:tabular-nums;font-size:11px;color:#f5fff9}
.live-meter>i{display:block;height:6px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.055),rgba(255,255,255,.1))}
.live-meter>i em{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#71ffb1 0%,#55d7ff 62%,#ffd36a 83%,#ff6b7f 100%);box-shadow:0 0 14px rgba(85,215,255,.28);transition:width .07s linear}
.fingerprint-item.live{border-color:rgba(85,215,255,.13);box-shadow:inset 0 0 18px rgba(85,215,255,.035)}
.fingerprint-item.live>i em{transition:width .08s linear}
#spectrumCanvas{transition:filter .15s}
.audio-lab:has(#audioPreview:not([src=""])) .waveform-playhead{display:none}
@media(max-width:760px){.waveform-shortcuts span{font-size:8px}.waveform-time-tip{top:5px}.live-meter-stack{grid-template-columns:1fr 1fr}.live-meter:last-child{grid-column:1/-1}}
@media(max-width:430px){.waveform-shortcuts{display:none}.live-meter-stack{grid-template-columns:1fr}.live-meter:last-child{grid-column:auto}}


/* Sprint 4.2 · repaired live stereo vectorscope */
.stereo-scope-wrap{position:relative;width:min(100%,220px);aspect-ratio:1;margin:12px auto 14px;border-radius:22px;border:1px solid rgba(255,255,255,.12);overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(85,215,255,.12),rgba(8,13,20,.84) 66%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 45px rgba(0,0,0,.2)}
#stereoScope{display:block;width:100%;height:100%}.scope-axis{position:absolute;font-size:8px;letter-spacing:.12em;color:rgba(255,255,255,.3);pointer-events:none}.scope-axis-l{left:10px;top:50%;transform:translateY(-50%)}.scope-axis-r{right:10px;top:50%;transform:translateY(-50%)}.scope-axis-m{left:50%;top:9px;transform:translateX(-50%)}
.stereo-readouts{margin-bottom:9px}.channel-meter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 11px}.channel-meter{padding:10px 11px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.channel-meter span{display:flex;justify-content:space-between;gap:8px;align-items:center}.channel-meter small{font-size:8px;color:rgba(255,255,255,.42)}.channel-meter strong{font-size:10px;font-variant-numeric:tabular-nums}.channel-meter>i{display:block;height:5px;margin-top:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.channel-meter>i em{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--neon),var(--cyan),#ffd36a);transition:width .06s linear}
@media(max-width:480px){.stereo-scope-wrap{width:min(100%,190px)}}


/* Sprint 4.2.1 · stable stereo field hotfix */
.analysis-visual-grid{align-items:start}
.spectrum-card,.meter-card{min-width:0;contain:layout paint}
.meter-card{overflow:hidden}
.stereo-scope-wrap{
  width:min(100%,220px);
  height:220px;
  min-height:220px;
  max-height:220px;
  aspect-ratio:auto;
  flex:0 0 220px;
  contain:strict;
  transform:translateZ(0);
}
#stereoScope{position:absolute;inset:0;width:100%;height:100%;display:block}
.meter-readouts strong,.channel-meter strong,.live-meter strong{
  display:inline-block;
  min-width:62px;
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.channel-meter-grid,.live-meter-stack,.meter-readouts{min-width:0}
.channel-meter,.live-meter,.meter-readouts>div{min-width:0}
@media(max-width:480px){
  .stereo-scope-wrap{width:min(100%,190px);height:190px;min-height:190px;max-height:190px;flex-basis:190px}
}

/* Sprint 4.2.2 · Easy / Pro layout split */
html:not([data-master-mode="pro"]) .deep-analysis{display:none!important}
html[data-master-mode="easy"] .deep-analysis{display:none!important}
html[data-master-mode="easy"] .wr71-intelligence{grid-column:1/-1;max-width:none}
html[data-master-mode="pro"] .audio-lab{grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);align-items:start}
html[data-master-mode="pro"] .wr71-intelligence{grid-column:1/-1;margin-top:0;padding:17px 20px}
html[data-master-mode="pro"] .deep-analysis{display:block;grid-column:1/-1;margin-top:0;padding:24px;overflow:hidden}
html[data-master-mode="pro"] .analysis-visual-grid{grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:18px}
html[data-master-mode="pro"] .spectrum-card{min-width:0;padding:20px}
html[data-master-mode="pro"] #spectrumCanvas{height:230px}
html[data-master-mode="pro"] .meter-card{min-width:0;max-width:none;padding:18px}
html[data-master-mode="pro"] .fingerprint-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
html[data-master-mode="pro"] .visual-title{align-items:center;min-width:0}
html[data-master-mode="pro"] .visual-title span{white-space:normal;overflow:visible;text-overflow:clip}
html[data-master-mode="pro"] .visual-title small{flex:none}
@media(max-width:900px){
  html[data-master-mode="pro"] .analysis-visual-grid{grid-template-columns:1fr}
  html[data-master-mode="pro"] .fingerprint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  html[data-master-mode="pro"] .deep-analysis{padding:15px}
  html[data-master-mode="pro"] .fingerprint-grid{grid-template-columns:1fr}
  html[data-master-mode="pro"] #spectrumCanvas{height:175px}
}

/* Sprint 5.1 source-aware controls */
.source-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.source-type-grid label{display:block;cursor:pointer}
.source-type-grid input{position:absolute;opacity:0;pointer-events:none}
.source-type-grid span{display:flex;min-height:104px;flex-direction:column;justify-content:center;gap:7px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.035);transition:.22s ease}
.source-type-grid b{font-size:1rem;color:#fff}.source-type-grid small{color:rgba(255,255,255,.62);line-height:1.35}
.source-type-grid input:checked+span{border-color:rgba(99,255,184,.72);background:linear-gradient(145deg,rgba(60,255,161,.16),rgba(121,91,255,.10));box-shadow:0 0 0 1px rgba(86,255,172,.15),0 18px 45px rgba(0,0,0,.22)}
.source-suggestion{margin:12px 2px 0;color:rgba(255,255,255,.62);font-size:.86rem}
.processing-detail{color:#72f7b6!important}
@media(max-width:900px){.source-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.source-type-grid{grid-template-columns:1fr}.source-type-grid span{min-height:auto}}


/* Sprint 5.2.1: fixed-output custom A/B transport (no per-player volume controls) */
.ab-player-card audio{display:none}
.ab-player-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ab-player-title small{margin:0}
.fixed-output{font-size:9px;letter-spacing:1.1px;color:#a8ffd4;border:1px solid rgba(125,255,190,.25);background:rgba(69,224,145,.09);border-radius:999px;padding:5px 8px;white-space:nowrap}
.ab-transport{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px}
.ab-play{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(95,255,176,.2),rgba(116,99,255,.18));color:#fff;font-size:15px;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.16),0 8px 20px rgba(0,0,0,.22)}
.ab-play:hover{transform:translateY(-1px);border-color:rgba(124,255,191,.45)}
.ab-play.is-playing{box-shadow:0 0 0 3px rgba(87,239,161,.08),0 0 24px rgba(86,235,162,.2)}
.ab-seek{width:100%;accent-color:#64eba9;cursor:pointer}
.ab-time{min-width:74px;text-align:right;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.64);font-size:11px}
.ab-output-note{margin:10px 2px 0;color:rgba(255,255,255,.48);font-size:11px;line-height:1.45}
@media(max-width:640px){.ab-transport{grid-template-columns:40px minmax(0,1fr)}.ab-time{grid-column:2;text-align:left}.fixed-output{font-size:8px}}


/* Sprint 6.1 — Vocal Detection Guard */
.vocal-focus-control{position:relative}
.vocal-detect-status{display:block;margin-top:.55rem;font-size:.72rem;line-height:1.35;color:rgba(255,255,255,.48);font-style:normal}
.vocal-detect-status.detected{color:#71ffb1}
.vocal-focus-control.control-disabled{opacity:.58}
.vocal-focus-control.control-disabled input[type="range"]{cursor:not-allowed;filter:saturate(.15)}
.vocal-focus-control.control-disabled output{color:rgba(255,255,255,.5)}

/* Sprint 6.2 foundation rewrite */
.source-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.source-suggestion strong{color:var(--accent,#7dffbd);}
.vocal-focus-control.control-disabled{opacity:.58;}
.vocal-focus-control.control-disabled input{cursor:not-allowed;}
@media(max-width:900px){.source-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.source-type-grid{grid-template-columns:1fr;}}

.mastering-domain{display:inline-flex;margin-top:12px;padding:7px 12px;border:1px solid rgba(113,255,177,.28);border-radius:999px;color:#9dffd0;text-decoration:none;font-size:.82rem;letter-spacing:.04em;background:rgba(8,24,20,.45)}
.mastering-domain:hover{border-color:rgba(113,255,177,.7);background:rgba(113,255,177,.08)}

.python-core-notice{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(129,255,202,.28);border-radius:16px;background:rgba(30,255,151,.07);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.python-core-notice b{color:#9fffd0}.python-core-notice span{color:rgba(255,255,255,.72);font-size:.9rem}

/* Sprint 8.3.3: exactly five equal profile cards */
@media (min-width: 1201px){
  .profile-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
  }
  .profile-card>span{
    min-height:230px;
    height:100%;
    padding:20px 17px;
  }
  .profile-card b{font-size:20px;line-height:1.05}
  .profile-card em{font-size:11px}
}
@media (min-width: 761px) and (max-width: 1200px){
  .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-card:last-child{grid-column:1/-1}
}

.revision-actions button:disabled{opacity:.45;cursor:wait}
.revision-actions button.active{box-shadow:0 0 0 2px rgba(145,255,116,.7),0 10px 30px rgba(67,255,143,.12)}
.match-toggle input:checked+span{color:#a8ff82}


/* Sprint 9.6 automatic source detection */
#audioPreview{
  pointer-events:auto!important;
  opacity:1!important;
  visibility:visible!important;
}
#audioPreview[disabled],
#audioPreview[aria-disabled="true"]{
  pointer-events:auto!important;
  opacity:1!important;
}


/* Sprint 0.9.7.2 · Destination UI finish */
@keyframes buttonPulse{
  0%,100%{opacity:1;filter:brightness(1)}
  50%{opacity:.62;filter:brightness(.72)}
}

.profile-card input:checked + span,
.character-grid input:checked + span,
.destination-grid input:checked + span,
.revision-actions button.active{
  animation:buttonPulse 1.8s infinite ease-in-out;
  will-change:opacity,filter;
}

@media (prefers-reduced-motion: reduce){
  .profile-card input:checked + span,
  .character-grid input:checked + span,
  .destination-grid input:checked + span,
  .revision-actions button.active{
    animation:none;
  }
}

.download-option{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
}
.download-option .download-master{width:100%}

.download-master.demo-disabled{
  position:relative;
  opacity:.5!important;
  filter:grayscale(.35);
  pointer-events:none!important;
  cursor:not-allowed!important;
  user-select:none;
}
.download-master.demo-disabled::after{
  content:'';
  position:absolute;
  left:10%;
  right:10%;
  top:50%;
  height:1px;
  background:rgba(255,255,255,.72);
  box-shadow:0 0 5px rgba(255,255,255,.18);
  transform:translateY(-50%);
  pointer-events:none;
}
.demo-wav-note{
  display:block;
  min-height:1em;
  color:rgba(255,255,255,.46);
  font-size:.72rem;
  line-height:1.35;
  text-align:center;
}
.demo-wav-note[hidden]{display:none!important}

.fingerprint-identity{margin:.28rem 0 0;color:rgba(255,255,255,.38);font-size:.68rem;letter-spacing:.035em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.fingerprint-identity.is-ready{color:rgba(113,255,177,.68)}

.active-pulse{animation:simplePulse 2s infinite ease-in-out;}@keyframes simplePulse{0%{opacity:1}50%{opacity:.5}100%{opacity:1}}.demo-disabled{opacity:.4;pointer-events:none;}

/* Sprint 0.9.7.6 · Dashboard Cleanup */
.technical-stats-grid{
  display:none!important;
  opacity:0;
  transform:translateY(8px);
}

body.pro-mode-active .technical-stats-grid,
.technical-stats-grid.is-visible{
  display:block!important;
  opacity:1;
  transform:translateY(0);
  animation:technicalStatsReveal .28s ease-out both;
}

@keyframes technicalStatsReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}


/* Sprint 0.9.7.8 · Quality Check visible in Easy Mode */
.master-quality-check,
.quality-check,
#masterQualityCheck{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body:not(.pro-mode-active) .master-quality-check,
body:not(.pro-mode-active) .quality-check,
body:not(.pro-mode-active) #masterQualityCheck{
  display:block!important;
}

/* Sprint 0.9.7.9 · Easy Mode quality check restoration */
#masterQualityCheck{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body:not(.pro-mode-active) #masterQualityCheck{
  display:block!important;
}

body:not(.pro-mode-active) #technical-stats-grid{
  display:none!important;
}


/* Sprint 0.9.8.1 · Pro controls temporarily locked */
.pro-future-note{
  max-width:360px;
  color:rgba(255,255,255,.56);
  font-size:.78rem;
  line-height:1.4;
  text-align:right;
}

.pro-controls .slider-grid label{
  opacity:.52;
}

.pro-controls input[type="range"]:disabled{
  cursor:not-allowed;
  filter:grayscale(.55);
  opacity:.72;
}

.pro-controls output{
  color:rgba(255,255,255,.48)!important;
}

@media (max-width:720px){
  .pro-future-note{
    max-width:none;
    text-align:left;
  }
}


/* WR71 Instant Master · Version 1.0 RC Product Freeze */
.payment-gate{
  display:grid;
  gap:14px;
  padding:22px;
  margin-top:20px;
  border:1px solid rgba(140,255,103,.22);
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(140,255,103,.08),rgba(151,104,255,.08)),
    rgba(13,20,24,.92);
}

.payment-gate[hidden]{display:none!important}

.payment-gate-copy small{
  color:#8cff67;
  letter-spacing:.18em;
  font-weight:800;
}

.payment-gate-copy h3{
  margin:.35rem 0;
  font-size:1.45rem;
}

.payment-gate-copy p,
.payment-gate-note,
.preview-limit-notice{
  color:rgba(255,255,255,.58);
}

.payment-gate-note{
  font-size:.72rem;
  text-align:center;
}

.preview-limit-notice{
  margin-top:14px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  font-size:.8rem;
  text-align:center;
}

.download-actions.is-locked{
  opacity:.42;
  filter:grayscale(.55);
  pointer-events:none;
}

.download-actions.is-unlocked{
  opacity:1;
  filter:none;
  pointer-events:auto;
}

.payment-gate.is-paid{
  border-color:rgba(140,255,103,.5);
  box-shadow:0 0 24px rgba(140,255,103,.12);
}


/* Version 1.0 RC.2 · Commercial preparation */
.data-retention-notice{
  margin-top:18px;
  padding:20px;
  border:1px solid rgba(100,220,190,.18);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}
.data-retention-notice small{
  color:#8cff67;
  font-weight:800;
  letter-spacing:.16em;
}
.data-retention-notice h3{
  margin:.35rem 0 .5rem;
}
.data-retention-notice p{
  margin:0;
  color:rgba(255,255,255,.6);
  line-height:1.55;
}


/* RC2.2 Result workflow: downloads and next master */
.wr71-download-section,
.wr71-next-master-actions {
  margin-top: 22px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 22px;
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, .045),
      rgba(255, 255, 255, .025)
    );
}

.wr71-download-heading small,
.wr71-next-master-copy small {
  color: var(--neon);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 1.6px;
}

.wr71-download-heading h3,
.wr71-next-master-copy h3 {
  margin: 6px 0 5px;
  font-size: 22px;
}

.wr71-download-heading p,
.wr71-next-master-copy p {
  margin: 0;
  color: rgba(255, 255, 255, .58);
  font-size: 13px;
  line-height: 1.55;
}

.download-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.download-actions[hidden] {
  display: none !important;
}

.download-option {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 13px;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 18px;
  background: rgba(5, 10, 15, .35);
}

.download-option-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}

.download-option-copy small {
  color: rgba(255, 255, 255, .42);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1.3px;
}

.download-option-copy strong {
  color: #fff;
  font-size: 18px;
}

.download-option-copy span {
  color: rgba(255, 255, 255, .54);
  font-size: 12px;
  line-height: 1.45;
}

.download-option .download-master {
  width: 100%;
}

.wr71-next-master-actions {
  border-color: rgba(113, 255, 177, .19);
  background:
    linear-gradient(
      145deg,
      rgba(113, 255, 177, .055),
      rgba(85, 215, 255, .035),
      rgba(182, 124, 255, .045)
    );
}

.wr71-next-master-actions[hidden] {
  display: none !important;
}

.wr71-next-master-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.wr71-next-master-buttons .app-button {
  width: 100%;
  min-height: 52px;
}

.wr71-next-master-status {
  min-height: 1.25em;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, .58);
  font-size: 12px;
  text-align: center;
}

.wr71-next-master-status.is-error {
  color: #ffb1b1;
}

.wr71-next-master-status.is-working {
  color: var(--neon);
}

@media (max-width: 720px) {
  .download-actions,
  .wr71-next-master-buttons {
    grid-template-columns: 1fr;
  }

  .wr71-download-section,
  .wr71-next-master-actions {
    padding: 18px;
  }
}


/* ==========================================================
   WR71 RC2.2 — DESKTOP LOGOUT VISIBILITY FIX
   Header layout only
   ========================================================== */

@media (min-width:851px){

  .site-header{
    align-items:center !important;
    overflow:visible !important;
    padding-right:18px !important;
  }

  .site-header nav{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex:0 1 auto !important;
    width:auto !important;
    max-width:calc(100% - 230px) !important;
    min-width:0 !important;
    gap:12px !important;
    margin-left:auto !important;
    padding:0 !important;
    overflow:visible !important;
  }

  .site-header .nav-master{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .site-header .wr71-session-panel{
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
    margin-left:0 !important;
    width:auto !important;
    min-width:0 !important;
    position:static !important;
    overflow:visible !important;
  }

  .site-header .wr71-session-time{
    flex:0 0 auto !important;
    min-width:88px !important;
    white-space:nowrap !important;
  }

  .site-header .wr71-logout{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    transform:none !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:82px !important;
    padding:9px 16px !important;
    margin:0 !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.07) !important;
    color:#f4f7f6 !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
}

/* WR71 RC2.2 — FINAL DESKTOP HEADER ANCHOR FIX */
@media (min-width:851px){

  .site-header{
    position:fixed !important;
    overflow:visible !important;
  }

  .site-header nav{
    position:absolute !important;
    top:50% !important;
    right:18px !important;
    left:auto !important;
    transform:translateY(-50%) !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex:none !important;

    width:auto !important;
    max-width:none !important;
    min-width:max-content !important;

    margin:0 !important;
    padding:0 !important;
    gap:10px !important;
    overflow:visible !important;
    z-index:20 !important;
  }

  .site-header .nav-master,
  .site-header .wr71-session-panel,
  .site-header .wr71-session-time,
  .site-header .wr71-logout{
    flex:none !important;
  }

  .site-header .wr71-session-panel{
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    width:auto !important;
    margin:0 !important;
    gap:10px !important;
    overflow:visible !important;
  }

  .site-header .wr71-logout{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;

    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:76px !important;
    height:auto !important;
    padding:9px 15px !important;
    margin:0 !important;

    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.07) !important;
    color:#f4f7f6 !important;

    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    z-index:21 !important;
  }
}


/* RC2.3 · Professional Results Dashboard Polish */
.result-stats{
  align-items:stretch;
  gap:12px;
  margin:18px 0 24px;
}

.result-stats>div:not([style*="grid-column:1/-1"]){
  min-width:0;
  min-height:76px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:14px 15px;
  border-radius:16px;
  background:linear-gradient(
    145deg,
    rgba(255,255,255,.055),
    rgba(255,255,255,.032)
  );
  border:1px solid rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.result-stats>div:not([style*="grid-column:1/-1"]):hover{
  border-color:rgba(113,255,177,.16);
  background:linear-gradient(
    145deg,
    rgba(113,255,177,.055),
    rgba(182,124,255,.035)
  );
}

.result-stats small{
  line-height:1.35;
  text-transform:none;
}

.result-stats strong{
  display:block;
  max-width:100%;
  line-height:1.35;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}

/* Abschnittsüberschriften aus dem dynamischen Dashboard */
.result-stats>div[style*="grid-column:1/-1"]{
  position:relative;
  min-height:auto;
  margin:18px 0 1px;
  padding:7px 2px 9px!important;
}

.result-stats>div[style*="grid-column:1/-1"]:first-child{
  margin-top:0;
}

.result-stats>div[style*="grid-column:1/-1"]::after{
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  bottom:0;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(113,255,177,.48),
    rgba(85,215,255,.18),
    rgba(182,124,255,0)
  );
}

.result-stats>div[style*="grid-column:1/-1"] small{
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.2em!important;
  color:var(--neon)!important;
}

/* Lange WAV-/MP3-Dateinamen lesbar halten */
.result-stats>div strong{
  white-space:normal;
}

/* Tablet */
@media(max-width:980px){
  .result-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .result-stats>div:not([style*="grid-column:1/-1"]){
    min-height:72px;
  }
}

/* Mobil */
@media(max-width:560px){
  .result-stats{
    grid-template-columns:1fr;
    gap:9px;
  }

  .result-stats>div:not([style*="grid-column:1/-1"]){
    min-height:66px;
    padding:13px 14px;
  }

  .result-stats>div[style*="grid-column:1/-1"]{
    margin-top:16px;
  }

  .result-stats strong{
    font-size:13px;
  }
}


/* RC2.3 · Master a new track · White and Red */
.wr71-new-track-button{
  background:#ffffff!important;
  color:#d71920!important;
  border:1px solid rgba(215,25,32,.42)!important;
  font-weight:850!important;
  text-shadow:none!important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
  transition:
    transform .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease!important;
}

.wr71-new-track-button:hover{
  background:#fff4f4!important;
  color:#c41219!important;
  border-color:rgba(215,25,32,.72)!important;
  transform:translateY(-1px);
  box-shadow:
    0 13px 32px rgba(0,0,0,.28),
    0 0 0 3px rgba(215,25,32,.08)!important;
}

.wr71-new-track-button:active{
  transform:translateY(0);
  background:#ffeaea!important;
  box-shadow:
    0 5px 16px rgba(0,0,0,.22)!important;
}

.wr71-new-track-button:focus-visible{
  outline:3px solid rgba(255,255,255,.34)!important;
  outline-offset:3px;
}

/* WR71 Legacy Polish customer quick guide */
.legacy-polish-help-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:7px 11px;
  border:1px solid rgba(255,154,166,.38);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#ffd2d8!important;
  text-decoration:none!important;
  font-size:.72rem;
  font-weight:750;
  line-height:1.15;
  letter-spacing:.015em;
  cursor:pointer;
  position:relative;
  z-index:3;
}

.legacy-polish-help-link:hover,
.legacy-polish-help-link:focus-visible{
  border-color:rgba(255,181,190,.72);
  background:rgba(255,255,255,.10);
  color:#fff!important;
  outline:none;
}

.legacy-polish-help-link:focus-visible{
  box-shadow:0 0 0 3px rgba(255,154,166,.18);
}


/* WR71 Vocal Focus Premaster Preview V2 */
.pro-controls .slider-grid .vocal-focus-control{
  opacity:1;
}

.vocal-focus-control input#vocal:not(:disabled){
  cursor:pointer!important;
  filter:none!important;
  opacity:1!important;
}

.vocal-focus-control.wr71-vocal-preview-busy input#vocal{
  cursor:wait!important;
}

.vocal-preview-card{
  grid-column:2;
  padding:17px 18px;
  border:1px solid rgba(113,255,177,.14);
  border-radius:18px;
  background:
    linear-gradient(
      145deg,
      rgba(18,34,31,.72),
      rgba(24,20,39,.72)
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045);
  min-width:0;
}

.vocal-preview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.vocal-preview-head small{
  display:block;
  color:#71ffb1;
  font-size:9px;
  letter-spacing:.14em;
  margin-bottom:4px;
}

.vocal-preview-head strong{
  display:block;
  font-size:.86rem;
  line-height:1.35;
}

#vocalPreviewBadge{
  flex:none;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(113,255,177,.22);
  background:rgba(113,255,177,.07);
  color:#a8ffd1;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
}

.vocal-preview-card audio{
  display:none;
}

.vocal-preview-transport{
  margin-top:2px;
}

.vocal-preview-note{
  margin:9px 2px 0;
  color:rgba(255,255,255,.48);
  font-size:10px;
  line-height:1.45;
}

.vocal-preview-card.is-preparing{
  border-color:rgba(85,215,255,.28);
}

.vocal-preview-card.is-ready{
  border-color:rgba(113,255,177,.32);
}

.vocal-preview-card.is-protected{
  border-color:rgba(255,211,106,.26);
}

@media(max-width:720px){
  .vocal-preview-card{
    grid-column:1;
  }
}

/* WR71 Vocal Focus customer explanation */
.vocal-focus-help-trigger{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin-top:9px;
  padding:6px 10px;
  border:1px solid rgba(113,255,177,.24);
  border-radius:999px;
  background:rgba(113,255,177,.055);
  color:rgba(184,255,218,.86);
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.015em;
  cursor:pointer;
  user-select:none;
}

.vocal-focus-help-trigger:hover,
.vocal-focus-help-trigger:focus-visible{
  border-color:rgba(113,255,177,.56);
  background:rgba(113,255,177,.10);
  color:#fff;
  outline:none;
}

.vocal-focus-help-trigger:focus-visible{
  box-shadow:0 0 0 3px rgba(113,255,177,.14);
}

.vocal-focus-help-dialog[hidden]{
  display:none!important;
}

.vocal-focus-help-dialog{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(4,7,9,.74);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.vocal-focus-help-card{
  width:min(520px,100%);
  max-height:min(720px,calc(100vh - 44px));
  overflow:auto;
  padding:24px;
  border:1px solid rgba(113,255,177,.20);
  border-radius:22px;
  background:
    linear-gradient(
      145deg,
      rgba(20,34,31,.98),
      rgba(22,18,34,.98)
    );
  box-shadow:
    0 26px 80px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.vocal-focus-help-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.vocal-focus-help-head small{
  display:block;
  margin-bottom:5px;
  color:#71ffb1;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
}

.vocal-focus-help-head h3{
  margin:0;
  font-size:1.15rem;
  line-height:1.2;
}

.vocal-focus-help-close{
  flex:none;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.82);
  font:inherit;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.vocal-focus-help-close:hover,
.vocal-focus-help-close:focus-visible{
  border-color:rgba(113,255,177,.42);
  background:rgba(113,255,177,.09);
  color:#fff;
  outline:none;
}

.vocal-focus-help-copy p{
  margin:0 0 13px;
  color:rgba(255,255,255,.70);
  font-size:.88rem;
  line-height:1.58;
}

.vocal-focus-help-copy strong{
  color:#fff;
}

.vocal-focus-help-copy
.vocal-focus-help-audition{
  margin:17px 0 0;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.09);
  color:rgba(169,255,210,.76);
  font-size:.79rem;
}

body.wr71-vocal-help-open{
  overflow:hidden;
}

@media(max-width:560px){
  .vocal-focus-help-dialog{
    padding:14px;
  }

  .vocal-focus-help-card{
    padding:20px;
    border-radius:19px;
  }
}

/* WR71 Vocal Focus customer expectation guidance */
.vocal-focus-inline-hint{
  display:inline;
  margin-left:4px;
  color:rgba(255,255,255,.46);
  font-size:.62rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.01em;
}

.vocal-focus-wait-note{
  display:block;
  margin-top:7px;
  color:rgba(169,255,210,.68);
  font-size:.69rem;
  font-style:normal;
  line-height:1.4;
}

@media(max-width:560px){
  .vocal-focus-inline-hint{
    display:block;
    margin:3px 0 0;
  }
}

/* WR71 Vocal Focus prominent read-before-use badge */
.vocal-focus-read-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-left:6px;
  padding:4px 7px 4px 5px;
  border:1px solid rgba(255,92,108,.58);
  border-radius:999px;
  background:rgba(255,61,81,.12);
  color:#ffb4bd;
  font-size:.58rem;
  font-weight:850;
  line-height:1;
  letter-spacing:.055em;
  vertical-align:middle;
  white-space:nowrap;
}

.vocal-focus-read-badge > span{
  display:inline-grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#ff4d60;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  box-shadow:0 0 0 3px rgba(255,77,96,.10);
}

@media(max-width:560px){
  .vocal-focus-read-badge{
    margin:5px 0 0;
  }
}

/* WR71 Easy + Pro active identity · fluid spectrum V2 */
.mode-button[data-mode="easy"].active,
.mode-button[data-mode="pro"].active{
  background:
    linear-gradient(
      105deg,
      rgba(92,244,142,.74) 0%,
      rgba(67,232,170,.71) 20%,
      rgba(48,211,205,.69) 42%,
      rgba(55,178,229,.68) 62%,
      rgba(91,128,237,.70) 80%,
      rgba(151,82,237,.76) 100%
    ),
    rgba(13,20,29,.84);
  border-color:rgba(112,228,205,.52);
  color:#ffffff;
  box-shadow:
    0 12px 34px rgba(0,0,0,.25),
    -13px 0 28px rgba(71,239,139,.10),
    0 0 25px rgba(47,205,215,.08),
    13px 0 30px rgba(136,78,241,.13),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.mode-button[data-mode="easy"].active span,
.mode-button[data-mode="pro"].active span{
  color:#ffffff;
  text-shadow:0 1px 5px rgba(0,0,0,.24);
}

.mode-button[data-mode="easy"].active small,
.mode-button[data-mode="pro"].active small{
  color:rgba(255,255,255,.72);
}

.mode-button[data-mode="easy"].active:hover,
.mode-button[data-mode="pro"].active:hover{
  background:
    linear-gradient(
      105deg,
      rgba(99,250,148,.80) 0%,
      rgba(71,238,174,.77) 20%,
      rgba(52,218,210,.75) 42%,
      rgba(59,185,237,.74) 62%,
      rgba(98,135,242,.76) 80%,
      rgba(159,88,244,.82) 100%
    ),
    rgba(13,20,29,.86);
  border-color:rgba(151,239,219,.66);
  color:#ffffff;
  box-shadow:
    0 14px 38px rgba(0,0,0,.28),
    -14px 0 31px rgba(71,239,139,.13),
    0 0 28px rgba(47,205,215,.10),
    14px 0 33px rgba(136,78,241,.17),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.mode-button[data-mode="easy"].active:focus-visible,
.mode-button[data-mode="pro"].active:focus-visible{
  outline:2px solid rgba(106,235,211,.88);
  outline-offset:3px;
}

/* WR71 Vocal Focus · preparing-state attention note */
.vocal-preview-card.is-preparing .vocal-preview-note{
  color:#ff6b7a;
}

/* -------------------------------------------------------------------------
   WR71 Vocal Focus Only Pro Mode – isolated candidate v1

   Product/UI scope only:
   - Stereo Width control removed from customer-facing Pro Mode.
   - Brightness control removed from customer-facing Pro Mode.
   - Vocal Focus receives the full available width.
   - Vocal Focus Preview receives the full available width.
   - Existing Vocal Focus DSP / authorization / preview logic is untouched.
   ------------------------------------------------------------------------- */

#proControls .vocal-focus-only-grid{
  grid-template-columns:minmax(0,1fr);
  gap:18px;
}

#proControls .vocal-focus-only-grid > .vocal-focus-control,
#proControls .vocal-focus-only-grid > .vocal-preview-card{
  grid-column:1/-1;
  width:100%;
  min-width:0;
}

#proControls .vocal-focus-only-grid > .vocal-focus-control{
  padding:24px 26px 23px;
}

#proControls .vocal-focus-only-grid > .vocal-focus-control > span{
  margin-bottom:16px;
}

#proControls .vocal-focus-only-grid > .vocal-focus-control input[type="range"]{
  width:100%;
}

#proControls .vocal-focus-only-grid > .vocal-preview-card{
  margin:0;
}

@media(max-width:720px){
  #proControls .vocal-focus-only-grid > .vocal-focus-control{
    padding:19px 18px;
  }
}

/* ========================================================================
   WR71 AI Polish · Shape The Direction UI Candidate V1
   ======================================================================== */

.wr71-ai-polish-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(126, 104, 255, .55) !important;
  background:
    radial-gradient(
      circle at 8% 18%,
      rgba(83, 255, 181, .18),
      transparent 33%
    ),
    radial-gradient(
      circle at 94% 10%,
      rgba(170, 73, 255, .23),
      transparent 39%
    ),
    linear-gradient(
      108deg,
      rgba(30, 92, 73, .62) 0%,
      rgba(25, 76, 105, .66) 47%,
      rgba(73, 39, 112, .76) 100%
    ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 14px 34px rgba(61, 35, 113, .18);
}

.wr71-ai-polish-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      108deg,
      rgba(66,255,174,.09),
      rgba(62,200,255,.07) 50%,
      rgba(172,77,255,.13)
    );
}

.wr71-ai-polish-card:hover,
.wr71-ai-polish-card:has(input:checked) {
  border-color: rgba(170, 113, 255, .94) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 18px 46px rgba(75, 39, 145, .27),
    0 0 34px rgba(112, 78, 255, .16);
  transform: translateY(-1px);
}

.wr71-ai-polish-card span {
  position: relative;
  z-index: 1;
}

.wr71-ai-polish-card b {
  color: #f4efff !important;
}

.wr71-ai-polish-card small {
  color: #cfc4ff !important;
}

.wr71-ai-polish-card em {
  color: rgba(236, 242, 255, .78) !important;
}

.wr71-ai-polish-spark {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 10px;
  border-radius: 11px;
  font-style: normal;
  font-size: 1.15rem;
  color: #f8f3ff;
  background:
    linear-gradient(
      135deg,
      rgba(69,238,168,.95),
      rgba(56,177,255,.95) 48%,
      rgba(156,73,255,.98)
    );
  box-shadow:
    0 8px 24px rgba(85, 68, 201, .28);
}

.wr71-ai-polish-options {
  border-color: rgba(126, 98, 244, .38) !important;
  background:
    radial-gradient(
      circle at 6% 0%,
      rgba(62, 232, 168, .08),
      transparent 32%
    ),
    radial-gradient(
      circle at 96% 0%,
      rgba(150, 63, 255, .12),
      transparent 36%
    ),
    rgba(18, 18, 31, .58);
}

.wr71-ai-polish-options[hidden] {
  display: none !important;
}

.wr71-ai-polish-intro {
  display: flex;
  gap: 16px;
  margin: 4px 0 16px;
  padding: 15px 17px;
  border: 1px solid rgba(128, 105, 240, .24);
  border-radius: 16px;
  background:
    linear-gradient(
      110deg,
      rgba(39, 94, 75, .25),
      rgba(40, 67, 104, .25) 50%,
      rgba(79, 42, 118, .29)
    );
}

.wr71-ai-polish-intro div {
  display: grid;
  gap: 5px;
}

.wr71-ai-polish-intro small {
  color: #a995ff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .11em;
}

.wr71-ai-polish-intro strong {
  color: #f6f3ff;
  font-size: 1rem;
}

.wr71-ai-polish-intro span {
  color: rgba(232, 235, 246, .72);
  line-height: 1.55;
}

.wr71-ai-polish-air-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.wr71-ai-polish-air-card {
  position: relative;
  cursor: pointer;
}

.wr71-ai-polish-air-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.wr71-ai-polish-air-card > span {
  display: grid;
  min-height: 142px;
  gap: 4px;
  padding: 17px;
  border: 1px solid rgba(132, 118, 213, .26);
  border-radius: 17px;
  background: rgba(19, 20, 34, .78);
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    background .18s ease;
}

.wr71-ai-polish-air-card:hover > span,
.wr71-ai-polish-air-card.selected > span,
.wr71-ai-polish-air-card:has(input:checked) > span {
  border-color: rgba(149, 113, 255, .88);
  background:
    linear-gradient(
      122deg,
      rgba(37, 92, 75, .38),
      rgba(36, 68, 104, .41) 49%,
      rgba(74, 42, 116, .52)
    );
  box-shadow:
    0 14px 34px rgba(60, 39, 129, .22),
    inset 0 1px 0 rgba(255,255,255,.055);
  transform: translateY(-1px);
}

.wr71-ai-polish-air-card i {
  color: #9f8aff;
  font-size: .66rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .12em;
}

.wr71-ai-polish-air-card b {
  color: #f5f1ff;
  font-size: 1rem;
}

.wr71-ai-polish-air-card small {
  color: #bcaeff;
  font-weight: 700;
}

.wr71-ai-polish-air-card em {
  margin-top: 7px;
  color: rgba(229, 232, 244, .66);
  font-size: .78rem;
  font-style: normal;
  line-height: 1.45;
}

.wr71-ai-polish-safety-note {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 15px;
  padding: 12px 14px;
  border: 1px solid rgba(91, 193, 167, .20);
  border-radius: 14px;
  background: rgba(34, 78, 69, .16);
}

.wr71-ai-polish-safety-dot {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #65e6ba;
  box-shadow:
    0 0 14px rgba(101,230,186,.52);
}

.wr71-ai-polish-safety-note div {
  display: grid;
  gap: 2px;
}

.wr71-ai-polish-safety-note strong {
  color: rgba(239, 246, 246, .90);
  font-size: .79rem;
}

.wr71-ai-polish-safety-note small {
  color: rgba(215, 227, 226, .60);
  line-height: 1.4;
}

.wr71-ai-polish-mastering-muted-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 13px 15px;
  border: 1px solid rgba(143, 110, 255, .30);
  border-radius: 15px;
  background:
    linear-gradient(
      110deg,
      rgba(40, 86, 73, .19),
      rgba(38, 63, 96, .20) 50%,
      rgba(72, 42, 111, .28)
    );
}

.wr71-ai-polish-mastering-muted-note[hidden] {
  display: none !important;
}

.wr71-ai-polish-mastering-muted-note > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 31px;
  height: 31px;
  border-radius: 10px;
  color: white;
  background:
    linear-gradient(
      135deg,
      #42dca5,
      #3ca7ef 48%,
      #9250ef
    );
}

.wr71-ai-polish-mastering-muted-note div {
  display: grid;
  gap: 2px;
}

.wr71-ai-polish-mastering-muted-note strong {
  color: #f4f0ff;
  font-size: .82rem;
}

.wr71-ai-polish-mastering-muted-note small {
  color: rgba(222, 224, 239, .64);
  line-height: 1.42;
}

html.wr71-ai-polish-workflow
.app-panel[data-panel="3"]
fieldset.choice-group:not(.source-type-group):not(.wr71-ai-polish-options) {
  opacity: .24;
  filter:
    saturate(.42)
    brightness(.82);
  pointer-events: none;
  transition:
    opacity .2s ease,
    filter .2s ease;
}

html.wr71-ai-polish-workflow
.app-panel[data-panel="3"]
#producerDirection,
html.wr71-ai-polish-workflow
.app-panel[data-panel="3"]
.revision-actions,
html.wr71-ai-polish-workflow
.app-panel[data-panel="3"]
#proControls {
  opacity: .24 !important;
  filter:
    saturate(.42)
    brightness(.82);
  pointer-events: none;
}

html.wr71-ai-polish-workflow
.wr71-ai-polish-options {
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}

@media (max-width: 760px) {
  .wr71-ai-polish-air-grid {
    grid-template-columns: 1fr;
  }
}


/* ========================================================================
   WR71 AI Polish · Source Card Layout Preview V2
   Full Mix | AI Polish | Instrumental
   Music/FX | Vocal Stem
   ======================================================================== */

.source-type-grid .wr71-ai-polish-card {
  position: relative;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.source-type-grid .wr71-ai-polish-card::before {
  display: none !important;
}

.source-type-grid .wr71-ai-polish-card > span {
  position: relative;
  z-index: 1;
  overflow: hidden;

  /*
   * Exactly the same card geometry as the normal source cards.
   */
  min-height: 104px;
  padding: 18px;
  border-radius: 20px;

  border-color:
    rgba(126, 104, 255, .55) !important;

  background:
    radial-gradient(
      circle at 8% 18%,
      rgba(83, 255, 181, .18),
      transparent 33%
    ),
    radial-gradient(
      circle at 94% 10%,
      rgba(170, 73, 255, .23),
      transparent 39%
    ),
    linear-gradient(
      108deg,
      rgba(30, 92, 73, .62) 0%,
      rgba(25, 76, 105, .66) 47%,
      rgba(73, 39, 112, .76) 100%
    ) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 14px 34px rgba(61, 35, 113, .18);
}

.source-type-grid .wr71-ai-polish-card > span::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;

  background:
    linear-gradient(
      108deg,
      rgba(66,255,174,.09),
      rgba(62,200,255,.07) 50%,
      rgba(172,77,255,.13)
    );
}

.source-type-grid .wr71-ai-polish-card:hover > span,
.source-type-grid
.wr71-ai-polish-card:has(input:checked) > span {
  border-color:
    rgba(170, 113, 255, .94) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 18px 46px rgba(75,39,145,.27),
    0 0 34px rgba(112,78,255,.16);

  transform: translateY(-1px);
}

.source-type-grid .wr71-ai-polish-card b {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
}

.source-type-grid .wr71-ai-polish-card small {
  position: relative;
  z-index: 2;
}

.source-type-grid
.wr71-ai-polish-card
.wr71-ai-polish-spark {
  display: inline-grid;
  place-items: center;

  width: 18px;
  height: 18px;
  margin: 0;

  flex: 0 0 18px;

  border-radius: 6px;

  font-size: .72rem;
  line-height: 1;
  font-style: normal;

  color: #f8f3ff;

  background:
    linear-gradient(
      135deg,
      rgba(69,238,168,.95),
      rgba(56,177,255,.95) 48%,
      rgba(159,84,255,.96)
    );
}

@media(max-width:560px) {
  .source-type-grid .wr71-ai-polish-card > span {
    min-height: auto;
  }
}

/* ========================================================================
   WR71 AI Polish · Current Production Customer Runtime V1
   ======================================================================== */

.wr71-ai-polish-runtime-status {
  margin: 12px 0 0;
  min-height: 1.4em;
  font-size: .84rem;
  line-height: 1.45;
  opacity: .82;
}

.wr71-ai-polish-card.wr71-ai-polish-unavailable {
  opacity: .48;
  cursor: not-allowed;
}

.wr71-ai-polish-card.wr71-ai-polish-unavailable > span {
  transform: none !important;
  box-shadow: none !important;
}

#wr71AiPolishDownload {
  text-decoration: none;
}

html.wr71-ai-polish-workflow
input[name="genre"]:disabled,
html.wr71-ai-polish-workflow
input[name="character"]:disabled,
html.wr71-ai-polish-workflow
input[name="destination"]:disabled {
  cursor: not-allowed;
}



/* ========================================================================
   WR71 VOCAL FOCUS EASY + PRO V3
   Vocal Focus is a customer-facing repair control in both operating modes.
   AI Polish may visually mute mastering-profile controls, but Vocal Focus
   remains visible and interactive.
   ======================================================================== */

#proControls {
  display: block;
}

html.wr71-ai-polish-workflow
.app-panel[data-panel="3"]
#proControls {
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}

html[data-master-mode="easy"]
#proControls,
html[data-master-mode="pro"]
#proControls {
  opacity: 1;
  pointer-events: auto;
}


/* ========================================================================
   WR71 AI POLISH CLEAN WORKFLOW V4

   AI Polish is deliberately not a mastering-profile workflow.
   Keep the underlying controls/state in the DOM for the established
   WR71 wizard, but do not present irrelevant mastering choices.
   Vocal Focus remains visible and interactive.
   ======================================================================== */

html.wr71-ai-polish-workflow
.wr71-mastering-only-block {
  display: none !important;
}

html.wr71-ai-polish-workflow
#proControls {
  display: block !important;
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
  margin-top: 18px;
}

html.wr71-ai-polish-workflow
#wr71AiPolishMasteringMutedNote {
  margin-bottom: 18px;
}


/* ========================================================================
   WR71 AI POLISH COMPACT PROCESSING PICKER V5

   Once AI Polish is selected, keep the selected workflow visually focused.
   Other source types remain in the DOM and can be restored with
   "Change processing mode".
   ======================================================================== */

html.wr71-ai-polish-workflow:not(.wr71-ai-polish-picker-open)
.source-type-grid
label:not(.wr71-ai-polish-card) {
  display: none !important;
}

html.wr71-ai-polish-workflow:not(.wr71-ai-polish-picker-open)
.source-type-grid
.wr71-ai-polish-card {
  grid-column: 1 / -1;
  max-width: 100%;
}

html.wr71-ai-polish-workflow.wr71-ai-polish-picker-open
.source-type-grid
.wr71-ai-polish-card {
  grid-column: auto;
}

.wr71-ai-polish-change-processing {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
}

.wr71-ai-polish-change-processing[hidden] {
  display: none !important;
}

.wr71-ai-polish-change-processing button {
  appearance: none;
  border: 1px solid rgba(132, 255, 159, .28);
  background: rgba(13, 25, 29, .72);
  color: rgba(233, 246, 241, .82);
  border-radius: 999px;
  padding: 7px 12px;
  font: inherit;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .01em;
  cursor: pointer;
  transition:
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    transform .18s ease;
}

.wr71-ai-polish-change-processing button:hover,
.wr71-ai-polish-change-processing button:focus-visible {
  border-color: rgba(132, 255, 159, .58);
  background: rgba(24, 43, 40, .9);
  color: #fff;
}

.wr71-ai-polish-change-processing button:active {
  transform: translateY(1px);
}


/* ========================================================================
   WR71 VOCAL FOCUS REFINED SERVER ANALYSIS UI V10

   Presentation only.
   Keep the normal WR71 control/preview surfaces unchanged.
   The static heading identifies the analysis state.
   Only the actual "WR71 is checking..." line pulses gently.
   ======================================================================== */

@keyframes wr71-vocal-checking-text-pulse {
  0%,
  100% {
    opacity: .48;
    color: #d95a70;
    text-shadow:
      0 0 0
      rgba(255, 82, 103, 0);
  }

  50% {
    opacity: 1;
    color: #ff7186;
    text-shadow:
      0 0 10px
      rgba(255, 82, 103, .30);
  }
}

#proControls.wr71-vocal-server-analysis
.vocal-focus-control::before {
  content:
    "ANALYSING VOCALS · PLEASE WAIT";

  display:
    block;

  margin:
    0 0 11px;

  color:
    #d85d72;

  font-size:
    .68rem;

  font-weight:
    850;

  letter-spacing:
    .08em;

  line-height:
    1.2;
}

#proControls.wr71-vocal-server-analysis
.vocal-detect-status {
  color:
    #ff7186 !important;

  font-weight:
    800;

  animation:
    wr71-vocal-checking-text-pulse
    1.15s
    ease-in-out
    infinite;
}

@media (prefers-reduced-motion: reduce) {
  #proControls.wr71-vocal-server-analysis
  .vocal-detect-status {
    animation:
      none;

    opacity:
      1;

    color:
      #ff7186 !important;

    text-shadow:
      none;
  }
}

/* WR71 AI POLISH VERIFIED RE-UPLOAD NOTE V1 */
.wr71-ai-polish-reupload-note {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 2px;
  padding: 14px 16px;
  border: 1px solid rgba(113, 255, 177, .18);
  border-radius: 16px;
  background: rgba(113, 255, 177, .055);
}

.wr71-ai-polish-reupload-note strong {
  font-size: 13px;
  line-height: 1.35;
  color: rgba(255, 255, 255, .94);
}

.wr71-ai-polish-reupload-note span {
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255, 255, 255, .58);
}

@media (max-width: 760px) {
  .wr71-ai-polish-reupload-note {
    padding: 13px 14px;
  }
}

