/* Original motion and procedural sound controls; no external media. */
[data-page=index] .detective-hero,[data-page=history] .page-heading{position:relative;isolation:isolate}
.scene-depth{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:paint}
.scene-orbit{position:absolute;right:7%;top:7%;width:min(46vw,590px);aspect-ratio:1;border:1px solid #b8ac7520;border-radius:50%;background:radial-gradient(ellipse,#9aa3720c,transparent 68%)}
.scene-orbit:before,.scene-orbit:after{content:'';position:absolute;inset:12%;border:1px solid #b8ac751c;transform:rotate(35deg)}
.scene-orbit:after{inset:27%;transform:rotate(65deg)}
.scene-glyph{position:absolute;left:5%;top:30%;font:clamp(90px,16vw,260px)/1 Georgia,serif;color:#b4a57409;transform:rotate(-14deg)}
.depth-layer{translate:0 var(--depth-y,0px)}
.history-timeline-section{position:relative}
.time-event .time-content{transition:border-color .5s}
.time-event.era-active .time-content{border-color:#c9b786}
.time-event.era-active .time-content:before{background:#dec894;box-shadow:0 0 0 5px #c6b17812,0 0 24px #c6b17855}
.time-event .time-content:before{transition:background .5s,box-shadow .5s}
.sound-controls{position:fixed;right:22px;bottom:22px;z-index:45;color:#d9ceb1;font-size:12px}
.sound-controls>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 14px;background:#192c24;border:1px solid #6d765250;border-radius:24px;box-shadow:0 5px 24px #0003;user-select:none}
.sound-controls>summary::-webkit-details-marker{display:none}
.sound-controls>summary:before{content:'♫';font:17px Georgia,serif;color:#b7b48d}
.sound-controls.is-playing>summary:before{color:#f0d69f;text-shadow:0 0 12px #c5b17b}
.sound-controls summary:focus-visible,.sound-panel button:focus-visible,.sound-panel input:focus-visible{outline:2px solid #e2c88c;outline-offset:3px}
.sound-panel{position:absolute;right:0;bottom:54px;width:260px;max-width:calc(100vw - 40px);background:#17271f;border:1px solid #6f7654;border-radius:9px;padding:18px;box-shadow:0 14px 50px #0006;white-space:normal}
.sound-panel h2{font-size:16px;line-height:1.5;margin:0 0 5px;font-weight:400}
.sound-panel p{font-size:11px;line-height:1.8;margin:0 0 12px;color:#aab59c}
.sound-panel button{display:block;width:100%;text-align:left;min-height:44px;margin:7px 0;padding:8px 12px;border:1px solid #74815b55;border-radius:5px;background:#203429;color:#c6ceb6;font:inherit;cursor:pointer}
.sound-panel button[aria-pressed=true]{color:#f0d9a7;border-color:#c2ad79;background:#35432d}
.sound-panel label{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:12px}
.sound-panel input{width:135px;accent-color:#c9b486;min-height:32px}
.sound-panel .sound-status{margin:10px 0 0;font-size:10px}
.game-frame{position:relative}
.game-frame .sound-controls{position:static;flex:none;z-index:12;font-size:10px}
.game-frame .sound-controls>summary{border:0;border-radius:4px;background:transparent;box-shadow:none;min-height:30px;padding:4px 6px;gap:4px}
.game-frame .sound-panel{top:60px;bottom:auto;right:12px}
.game-frame .toolbar-right{gap:12px}
.table-fx-layer{position:absolute;inset:0;pointer-events:none;z-index:8;overflow:hidden;border-radius:inherit}
.flying-card{position:absolute;pointer-events:none;filter:drop-shadow(0 6px 8px #0005);transform-origin:50% 50%}
.flying-card svg{width:100%;height:100%;display:block}
.turn-flash{position:absolute;width:110px;height:110px;border:1px solid #ddc58a55;border-radius:50%;background:radial-gradient(circle,#cfb87d18,transparent 65%);pointer-events:none}
.game-frame .duel-card{transition:box-shadow .2s,filter .2s}
.game-frame .duel-card[aria-pressed=true]{box-shadow:0 0 0 2px #d4bb7c,0 0 20px #d4bb7c45}
.game-frame .player-caption{transition:color .3s}
.game-frame .duel-table.is-final-round{box-shadow:inset 0 0 65px #b89a3620}
.game-frame .duel-table.is-final-round .table-bottomline{color:#ead098}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.game-frame .duel-card:hover{filter:brightness(1.12);box-shadow:0 5px 14px #0004}.game-frame .deck-button:not(:disabled):hover{filter:brightness(1.18)}}
@media(max-width:760px){
 .scene-orbit{width:80vw;right:-20%;top:15%}.scene-glyph{font-size:120px}
 .sound-controls{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
 .game-frame .toolbar-right{gap:5px}.game-frame .sound-controls>summary{min-height:26px;padding:2px 3px;font-size:9px}
 .game-frame .sound-panel{top:80px;right:8px}
 .time-year.depth-layer{translate:none}
}
@media(max-width:760px) and (max-height:620px){.game-frame .sound-panel{top:66px;padding:12px}.sound-panel button{margin:5px 0}.sound-panel label{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.depth-layer{translate:none!important}.time-event .time-content,.time-event .time-content:before,.game-frame .duel-card{transition:none}.table-fx-layer{display:none}}
