/* Sound controls and quiet, action-linked visual effects. */
.experiment-guide{display:flex;gap:24px;align-items:center;justify-content:space-between;margin:12px 0 24px;padding:22px;border:1px solid #b3c9a4;background:#eef4e6;border-radius:18px}
.experiment-guide h2{font-size:1.3rem;margin:4px 0 8px}.experiment-guide p{max-width:62ch;margin-bottom:4px}.experiment-guide .button-row{flex-shrink:0;flex-direction:column;align-items:stretch}
.tour-steps{padding-left:24px;line-height:1.7}.tour-steps li{margin:12px 0}
#trial-table:focus{outline:3px solid #739a68;outline-offset:6px;border-radius:8px}#playback-status{padding:0 20px 12px;line-height:1.5}
@media(max-width:700px){.experiment-guide{display:block}.experiment-guide .button-row{margin-top:16px;flex-direction:row;flex-wrap:wrap}}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:18px;flex-shrink:0}
.header-tools .header-profile{margin-left:0}
.sound-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #d5dccb;border-radius:30px;color:var(--green);background:#f0f2e8;font-size:.72rem;white-space:nowrap;cursor:pointer}
.sound-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sound-button[data-enabled=false]{background:transparent;color:#677267}
.sound-button[data-enabled=false] svg{opacity:.65}
.sound-button:hover{background:#e5ecdd;border-color:#abbf9b}
.sound-button:focus-visible{outline:3px solid #b6924d;outline-offset:4px}
.profile-sound-card{display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:#f1f3e8;padding:20px;border-radius:16px;margin:22px 0}
.profile-sound-card>div{flex:1;min-width:140px}.profile-sound-card strong{font-family:var(--serif);font-size:1.25rem}
.profile-sound-card p{font-size:.81rem;margin:7px 0 0;line-height:1.6}.profile-sound-card .secondary{width:100%}
.sound-note{display:grid;place-items:center;width:44px;height:44px;background:#e3e9d6;border-radius:50%;font-size:1.8rem;color:#658365}
.sound-panel h2{font-size:2.25rem;margin:10px 0 15px}.sound-panel>p:not(.eyebrow){line-height:1.7;color:var(--muted);font-size:.9rem}
.sound-panel .now-playing{display:flex;align-items:center;gap:17px;padding:20px 17px;margin:23px 0;background:#f0f2e5;border:1px solid #e0e5d3;border-radius:17px}
.now-playing>div:last-child{min-width:0}.now-playing strong{display:block;font-family:var(--serif);font-size:1.25rem}
.now-playing div>span{display:block;color:#677562;font-size:.74rem;margin-top:6px}
.now-playing output{display:block;font-size:.73rem;color:#355c4b;margin-top:8px;line-height:1.5}
.sound-record{width:62px;height:62px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:repeating-radial-gradient(circle,#456352 0 2px,#506f5c 3px 4px);box-shadow:0 3px 8px #355c4b20}
.sound-record span{display:grid;place-items:center;border-radius:50%;width:27px;height:27px;background:#eadbb3;color:#3b5a49;font:24px Georgia}
.sound-record.is-playing{animation:record-turn 18s linear infinite}
.sound-panel .full{width:100%;min-height:46px}.sound-mixer{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sound-channel{padding:5px 0 8px;border-bottom:1px solid var(--line)}
.sound-channel .toggle-row{padding:18px 0 12px;margin:0;border:0}.sound-channel .toggle-row strong{font-size:.92rem}.sound-channel .toggle-row small{font-size:.76rem}
.sound-panel .sound-volume{margin:0;font-size:.79rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;color:#56674f}
.sound-volume output{font-variant-numeric:tabular-nums;font-size:.77rem}
.sound-volume input[type=range]{width:100%;min-height:35px;margin:0;accent-color:var(--green);cursor:pointer}
.sound-panel .button-row{margin:20px 0 15px;justify-content:space-between}.sound-panel .secondary{font-size:.81rem}
.sound-panel .quiet{font-size:.76rem!important;line-height:1.65}.sound-panel kbd{font:inherit;background:#e7ebdd;padding:2px 5px;border-radius:4px}
#effects-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:90;contain:strict}
.effect-mote{position:absolute;border-radius:50%;will-change:transform,opacity;pointer-events:none}
.effect-star{border-radius:1px;clip-path:polygon(50% 0,63% 36%,100% 50%,63% 63%,50% 100%,36% 63%,0 50%,36% 36%)}
.effect-ring{position:absolute;width:100px;height:100px;border:1px solid #b3bd83;border-radius:50%;pointer-events:none}
.hero-picture{isolation:isolate}.museum-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.museum-atmosphere i{position:absolute;width:5px;height:5px;background:#c6b178;border-radius:50%;opacity:.5;animation:museum-drift var(--drift) ease-in-out var(--delay) infinite}
.museum-atmosphere i:nth-child(2n){width:3px;height:3px;background:#8fa98b}
.world-card svg{transition:transform .45s cubic-bezier(.2,.6,.2,1),filter .45s}
@media(hover:hover){.world-card:hover svg{transform:translateY(-3px);filter:saturate(1.1)}.world-card:hover .world-copy h3>span{transform:translate(3px,-3px)}}
.world-copy h3>span{display:inline-block;transition:transform .3s}
.lab-main #scene{position:relative;overflow:hidden}.lab-main.model-running #scene:after{content:'';position:absolute;inset:2px;border:1px solid #a5bba155;border-radius:20px;box-shadow:inset 0 0 30px #adc6a31c;pointer-events:none;animation:lab-breathe 3.5s ease-in-out infinite}
@keyframes museum-drift{0%,100%{transform:translate(0,9px);opacity:.25}50%{transform:translate(8px,-15px);opacity:.7}}
@keyframes record-turn{to{transform:rotate(360deg)}}
@keyframes lab-breathe{0%,100%{opacity:.35}50%{opacity:.85}}
.effects-off .museum-atmosphere,.effects-off .model-running #scene:after{display:none}
.effects-off .world-card svg,.effects-off .world-copy h3>span{transition:none;transform:none}
.reduce-motion *, .reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1100px){.site-header{gap:22px}.header-tools{gap:10px}.sound-button{width:44px;padding:10px}.sound-button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.desktop-nav{gap:18px}}
@media(max-width:600px){.sound-mixer{grid-template-columns:1fr;gap:0}.header-tools{gap:10px}.site-header{gap:12px}.sound-panel h2{font-size:1.95rem}.sound-panel .now-playing{padding:17px 13px;gap:12px}.sound-record{width:52px;height:52px}.sound-channel .toggle-row{gap:12px}.sound-volume input[type=range]{min-height:44px}.sound-panel .button-row{gap:10px}.sound-panel .secondary{padding:12px;font-size:.76rem}.profile-sound-card{padding:17px}}
@media(max-width:359px){.header-tools{gap:5px}.header-profile>div{display:none!important}.sound-panel h2{font-size:1.75rem}.now-playing strong{font-size:1.07rem}.now-playing div>span{font-size:.69rem}.sound-panel .button-row>*{width:100%}.sound-panel .now-playing{margin:17px 0}}
@media(prefers-reduced-motion:reduce){.museum-atmosphere,.model-running #scene:after{display:none}.world-card svg,.world-copy h3>span{transition:none;transform:none}}
@media print{#effects-layer,.sound-button,.museum-atmosphere,.profile-sound-card{display:none!important}}
