/* Haunted organ is an intentionally dark illustrated instrument in both themes. */
.organ-panel{display:none;--organ-ink:#f3e2b9;--organ-muted:#c2b1ce;--organ-line:#9d7b56}
.speedtest-bench[data-style=haunted] .organ-panel{display:block;margin:24px 0;padding:24px;background:linear-gradient(145deg,#211c30,#0c1421);border:1px solid var(--organ-line);border-radius:20px;box-shadow:inset 0 0 50px #060a13;color:var(--organ-ink)}
.speedtest-bench[data-style=haunted] .speedtest-instruments,.speedtest-bench[data-style=haunted] .bloat-instrument{display:none}
.speedtest-bench[data-style=haunted] .bloat-panel{grid-template-columns:1fr}
.organ-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.organ-heading p{margin:0 0 7px!important;font:700 .6rem ui-monospace,monospace;letter-spacing:.18em;color:var(--organ-muted)!important}
.organ-heading h2{margin:0!important;font:500 clamp(1.3rem,3vw,2.25rem)/1.2 Georgia,serif;color:var(--organ-ink)!important}
.organ-season{padding:8px 12px;border:1px solid var(--organ-line);border-radius:4px;font:700 .6rem ui-monospace,monospace;letter-spacing:.09em;color:var(--organ-ink)}
.organ-panel .organ-status{color:var(--organ-muted)!important;font-size:.8rem;line-height:1.6;margin:14px 0}
.organ-stage{position:relative;overflow:hidden;border:1px solid var(--organ-line);border-radius:14px;background:#0b101d}
.organ-scene{display:block;width:100%;height:auto}
.organ-scene-caption{position:absolute;top:12px;left:16px;font:500 clamp(5px,.7vw,10px) ui-monospace,monospace;letter-spacing:.17em;color:#d9c4a1}
.organ-svg-label{fill:#edd9b0;font:600 9px ui-monospace,monospace;letter-spacing:1.3px}.organ-maker{fill:#eed5a0;font:bold italic 26px Georgia,serif}
.organ-download{--choir:#78ffc5}.organ-upload{--choir:#d696ff}
.organ-pipe-light{fill:var(--choir);opacity:var(--power);filter:drop-shadow(0 0 5px var(--choir));transition:opacity .7s ease}
.organ-lip,.organ-wisp{stroke:var(--choir);opacity:var(--power);filter:drop-shadow(0 0 4px var(--choir))}
.organ-wisp{transform-box:fill-box;transform-origin:center bottom;animation:organ-wisp 2.8s ease-in-out var(--delay) infinite alternate}
.organ-bass-light{fill:#786750;opacity:.13;transition:fill 1s,opacity 1s}.organ-bass-caption{opacity:.2;transition:opacity 1s}
.organ-panel[data-overdrive=true] .organ-bass-light{fill:#ffa65f;opacity:.95;filter:drop-shadow(0 0 8px #ff742a)}
.organ-panel[data-overdrive=true] .organ-bass-caption{opacity:1;fill:#ffcc84}
.organ-phantom{opacity:.45;transition:opacity 1s;animation:organ-hover 3.8s ease-in-out infinite alternate}
.organ-panel[data-state=running] .organ-phantom{opacity:.95}.organ-panel[data-state=complete] .organ-phantom{opacity:.7}
.organ-arm{transform-box:fill-box;transform-origin:top center;animation:organ-hands .65s ease-in-out infinite alternate}.organ-arm-right{animation-delay:-.4s;animation-direction:alternate-reverse}
.organ-key{animation:organ-keys 1.9s var(--key-delay) infinite}.organ-panel:not([data-state=running]) .organ-key{animation:none}
.organ-flame{transform-box:fill-box;transform-origin:center bottom;animation:organ-candle 1.8s ease-in-out var(--delay) infinite alternate;filter:drop-shadow(0 0 7px #ffb565)}
.organ-fog{animation:organ-mist 8s ease-in-out infinite alternate}.organ-bats{animation:organ-bats 5s ease-in-out infinite alternate}
.organ-bellows{--pressure:0;animation:organ-breathe 1.8s ease-in-out infinite alternate}.organ-bellows-bloat{animation-delay:-.9s}
.organ-panel[data-motion=false] :is(.organ-wisp,.organ-phantom,.organ-arm,.organ-key,.organ-flame,.organ-fog,.organ-bats,.organ-bellows){animation-play-state:paused}
.organ-readings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 0}
.organ-readings>div{padding:15px 12px;border:1px solid var(--organ-line);border-radius:8px;background:#101420;min-width:0}
.organ-readings dt{font:600 .62rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--organ-muted)}
.organ-readings dd{margin:7px 0 0;font:500 clamp(1rem,2vw,1.6rem) Georgia,serif;color:var(--organ-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.organ-readings dd small{font:500 .6rem ui-monospace,monospace;color:var(--organ-muted);white-space:nowrap}
.organ-panel .organ-note{font-size:.7rem;line-height:1.6;color:var(--organ-muted)!important;margin:15px 0 0}
@keyframes organ-hover{from{transform:translateY(0)}to{transform:translateY(-10px)}}
@keyframes organ-hands{from{transform:rotate(-5deg) translateY(-2px)}to{transform:rotate(5deg) translateY(5px)}}
@keyframes organ-keys{0%,30%,100%{fill:#e5dcc4}35%,48%{fill:#74d9b4}}
@keyframes organ-wisp{from{transform:scaleY(.65) translateY(3px)}to{transform:scaleY(1.2) translateY(-9px)}}
@keyframes organ-candle{from{transform:scale(.85,1)}to{transform:scale(1.05,.87)}}
@keyframes organ-mist{from{transform:translateX(-45px)}to{transform:translateX(50px)}}
@keyframes organ-bats{from{transform:translate(-12px,-3px)}to{transform:translate(18px,7px)}}
@keyframes organ-breathe{from{transform:scaleY(calc(.82 + var(--pressure)*.12))}to{transform:scaleY(calc(1.04 + var(--pressure)*.3))}}
@media(max-width:650px){.speedtest-bench[data-style=haunted] .organ-panel{padding:15px 9px}.organ-heading{gap:10px}.organ-heading p{font-size:.5rem;letter-spacing:.1em}.organ-season{font-size:.5rem;padding:6px 8px}.organ-readings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.organ-readings>div{padding:12px 10px}.organ-scene-caption{top:7px;left:7px;letter-spacing:.05em}.organ-panel .organ-status{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.organ-panel *{animation:none!important;transition:none!important}}
.organ-audio-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;color:var(--organ-muted);font-size:.85rem}.organ-audio-controls label{display:flex;align-items:center;gap:.5rem}.organ-audio-controls input{width:auto;margin:0}.organ-audio-controls [hidden]{display:none}

.organ-bank[data-hot=true] .organ-pipe{filter:drop-shadow(0 0 6px #ff9b38) drop-shadow(0 0 15px #ff6500)}
