.sub-panel{display:none;--sub-ink:#f3e4bc;--sub-muted:#b3c8bc;--sub-line:#8c815c}
.speedtest-bench[data-style=submarine] .sub-panel{display:block;margin:24px 0;padding:24px;border:1px solid var(--sub-line);border-radius:20px;background:linear-gradient(145deg,#183638,#0b202b);color:var(--sub-ink);box-shadow:inset 0 0 40px #031b25}
.speedtest-bench[data-style=submarine] .speedtest-instruments,.speedtest-bench[data-style=submarine] .bloat-instrument{display:none}
.speedtest-bench[data-style=submarine] .bloat-panel{grid-template-columns:1fr}
.sub-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.sub-heading p{margin:0 0 7px!important;font:700 .6rem ui-monospace,monospace;letter-spacing:.17em;color:var(--sub-muted)!important}
.sub-heading h2{margin:0!important;font:500 clamp(1.3rem,3vw,2.2rem)/1.2 Georgia,serif;color:var(--sub-ink)!important}
.sub-speed-order{padding:9px 13px;border:1px solid var(--sub-line);border-radius:4px;background:#1c3936;font:700 .65rem ui-monospace,monospace;letter-spacing:.12em;color:var(--sub-ink)}
.sub-panel[data-overdrive=true] .sub-speed-order{border-color:#f1bd79;background:#674331;color:#fff0bc;box-shadow:0 0 15px #ffd16c22}
.sub-panel .sub-status{margin:14px 0;font-size:.8rem;line-height:1.6;color:var(--sub-muted)!important}
.sub-hull{border:1px solid #adac86;border-radius:18px;overflow:hidden;background:#133137;box-shadow:0 8px 22px #00131d66}
.sub-scene{display:block;width:100%;height:auto}
.sub-svg-label{font:600 9px ui-monospace,monospace;letter-spacing:1px;fill:#dad9af}.sub-nameplate{font:600 12px Georgia,serif;letter-spacing:1.3px;fill:#e8d5a7}
.sub-sonar-title{font:600 9px ui-monospace,monospace;letter-spacing:2px;fill:#7fc69b}.sub-sonar-value{font:500 21px ui-monospace,monospace;fill:#baffce;filter:drop-shadow(0 0 4px #8effa7)}
.sub-gauge-title{font:700 10px Georgia,serif;letter-spacing:1px;fill:#344c44}.sub-gauge-small{font:700 7px ui-monospace,monospace;fill:#31463e;letter-spacing:.15px}.sub-telegraph-word{font:700 11px ui-monospace,monospace;fill:#3d4b3d}
.sub-order-needle,.sub-pressure-needle{transition:transform .7s ease}.sub-sonar-sweep{filter:drop-shadow(0 0 3px #67ff95)}.sub-echo{filter:drop-shadow(0 0 4px #9bffbe)}
.sub-fish{animation:sub-fish 6s ease-in-out infinite alternate}.sub-bubbles{animation:sub-bubbles 3.5s linear infinite}.sub-wake{animation:sub-wake 1.6s var(--delay) linear infinite}
.sub-panel[data-motion=false] :is(.sub-fish,.sub-bubbles,.sub-wake){animation-play-state:paused}.sub-panel:not([data-state=running]) .sub-wake{opacity:0}
.sub-panel[data-overdrive=true] .sub-propeller{filter:drop-shadow(0 0 5px #e8c66b66)}
.sub-readings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 0}
.sub-readings>div{padding:15px 12px;border:1px solid var(--sub-line);border-radius:8px;background:#10282c;min-width:0}
.sub-readings dt{font:600 .63rem ui-monospace,monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--sub-muted)}
.sub-readings dd{margin:7px 0 0;font:500 clamp(1rem,2vw,1.6rem) Georgia,serif;font-variant-numeric:tabular-nums;color:var(--sub-ink);overflow-wrap:anywhere}
.sub-readings dd small{font:500 .6rem ui-monospace,monospace;white-space:nowrap;color:var(--sub-muted)}
.sub-panel .sub-note{font-size:.7rem;line-height:1.6;color:var(--sub-muted)!important;margin:15px 0 0}
@keyframes sub-fish{from{transform:translateX(-13px)}to{transform:translateX(17px)}}
@keyframes sub-bubbles{from{transform:translateY(28px);opacity:0}15%,75%{opacity:.5}to{transform:translateY(-110px);opacity:0}}
@keyframes sub-wake{from{transform:translateX(12px);opacity:0}20%{opacity:.65}to{transform:translateX(-28px);opacity:0}}
@media(max-width:650px){.speedtest-bench[data-style=submarine] .sub-panel{padding:15px 9px}.sub-heading{gap:10px}.sub-heading p{font-size:.5rem;letter-spacing:.1em}.sub-speed-order{font-size:.52rem;padding:7px 9px}.sub-readings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sub-readings>div{padding:12px 10px}.sub-panel .sub-status{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.sub-panel *{animation:none!important;transition:none!important}}
.sub-audio-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;color:var(--sub-muted);font-size:.85rem}.sub-audio-controls label{display:flex;align-items:center;gap:.5rem}.sub-audio-controls input{width:auto;margin:0}.sub-audio-controls span{font-size:.7rem}
