/* Direct, native controls sit within the existing editorial composition. */
.material-dial{margin:20px 0 8px;max-width:470px;--dial-progress:0%;}
.dial-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;font:11px/1.5 var(--sans);color:var(--stone)}
.dial-heading label{cursor:pointer}.dial-heading output{font:italic 14px/1.4 var(--serif);color:var(--gold);white-space:nowrap}
.material-dial input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:36px;display:block;margin:6px 0 0;cursor:ew-resize;background:transparent;accent-color:var(--gold);touch-action:pan-y;border:0;padding:0}
.material-dial input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--gold) var(--dial-progress),#c9a96b40 var(--dial-progress));border:0}
.material-dial input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;margin-top:-7px;border-radius:50%;background:#0c271d;border:2px solid var(--gold);box-shadow:0 0 0 5px #c9a96b0f}
.material-dial input[type=range]::-moz-range-track{height:2px;background:#c9a96b40}.material-dial input[type=range]::-moz-range-progress{height:2px;background:var(--gold)}
.material-dial input[type=range]::-moz-range-thumb{height:13px;width:13px;border-radius:50%;background:#0c271d;border:2px solid var(--gold)}
.material-dial input:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.dial-endpoints{display:flex;justify-content:space-between;font:9px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#b7baa7;margin-top:-2px}
.material-dial p{font:11px/1.6 var(--sans);color:#a6b5a7;margin:9px 0 0}
.process-dial{margin-top:8px}.fibre-dial{margin-top:14px}.seed-dial{margin-top:24px}
#guided-status{position:fixed;left:4.2%;bottom:72px;z-index:39;font:italic 13px/1.5 var(--serif);color:var(--gold);pointer-events:none;text-shadow:0 1px 12px #06130f}
#seed .seed-dial+button{margin-top:8px}#process .transformation-controls{margin-bottom:10px}#process .process-switch{margin-top:12px}
.process-study-stage,.fibre-study-stage{display:none}
body.editorial .seed-art{display:grid!important;grid-template-columns:1fr;align-items:center}
body.editorial .seed-art img{grid-area:1/1;width:100%;align-self:center}body.editorial .seed-art figcaption{grid-area:2/1}
#sound-dialog{width:min(620px,calc(100% - 24px))}.sound-intro{color:#c8cec1;line-height:1.85}.sound-dial{margin-top:26px;max-width:none}
.sound-scene{position:relative;margin:28px 0;padding:25px 0 20px;border-top:1px solid #c9a96b35;border-bottom:1px solid #c9a96b35;overflow:hidden}
.sound-scene>p{font:italic 26px/1.3 var(--serif);color:var(--gold);margin:12px 0}
.sound-lines{position:absolute;right:10px;bottom:28px;display:flex;align-items:center;gap:5px;height:36px;opacity:.4}
.sound-lines i{display:block;width:1px;height:8px;background:var(--gold);transform-origin:center}.sound-lines i:nth-child(2n){height:20px}.sound-lines i:nth-child(3n){height:30px}
body.sound-enabled:not(.reduced-motion) #sound-dialog[open] .sound-lines i{animation:sound-breathe 2.8s ease-in-out infinite alternate}.sound-lines i:nth-child(2n){animation-delay:-1.3s!important}.sound-lines i:nth-child(3n){animation-delay:-.7s!important}
@keyframes sound-breathe{to{transform:scaleY(.4);opacity:.5}}
@media(max-width:700px){
 #guided-status{left:5%;bottom:100px;font-size:12px}
 .material-dial{max-width:none}.dial-heading{gap:10px;font-size:11px}.dial-heading output{font-size:13px}
 body:not(.editorial) #process,body:not(.editorial) #circular{display:block;padding-bottom:140px}
 body:not(.editorial) .process-study-stage,body:not(.editorial) .fibre-study-stage{display:block;height:350px;margin:22px 0 0}
 body:not(.editorial) #process .object-label,body:not(.editorial) #circular .object-label{position:relative;inset:auto;margin:18px auto 0;text-align:center}
 body[data-chapter="4"] .world-shade,body[data-chapter="6"] .world-shade{background:linear-gradient(0deg,#06130eaa,transparent 27%),linear-gradient(180deg,#06130eaa,transparent 40%)}
}
@media(prefers-reduced-motion:reduce){body:not(.motion-opt-in) .sound-lines i{animation:none!important}}
