/* A brief dark frame-slip, followed by a continuous fade to black. */
.entry-screen{position:fixed;inset:0;z-index:45;background:#000;opacity:0;animation:entry-darken 2.35s linear both;touch-action:none}
.entry-screen:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,#a4c6e615 5px 6px);opacity:0;animation:entry-scan 1.2s steps(1,end) both}
.is-entering-story .poster-wrap{animation:entry-dislocate 1.2s steps(1,end) both}
.is-entering-story .cover:before{content:'';position:absolute;left:0;right:0;top:38%;height:15%;background:#050817a3;z-index:8;pointer-events:none;animation:entry-band 1.2s steps(1,end) both}
.entry-screen.is-held{pointer-events:none}
@keyframes entry-darken{0%,10%{opacity:0}13%,18%{opacity:.5}19%,30%{opacity:.13}33%,39%{opacity:.68}40%{opacity:.24}49%{opacity:.42}65%{opacity:.72}100%{opacity:1}}
@keyframes entry-dislocate{0%,20%,49%,100%{transform:none;filter:none}21%,27%{transform:translate(-5px,2px) skewX(-.4deg);filter:saturate(.55)}28%,34%{transform:translate(3px,-2px)}50%,57%{transform:translate(-3px,1px);filter:blur(.45px)}58%,62%{transform:translate(2px,0)}}
@keyframes entry-band{0%,20%,34%,49%,64%,100%{opacity:0}21%,33%{opacity:.8;transform:translateY(-16vh)}50%,63%{opacity:.7;transform:translateY(15vh)}}
@keyframes entry-scan{0%,20%,34%,49%,64%,100%{opacity:0}21%,33%,50%,63%{opacity:1}}
.clue-board-stage{height:480px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#38566840,transparent 72%),#0c1521;border:1px solid #839caa29;box-shadow:inset 0 0 70px #03081288;color:#bfd0d9}
.board-grid{position:absolute;inset:0;background-image:linear-gradient(#7d9bad09 1px,transparent 1px),linear-gradient(90deg,#7d9bad09 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(ellipse,#0008,transparent 80%)}
.board-heading{position:absolute;inset:14px 17px auto;display:flex;align-items:center;justify-content:space-between;font:7px/1.6 -apple-system,sans-serif;letter-spacing:1.8px;color:#8ba7b9a8;z-index:3}
.board-heading>span:last-child{font:8px/1.6 Story,serif;letter-spacing:2px}
.board-threads{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 3px #7bb4d72b)}
.board-threads path{fill:none;stroke:#91afc5;stroke-width:1;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.6;animation:board-string 1.25s calc(1.2s + var(--thread)*.34s) ease both}
.board-card{position:absolute;z-index:1;padding:16px 13px 11px;background:linear-gradient(130deg,#496576,#2d4557);border:1px solid #adccd52e;box-shadow:3px 5px 12px #02071199,inset 0 0 20px #afcadd06;transform:rotate(var(--tilt));animation:board-pin-down .85s calc(.2s + var(--card)*.27s) cubic-bezier(.18,.6,.3,1) both}
.board-card:after{content:'';position:absolute;inset:5px;border:1px solid #c6d5dc0a;pointer-events:none}
.board-pin{position:absolute;width:5px;height:5px;left:50%;top:7px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#d8e6e9,#7698af 53%,#2c4055);box-shadow:1px 2px 2px #0009,0 0 5px #adcada26;z-index:3}
.board-card small{display:block;font:6px/1.6 -apple-system,sans-serif;letter-spacing:1.1px;color:#b2c9d4ab;margin-bottom:9px;white-space:nowrap}
.board-card strong{display:block;font:15px/1.65 Story,serif;font-weight:400;letter-spacing:2px;color:#d3e1e7}
.board-card>span{display:block;font:10px/1.7 Story,serif;letter-spacing:.7px;color:#adcad6;margin-top:5px}
.board-photo{height:78px;overflow:hidden;border:3px solid #a4b6c0b3;margin:-2px 0 7px;background:#142331}
.board-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.15) hue-rotate(155deg) brightness(.8)}
.board-photo+.board-card strong{font-size:11px}.board-photo~strong{font-size:11px;letter-spacing:.8px;line-height:1.7}
.board-case{padding:23px 12px 19px;text-align:center;background:linear-gradient(135deg,#617d8b,#344d61);border-color:#bad0da40}
.board-case strong{font-size:20px;letter-spacing:4px}.board-case small{font-size:7px;margin-bottom:12px}
.board-note{background:linear-gradient(125deg,#6c8592,#476073);padding:16px 13px 12px}.board-note strong{font-size:14px;letter-spacing:1.2px}
.board-pencil-note{position:absolute;left:34%;top:66%;font:10px/1.7 Story,serif;letter-spacing:2px;color:#789cb9b3;transform:rotate(-8deg);animation:board-pencil 1.5s 3.5s ease both}
.board-bottom-rule{position:absolute;bottom:16px;left:17px;right:17px;height:1px;background:linear-gradient(90deg,#8da7ba33,transparent)}
@keyframes board-pin-down{from{opacity:0;transform:translateY(-14px) rotate(calc(var(--tilt) - 4deg)) scale(1.04)}to{opacity:1;transform:translateY(0) rotate(var(--tilt)) scale(1)}}
@keyframes board-string{from{stroke-dashoffset:1;opacity:.15}to{stroke-dashoffset:0;opacity:.6}}
@keyframes board-pencil{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@media(max-width:640px){.clue-board-stage{height:435px}.board-heading{inset:12px 10px auto;font-size:5px;letter-spacing:1px}.board-heading>span:last-child{font-size:7px;letter-spacing:1px}.board-card{padding:15px 8px 10px}.board-card small{font-size:4.5px;letter-spacing:.45px;margin-bottom:7px}.board-card strong{font-size:12px;letter-spacing:1px}.board-card>span{font-size:8px;letter-spacing:0}.board-photo{height:70px;border-width:2px}.board-photo~strong{font-size:9px;letter-spacing:0}.board-case{padding:23px 7px 18px}.board-case strong{font-size:16px;letter-spacing:2px}.board-case small{font-size:5px}.board-case>span{font-size:9px}.board-note strong{font-size:12px}.board-pencil-note{font-size:7px;letter-spacing:1px;left:30%;top:67%}.board-pin{width:4px;height:4px}.board-threads path{stroke-width:1.1}}
@media(prefers-reduced-motion:reduce){.is-entering-story .poster-wrap,.is-entering-story .cover:before,.entry-screen:before{animation:none}.entry-screen{animation:entry-soft-fade .8s ease both}.board-card{opacity:1;transform:rotate(var(--tilt));animation:none}.board-threads path{stroke-dashoffset:0;opacity:.6;animation:none}.board-pencil-note{opacity:1;clip-path:none;animation:none}}
@keyframes entry-soft-fade{from{opacity:0}to{opacity:1}}

.fatal-words{color:#d94d59}
.ending-art.ending-art-original{filter:none}
