/* Interference is brief and confined to the archive furniture. Reading text stays still. */
.effects-toggle,.sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:30px;padding:4px 8px;border:1px solid #5b565c;background:#969195;color:#201b22;font:9px/1.5 var(--mono);cursor:pointer}
.effects-toggle i{width:5px;height:5px;background:#39343b;display:block;box-shadow:0 0 0 2px #29232c20}
.effects-toggle[aria-pressed="true"] i{background:#7d251d;box-shadow:0 0 5px #9f221b70}
.effects-toggle:disabled{cursor:default;opacity:.65}
.effects-toggle:focus-visible,.sound-toggle:focus-visible{outline:2px solid #211a22;outline-offset:3px}
.sound-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sound-toggle .sound-waves{opacity:.35}
.sound-toggle[aria-pressed="true"]{color:#692b25;background:#bbb1b0}
.sound-toggle[aria-pressed="true"] .sound-waves{opacity:1}
.sound-toggle[data-state="starting"]{opacity:.65}
.signal-title{position:relative;isolation:isolate}
.signal-title-echo{position:absolute;inset:0;pointer-events:none;user-select:none;color:#fb4937;text-shadow:5px 0 #69b6c2;opacity:0}
.signal-title-echo span{color:inherit!important}
.signal-error{position:fixed;right:30px;bottom:30px;z-index:34;display:grid;gap:6px;width:244px;padding:18px 22px;background:#110c0cf2;box-shadow:0 16px 70px #0009;color:#f24c39;pointer-events:none;visibility:hidden;font:10px/1.4 var(--mono);letter-spacing:.06em;isolation:isolate}
.signal-error-code{font:27px/1.2 var(--pixel);letter-spacing:-.02em}
.signal-error-detail{color:#bd9b93;font-size:8px;letter-spacing:.1em}
.signal-error::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;background:#ec4938}
.signal-burst .signal-title-echo{animation:title-break 1.1s steps(1,end) both}
.signal-burst .archive-mark,.signal-burst .brand-mark{animation:emblem-break 1.1s steps(1,end) both}
.signal-burst .signal-error{visibility:visible;animation:error-arrival 1.1s steps(1,end) both}
.signal-enabled .record-link:hover .record-main h2{color:#f2d9cf;text-shadow:1px 0 #be423590,-1px 0 #7da1b370}
.signal-enabled .toc button:hover{color:#f7cfbe;text-shadow:1px 0 #d4554440}
@keyframes title-break{0%,14%,34%,100%{opacity:0;transform:none;clip-path:inset(0)}4%,10%{opacity:.85;transform:translateX(-5px);clip-path:inset(12% 0 58%)}22%,28%{opacity:.75;transform:translateX(5px);clip-path:inset(63% 0 8%)}}
@keyframes emblem-break{0%,14%,34%,100%{filter:none;transform:none}4%,10%{filter:drop-shadow(-4px 0 #d8392c) drop-shadow(4px 0 #70acbc);transform:translateX(-1px)}22%,28%{filter:drop-shadow(3px 0 #d8392c);transform:translateX(1px)}}
@keyframes error-arrival{0%{opacity:0;transform:translateX(4px)}4%,20%{opacity:1;transform:translateX(-2px)}24%,72%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@media(max-width:650px){.topbar-right{gap:7px}.effects-toggle,.sound-toggle{min-height:28px;padding:4px 6px;font-size:8px}.signal-error{right:16px;bottom:16px;width:210px}}
@media(max-width:430px){.effects-toggle>span,.sound-toggle>span{display:none}.effects-toggle,.sound-toggle{min-width:28px;gap:0;padding:4px 6px}.effects-toggle i{width:7px;height:7px}}
@media(prefers-reduced-motion:reduce){.signal-title-echo,.signal-error{display:none!important}.signal-burst .archive-mark,.signal-burst .brand-mark{animation:none!important}}
@media print{.effects-toggle,.sound-toggle,.signal-title-echo,.signal-error{display:none!important}.signal-burst .archive-mark,.signal-burst .brand-mark{animation:none!important}}
