#chapterButton{display:none}body.campaign #chapterButton{display:inline-block}#caseBoard{background:#101d16f7;z-index:18;color:#cbd0a6}#caseBoard .boardTop{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px dashed #647853;padding-bottom:20px}#boardTitle{font-family:VT323,monospace;font-size:42px;margin:8px 0}#boardSummary{font-size:13px;line-height:1.8;max-width:760px}#boardPlaces{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}#boardPlaces button.selected{background:#a1b18b;color:#101b13}#boardSearches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1060px}#boardSearches button{min-width:0;background:#29382b66;line-height:1.5}#boardSearches strong{display:block;font-family:VT323,monospace;font-weight:normal;font-size:25px}#boardSearches small{display:block;color:#a4af89;margin-top:6px}#boardSearches .done{border-style:dashed;background:#38483233}#boardEvening{margin:22px 0;background:#a3b18c;color:#162019}#boardGuest{margin:0 12px 22px 0}#notebookFilter{padding:10px;background:#1e3024;color:#cbd0a6;border:1px solid #617353;font:inherit;width:100%;max-width:350px;margin-top:15px}#readingProgress{font-size:11px;color:#8a9d76;max-width:540px;margin-top:12px}.campaign #line{max-height:34vh;font-size:19px}.campaign .ending>p{max-width:830px;font-family:'Lucida Console',monospace;font-size:13px;line-height:1.85;max-height:48vh;overflow:auto;padding:14px 20px;text-align:left}.campaign .ending .endTitle{font-size:62px;margin:22px 0 10px}.campaign .titleButtons{flex-wrap:wrap}.campaign #chapterButton{margin-right:4px}.credits{font-size:11px;line-height:1.7;color:#8f9e7a;max-width:650px}.boardHint{font-size:12px;line-height:1.7;color:#98a680}.screen button:focus-visible,#choices button:focus-visible{outline:2px solid #cad8a1;outline-offset:3px}body[data-location=archive] #tracking{opacity:.025}.dialogue{max-height:80vh;overflow:auto}.pause .menuCard{margin:auto}.pause{align-items:flex-start}#title .titleContent{margin-top:8vh}.titleContent .titleNote{max-width:580px}.large-text.campaign #line{font-size:23px}@media(max-width:700px){#boardSearches{grid-template-columns:1fr}.campaign #line{font-size:15px;max-height:36vh}#boardTitle{font-size:32px}.campaign .ending .endTitle{font-size:42px}.campaign .ending>p{font-size:11px;padding:4px}.tools{flex-wrap:wrap;justify-content:flex-end;max-width:210px}.titleTop{position:static;gap:12px}.titleBottom{position:static;margin-top:24px}.titleContent .titleButtons{gap:8px}.titleContent .titleButtons button{min-width:140px;padding:10px}.campaign #portrait{width:70px;height:70px}.dialogueBody{gap:14px}.screen{padding:20px}.dialogueTop{letter-spacing:.7px}#hud .address{gap:8px}#boardEvening{width:100%}}@media(max-height:720px){#title .titleContent{margin-top:4vh}#title h1{font-size:65px}.smallLine{margin-bottom:15px}.titleContent p{margin:16px 0}#title{padding-top:40px}.titleBottom{position:static;margin-top:18px}}

.campaign .ending{justify-content:flex-start;padding-top:6vh}.campaign .ending>p{max-height:42vh}.campaign .ending .credits{margin:22px auto 0}.campaign .ending .endNote{max-width:900px;line-height:1.7}@media(max-width:700px) and (max-height:720px){#title h1{font-size:clamp(38px,10vw,60px)}.titleContent .smallLine{font-size:17px}.titleContent p{font-size:14px}.titleContent .titleNote{font-size:10px}}
.campaign .ending>p.credits{max-height:none;overflow:visible;padding:0}.campaign .ending>p,.dialogue,#line{scrollbar-color:#6f8159 #14231a}

/* Motion: stepped, stop-motion timing to match the degraded tape look. Disabled by the reduced setting and the system preference. */
@keyframes dchRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes dchFade{from{opacity:0}to{opacity:1}}
@keyframes dchSlide{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes dchToast{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
@keyframes dchFlicker{0%,100%{opacity:1}46%{opacity:1}47%{opacity:.55}48%{opacity:1}71%{opacity:.8}72%{opacity:1}}
@keyframes dchGlitch{0%,92%,100%{transform:none;clip-path:none}93%{transform:translateX(-3px);clip-path:inset(20% 0 40% 0)}95%{transform:translateX(3px);clip-path:inset(60% 0 5% 0)}97%{transform:none;clip-path:none}}
@keyframes dchRec{0%,60%{opacity:1}61%,100%{opacity:.25}}
@keyframes dchTape{from{background-position:0 0}to{background-position:0 8px}}
@keyframes dchPortrait{0%{transform:translateY(6px) rotate(-3deg);opacity:0}60%{transform:translateY(0) rotate(1deg);opacity:1}100%{transform:rotate(-1deg)}}
@keyframes dchPulse{0%,100%{box-shadow:3px 3px 0 #080f08,0 0 0 0 #b2b48b00}50%{box-shadow:3px 3px 0 #080f08,0 0 14px 2px #b2b48b55}}
@keyframes dchEnding{from{opacity:0;letter-spacing:.6em;filter:blur(2px)}to{opacity:1;letter-spacing:normal;filter:none}}
@keyframes dchDialogue{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translateX(-50%)}}
body:not(.reduced) .dialogue{animation:dchDialogue .35s steps(7) both}
body:not(.reduced) #portrait{animation:dchPortrait .45s steps(6) both}
body:not(.reduced) #line{animation:dchFade .6s steps(8) both}
body:not(.reduced) #choices button{animation:dchSlide .3s steps(5) both}
body:not(.reduced) #choices button:nth-child(2){animation-delay:.06s}body:not(.reduced) #choices button:nth-child(3){animation-delay:.12s}body:not(.reduced) #choices button:nth-child(4){animation-delay:.18s}body:not(.reduced) #choices button:nth-child(5){animation-delay:.24s}body:not(.reduced) #choices button:nth-child(n+6){animation-delay:.3s}
body:not(.reduced) #choices button.commit:not(:disabled){animation:dchSlide .3s steps(5) both,dchPulse 3.2s steps(8) 1s infinite}
body:not(.reduced) #toast.show{animation:dchToast .3s steps(5) both}
body:not(.reduced) .notebook:not([hidden]),body:not(.reduced) #caseBoard:not([hidden]),body:not(.reduced) .pause:not([hidden]){animation:dchFade .25s steps(5) both}
body:not(.reduced) #evidencePage>*{animation:dchRise .3s steps(5) both}
body:not(.reduced) #boardSearches button{animation:dchRise .3s steps(5) both}
body:not(.reduced) #title h1{animation:dchFlicker 6s steps(1) infinite}
body:not(.reduced) #title .overwritten{display:inline-block;animation:dchGlitch 7s steps(1) infinite}
body:not(.reduced) #title .smallLine{animation:dchSlide .8s steps(8) both}
body:not(.reduced) #title .titleButtons button{animation:dchRise .5s steps(6) both}
body:not(.reduced) #title .titleButtons button:nth-child(2){animation-delay:.1s}body:not(.reduced) #title .titleButtons button:nth-child(3){animation-delay:.2s}body:not(.reduced) #title .titleButtons button:nth-child(4){animation-delay:.3s}
body:not(.reduced) .ending.ready .endTitle{animation:dchEnding 1.6s steps(12) both}
body:not(.reduced) .ending.ready>p{animation:dchFade 2s steps(12) .5s both}
body:not(.reduced) #hud .address b{animation:dchFlicker 9s steps(1) infinite}
body:not(.reduced) #objective{animation:dchSlide .5s steps(6) both}
@keyframes dchInteract{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translateX(-50%)}}
body:not(.reduced) #interact:not([hidden]){animation:dchInteract .2s steps(4) both}
body:not(.reduced) .titleTop span:first-child:before{content:'● ';color:#a14d3f;animation:dchRec 1.6s steps(1) infinite}
#choices button,.titleButtons button,#boardSearches button,#evidenceList button{transition:transform .08s steps(2),background-color .1s steps(2)}
#choices button:not(:disabled):hover,.titleButtons button:hover,#boardSearches button:hover{transform:translate(-1px,-1px)}
#choices button:not(:disabled):active,.titleButtons button:active{transform:translate(2px,2px)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
#cut{position:fixed;inset:0;background:#050805;opacity:0;pointer-events:none;z-index:30}@keyframes dchCut{0%{opacity:0}30%{opacity:1}60%{opacity:1}100%{opacity:0}}#cut.go{animation:dchCut .55s steps(8) both}
