/* The same paper stays on the desk as a deduction becomes a conversation. */
.discovery-note{margin:25px auto 46px;padding:28px 24px 28px 30px;max-width:740px;border-left:1px solid #c9a46b;background:linear-gradient(90deg,#ad874b15,transparent);text-align:left}
.discovery-note .eyebrow{font-size:10px;letter-spacing:.18em;color:#b89c70}
.discovery-note h3{font-size:clamp(23px,3vw,32px);line-height:1.65;margin:12px 0;color:#ecd5ab;font-weight:400;text-wrap:pretty}
.discovery-note>p:last-child{font-size:15px;line-height:1.9;color:#c3b090}
.deduction-invitation{margin-top:20px!important;color:inherit!important;opacity:.8;line-height:1.8}
.deduction .choice{position:relative;background:#d5bf96 url('../assets/optimized/01d30f3c188507d9/library/opening/victorian-stationery.webp') center/100% 100%;color:#4e3a27;border:0;border-radius:2px;padding:22px 25px;box-shadow:2px 5px 13px #0003;transform:rotate(-.55deg);transition:transform .35s,box-shadow .35s,filter .35s}
.deduction .choice:nth-child(2){transform:rotate(.35deg)}
.deduction .choice:nth-child(3){transform:rotate(-.25deg)}
.deduction .choice>span:first-child,.deduction .choice>span:last-child{color:#81603a}
.deduction .choice:not(:disabled):hover,.deduction .choice:focus-visible{background:#e6d2ad url('../assets/optimized/01d30f3c188507d9/library/opening/victorian-stationery.webp') center/100% 100%;transform:translateY(-4px) rotate(0);box-shadow:2px 12px 20px #0005;outline:2px solid #b89963;outline-offset:3px}
.deduction .choice.is-wrong{filter:saturate(.55);box-shadow:inset 3px 0 #8d6341,2px 4px 10px #0004;transform:translateX(-4px) rotate(-.7deg)}
.evidence-reconsider{grid-column:2;justify-self:start;font-size:13px;color:#d4b77c;padding-block:8px;line-height:1.7}
.return-to-deduction,.evidence-return{display:block;text-align:right;font-size:13px;margin:16px 0 24px;line-height:1.8;color:#d8b878}
.evidence-reconsider[hidden],.return-to-deduction[hidden]{display:none}
.deduction.deduction-resolved{background:transparent;color:#e6d4b5;display:block;padding-top:35px;scroll-margin-top:25px;max-width:none}
.submitted-deduction{max-width:760px;margin:0 auto 22px;padding:25px 38px;background:#d8c39e url('../assets/optimized/01d30f3c188507d9/library/opening/victorian-stationery.webp') center/100% 100%;color:#493724;box-shadow:0 8px 22px #0004;position:relative;z-index:2;scroll-margin-top:30px;outline:none}
.submitted-deduction .eyebrow{font-size:11px;letter-spacing:.13em;color:#8a6940;margin:0 0 9px}
.submitted-words{font-size:17px;line-height:1.9;margin:0;text-wrap:pretty}
.case-continued .result{padding:10px 0 45px;max-width:none;overflow:visible;background:none;min-height:0}
.case-continued .result>.text-button:first-child{display:none}
.case-continued .result.poirot-reveal-scene .result-layout{grid-template-columns:155px minmax(0,1fr) 110px;gap:28px}
.case-continued .result.poirot-reveal-scene .poirot-verdict{grid-column:2;grid-row:1;min-width:0}
.case-continued .result.poirot-reveal-scene .poirot-portrait{grid-column:3;grid-row:1;position:sticky;top:30px;width:110px;height:220px;left:auto;bottom:auto;margin-top:35px}
.case-continued .revealed-bookmark .prop{max-width:145px;height:290px}
.case-continued .revealed-bookmark h1{font-size:29px}
.case-continued .revealed-bookmark .eyebrow{font-size:10px}
.case-continued .result .poirot-verdict>h2{font-size:25px}
.case-continued .result .poirot-verdict>p:not(.eyebrow):not(.stage-direction){font-size:16px}
.case-continued [hidden]{display:none!important}
.case-continued button:disabled{cursor:default}
.verdict-evidence-link{display:inline-block;font-size:13px;color:#ccaa70;line-height:1.7;margin:-9px 0 9px;text-decoration:underline;text-decoration-color:#b9985555;text-underline-offset:5px}
.result.ready-to-depart:not(.departing):not(.is-departed) .revealed-bookmark{transform-origin:bottom center;animation:prepare-to-leave 1.4s ease-in-out!important}
@keyframes prepare-to-leave{40%{transform:rotate(-1.2deg) translateY(-3px)}to{transform:none}}
.next-question{font-size:13px!important;line-height:1.7!important;color:#e2c48b!important;margin-top:12px!important;max-width:280px}
.case-return .bookmark-slot.is-active .bookmark>.prop{animation:next-witness 1.3s .6s ease-in-out both}
@keyframes next-witness{0%,100%{transform:none}35%{transform:translateY(-12px) rotate(-3deg)}65%{transform:translateY(-7px) rotate(2deg)}}
/* Each ink silhouette disappears in turn while all ten verses remain intact. */
.poem-witnesses{display:flex;justify-content:center;gap:13px;height:35px;margin:-6px 0 19px;opacity:0;transition:opacity .6s}
.is-unsealed .poem-witnesses{opacity:1}
.poem-witnesses i{position:relative;display:block;width:9px;height:25px;margin-top:7px;border-radius:45% 45% 10% 10%;background:#77583b;transform-origin:bottom;transition:opacity .7s,transform .9s}
.poem-witnesses i:before{content:'';position:absolute;top:-7px;left:1px;width:7px;height:7px;background:inherit;border-radius:50%}
.poem-witnesses i:after{content:'';position:absolute;left:-4px;right:-4px;bottom:-4px;border-bottom:1px solid #77583b77}
.poem-witnesses i.has-left{opacity:.12;transform:scaleY(.08)}
/* Small line drawings echo the prop in the cutout without repainting the original. */
.inspection-copy{position:relative}
.inspection-route{margin-top:25px}
.bookmark-echo{position:absolute;right:-32px;top:32%;width:65px;height:85px;pointer-events:none;opacity:.7;color:#d3ac68}
.bookmark-echo svg{width:100%;height:100%;overflow:visible}
.bookmark-echo path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:320;stroke-dashoffset:0;animation:prop-ink 1.3s .2s both}
@keyframes prop-ink{from{stroke-dashoffset:320;opacity:0}to{stroke-dashoffset:0;opacity:.8}}
.echo-1,.echo-10{transform-origin:50% 15%;animation:prop-swing 1.6s .2s both}
.echo-2{animation:prop-tighten 1.5s .2s both}
.echo-3,.echo-4{animation:prop-balance 1.5s .2s both}
.echo-5,.echo-9{animation:prop-wash 1.8s .2s both}
.echo-6{animation:prop-unroll 1.5s .2s both}
.echo-7{color:#b76b59;animation:prop-unroll 1.5s .2s both}
.echo-8{animation:prop-write 1.4s .2s both}
@keyframes prop-swing{0%{transform:rotate(0)}25%{transform:rotate(13deg)}55%{transform:rotate(-9deg)}80%{transform:rotate(4deg)}100%{transform:none}}
@keyframes prop-tighten{40%{transform:scaleX(.65) scaleY(1.12)}100%{transform:none}}
@keyframes prop-balance{30%{transform:rotate(-9deg)}65%{transform:rotate(6deg)}100%{transform:none}}
@keyframes prop-wash{0%{opacity:0;filter:blur(5px)}45%{opacity:.9}100%{opacity:.55;filter:none}}
@keyframes prop-unroll{0%{transform:scaleY(.2);opacity:0}100%{transform:none;opacity:.7}}
@keyframes prop-write{30%{transform:translate(-5px,4px)}60%{transform:translate(6px,-3px)}100%{transform:none}}
.inspection-layout[data-character="3"] .inspection-front>.prop{animation:prop-balance 1.5s both}
.inspection-layout[data-character="1"] .inspection-front>.prop,.inspection-layout[data-character="10"] .inspection-front>.prop{transform-origin:50% 80%;animation:prop-swing 1.6s both}
@media(max-width:900px){
 .case-continued .result.poirot-reveal-scene .result-layout{grid-template-columns:1fr 1fr;gap:0 24px}
 .case-continued .result.poirot-reveal-scene .poirot-verdict{grid-column:1/-1;grid-row:2}
 .case-continued .result.poirot-reveal-scene .poirot-portrait{grid-column:2;grid-row:1;position:relative;top:0;align-self:center;justify-self:center;width:110px;height:210px;margin-top:10px}
 .case-continued .revealed-bookmark{padding-top:20px}
 .case-continued .revealed-bookmark .prop{height:230px}
}
@media(max-width:760px){
 .discovery-note{padding:18px 16px 18px 19px;margin:24px 0 32px}.discovery-note h3{font-size:23px}.discovery-note>p:last-child{font-size:14px}
 .deduction .choice{padding:21px 19px;font-size:14px;gap:9px}.evidence-reconsider{grid-column:1}
 .submitted-deduction{padding:23px 24px}.submitted-words{font-size:15px}
 .case-continued .result .poirot-verdict>h2{font-size:23px}.case-continued .revealed-bookmark h1{font-size:26px}
 .case-continued .result.poirot-reveal-scene .result-layout{gap:0 12px}
 .case-continued .revealed-bookmark .prop{max-width:115px;height:205px}
 .case-continued .result.poirot-reveal-scene .poirot-portrait{width:90px;height:170px}
 .bookmark-echo{right:-36px;width:50px;height:70px}
 .poem-witnesses{gap:11px;height:29px;margin:-3px 0 15px}.poem-witnesses i{height:20px;width:8px}
 .next-question{max-width:none;font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){
 .poem-witnesses i{transition:none}.bookmark-echo,.bookmark-echo path,.inspection-front>.prop,.case-return .bookmark-slot.is-active .bookmark>.prop,.result.ready-to-depart .revealed-bookmark{animation:none!important}
 .deduction .choice{transition:none}.poem-witnesses{display:none}
}
@media(max-height:620px){.poem-witnesses{display:none}}

.case-continued .deduction-resolved .poirot-verdict>h2{color:#ead6ae}.case-continued .deduction-resolved .poirot-verdict>.eyebrow{color:#c1a26d}

.investigation>.evidence-return,.investigation>.return-to-deduction{grid-column:1/-1;margin-block:0;justify-self:end}

@media(max-width:760px){.case-continued .c4-lever span{white-space:normal;max-width:70px;line-height:1.5}}
/* Reveal transforms must not create a temporary horizontal scrollbar. */
.case-continued{overflow-x:clip}
.case-continued .result-layout>*{min-width:0}
@media(max-width:760px){
 .case-continued .result.poirot-reveal-scene .result-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .case-continued .revealed-bookmark .prop{height:185px;max-width:100px}
 .case-continued .c4-doll{height:185px;width:100px;max-width:100%}
 .case-continued .c6-depart-stage,.case-continued .c7-depart-stage,.case-continued .late-depart-stage{height:200px;width:128px;max-width:100%}
 .case-continued .c6-question-scroll{width:105px;left:7px;top:75px;font-size:20px}
 .case-continued .c7-bound-thread,.case-continued .c7-paper-link{top:75px}
 .case-continued .revealed-bookmark h1{font-size:24px;white-space:normal;line-height:1.5}
 .case-continued .revealed-bookmark .eyebrow{margin-top:12px}
 .case-continued .revealed-bookmark{padding-top:10px}
}

/* Only opacity is hidden before intersection; geometry and keyboard order stay. */
.deduction-pending{opacity:0}
.deduction-arriving{overflow-x:clip;overflow-y:clip}
@media(prefers-reduced-motion:reduce){.deduction-pending{opacity:1}}
