.case-cover { padding:24px 20px; background:#334749; color:#fff1cf; border-radius:4px 18px 4px 4px; box-shadow:4px 5px 0 #b7a385; }
.case-cover > span,.scratch-secret > span { display:block; font-size:11px; letter-spacing:.12em; font-weight:bold; }
.case-cover > strong { display:block; font:700 clamp(24px,6vw,34px)/1.14 Georgia,serif; margin:14px 0; }
.case-cover p { margin-bottom:0; }
.case-exhibits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.case-exhibits button,.case-verdict button,.scratch-reveal { min-height:48px; padding:12px 8px; background:#fff8e4; color:#4d352a; border:2px solid #8e6547; border-radius:8px; font:inherit; font-size:14px; font-weight:700; line-height:1.25; cursor:pointer; }
.case-exhibits button span { display:block; font:32px Georgia,serif; margin-bottom:8px; }
.case-exhibits button.is-inspected { background:#dce6ce; border-color:#4b6555; }
.case-exhibits button:focus-visible,.case-verdict button:focus-visible,.scratch-reveal:focus-visible { outline:3px solid #226d78; outline-offset:3px; }
.comic-evidence { margin:20px 3px; padding:20px 18px; border:2px solid #73563e; box-shadow:5px 5px 0 #c4a275; background:#fffae9; }
.comic-evidence h3 { margin:0 0 16px; font-size:15px; }
.comic-evidence strong { display:block; font:700 24px/1.1 Georgia,serif; color:#873c35; }
.comic-evidence blockquote { margin:16px 0 0; padding-top:14px; border-top:1px dashed #ac8f69; font-style:italic; }
.case-progress,.scratch-status { font-size:14px; }
.case-verdict button { display:block; width:100%; margin-top:10px; }
.case-result { border-top:3px double #98694a; margin-top:20px; }
.scratch-card { position:relative; aspect-ratio:640/440; overflow:hidden; border-radius:12px; border:2px solid #98694a; background:#304d50; color:#fff1cc; }
.scratch-secret { height:100%; display:flex; flex-direction:column; justify-content:center; padding:22px; text-align:center; }
.scratch-secret strong { font:700 clamp(23px,6vw,36px)/1.1 Georgia,serif; margin:12px 0 0; }
.scratch-secret p { margin:12px 0 0; font-size:clamp(13px,3.5vw,17px); }
.scratch-card canvas { position:absolute; inset:0; width:100%; height:100%; touch-action:none; }
.scratch-reveal { width:100%; }
.scratch-letter { padding:10px 8px; font-family:Georgia,serif; line-height:1.65; }
.scratch-signature { text-align:right; font-style:italic; }
.scratch-aside { border-top:1px dashed #9d7957; padding-top:16px; font-size:14px; font-style:italic; }

.comic-evidence img { display:block; width:100%; height:auto; margin:0 0 18px; border:1px solid #8a674d; }

.case-exhibits { position:sticky; top:0; z-index:1; background:#fff4d9; padding:8px 0; }
#surprise.town-frame[data-day="24"] {
 width:min(520px,calc(100% - 40px),calc((100dvh - 56px)/2));
 color:#fff0d5;--modal-control-ink:#f3d5a2;
}
#surprise.town-frame[data-day="24"] .frame-scroll {
 padding:14px 7px 16px;gap:7px;scrollbar-color:#ba9b73 transparent;
}
#surprise.town-frame[data-day="24"] .frame-scroll>h2 { color:#f5d5a0; }
#surprise.town-frame[data-day="24"] .eyebrow { color:#e1bb86; }
#surprise.town-frame[data-day="24"] .dialog-dismiss { color:#f3d5a2; }
.christmas-finale {
 display:grid;gap:.65rem;text-align:left;
}
.christmas-finale p {
 margin:0;font:clamp(.96rem,3.8vw,1.2rem)/1.47 Georgia,serif;
}
.christmas-finale p:last-child { font-style:italic; }
.christmas-finale-reveal {display:grid;gap:.65rem;text-align:center}
.christmas-finale-reveal[hidden] {display:none}
.christmas-finale-reveal video {display:block;width:100%;max-height:45dvh;background:#160e23;border-radius:8px}
.christmas-finale-reveal video[hidden] {display:none}
.christmas-finale .christmas-finale-note {font:13px/1.35 system-ui,sans-serif;color:#f2d9a8}
