
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#d9e9ed;background-image:radial-gradient(#bed4dd 1px,transparent 1px);background-size:13px 13px;font-family:Verdana,Arial,sans-serif;color:#20354e;font-size:14px;line-height:1.55}button,select{font:inherit;cursor:pointer}a{color:#17478a}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #df8426;outline-offset:3px}
.bar{background:#16355b;color:#ebdab0;text-align:center;font:bold 11px "Courier New",monospace;letter-spacing:2px;padding:6px 10px;border-bottom:5px double #d19b3d}.page{max-width:880px;margin:0 auto;background:#fdf9e8;border-inline:4px ridge #d0ad60;box-shadow:0 12px 32px #567c9770;min-height:100vh}.nav{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 22px;border-bottom:1px dashed #b29a6b;font:bold 12px "Courier New",monospace}.nav a{white-space:nowrap}.eyebrow{font:11px "Courier New",monospace;color:#aa542c;letter-spacing:1.5px;font-weight:bold}.intro{text-align:center;padding:28px 30px 18px;background:radial-gradient(#fff8db,#f4e5b8);border-bottom:6px double #a47b43}.emblem{font:64px Georgia,serif;color:#b56837;text-shadow:4px 4px #d1b37f;line-height:1.1}.intro h1{font:normal clamp(35px,6.9vw,70px)/1.07 Georgia,serif;color:#123c66;text-shadow:2px 3px #d4c9a2;margin:8px 0 4px;letter-spacing:-2px}.intro h1 strong{font-weight:normal;color:#a74d2b;font-style:italic}.intro .sub{font:italic 17px Georgia,serif;color:#795d48;margin:3px 0 15px}.banner{display:inline-block;padding:6px 13px;background:#fbdf80;color:#7b4627;border:3px double #9c6e39;transform:rotate(-1deg);font:bold 12px "Courier New",monospace}.intro .description{max-width:660px;margin:20px auto;font:16px/1.6 Georgia,serif}
.btn{border:3px outset #d7b46c;background:linear-gradient(#fff2bf,#ead38a);color:#163a65;padding:10px 18px;font:bold 14px "Courier New",monospace;box-shadow:2px 3px #687b85}.btn:hover{background:#fff3c3}.btn:active{border-style:inset;box-shadow:none}.btn.secondary{background:#e4eef0;border-color:#a4b5b7}.btn:disabled{opacity:.5;cursor:not-allowed}.intro .btn{font-size:17px;margin-top:8px;padding:12px 26px}
section.room{padding:25px 30px;border-bottom:3px dotted #c5b38e}h2{font:normal 29px Georgia,serif;color:#173d68;border-bottom:2px solid #bb9962;padding-bottom:9px;margin:4px 0 16px}h3{font:20px Georgia,serif;color:#984b31;margin:12px 0}.tiny{font:11px "Courier New",monospace;color:#617187}.note{background:#f4ecd4;border-left:5px solid #c3a259;padding:12px 17px;margin:13px 0}.specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.spec{background:#f3f5eb;border:1px dotted #748d91;padding:10px;text-align:center}.spec b{display:block;font:21px Georgia,serif;color:#214d70}.notice{background:#f4e6d8;border:4px double #a7604c;padding:18px 22px;max-width:640px;margin:18px auto;transform:rotate(-.35deg);box-shadow:4px 4px #d2b7a5}.notice .stamped{font:bold 12px "Courier New",monospace;color:#a14630;border:2px solid #a14630;display:inline-block;padding:3px 7px;transform:rotate(-5deg)}.notice h3{font-size:27px;text-align:center;color:#982f23;margin:9px 0}.notice p{font:16px Georgia,serif}
.suspects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.suspect{border:3px ridge #d9c397;background:#fffdf5;padding:15px;position:relative}.suspect:before{content:"PERSON OF INTEREST";font:9px "Courier New",monospace;color:#a46d2b;letter-spacing:1px}.suspect h3{margin:7px 0 5px;font:bold 17px Georgia,serif;color:#29446a}.suspect .line{font:italic 14px Georgia,serif}.suspect details{border-top:1px dotted #d6c3a2;margin-top:10px;padding-top:7px}.suspect summary{font:12px "Courier New",monospace;color:#a35c2e;cursor:pointer}.suspect details p{font-size:12px}
.gate{border:2px solid #a7b9b8;margin:15px 0;background:#f9fbf7}.gate>.gatehead{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 13px;background:#dcebe4}.gatehead b{font:17px Georgia,serif;color:#214b5b}.gatehead .seal{font:bold 11px "Courier New",monospace;color:#a9552f}.clues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.clue{border:2px dashed #c9b682;background:#fffdf4;padding:14px;animation:fade .3s ease-out}.clue h4{font:15px Georgia,serif;color:#174773;margin:2px 0 8px}.clue .id{font:10px "Courier New",monospace;color:#a25630}.clue p{font:14px/1.5 Georgia,serif}.clue .ask{font:italic 12px Georgia,serif;color:#755b45;border-top:1px solid #d2c5a5;padding-top:8px}
@keyframes fade{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.verdict{background:#e5ebe5;border:2px ridge #8aa08e;padding:18px}.verdict label{display:block;font:13px/1.5 Verdana,sans-serif;margin:12px 0 3px}.verdict select{width:100%;max-width:500px;background:#fff;padding:9px;border:2px inset #adb7ae;color:#163a56}.verdict .btn{margin-top:17px}.answer{margin-top:18px;padding:16px;background:#fffbe8;border:3px double #ab8d58;font:18px/1.5 Georgia,serif}.answer.iswrong{background:#ffefe6;border-color:#c19b7e}
.pairs{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0}.pairs label{font:bold 12px "Courier New",monospace}.pairs select{display:block;width:100%;padding:10px;background:#fff;border:2px inset #9caab9;color:#203e65;margin-top:7px}.next{font:21px/1.4 Georgia,serif;background:#e8f3eb;border:3px double #799d85;padding:17px;color:#1c5948}.carry button{margin:9px 7px 3px 0}.footer{padding:20px;text-align:center;font:11px/1.9 "Courier New",monospace;color:#5e7790;background:#f4f2e3}.footer .big{font:italic 18px Georgia,serif;color:#a05829}.hidden{display:none!important}
@media(max-width:650px){section.room{padding:22px 14px}.intro{padding:23px 13px}.intro h1{letter-spacing:-1px}.suspects,.clues,.pairs{grid-template-columns:1fr}.nav{padding:12px}.specs{gap:5px}.spec{padding:6px}.spec b{font-size:15px}.gatehead{flex-wrap:wrap}.gatehead .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.clue{animation:none}}
@media print{body{background:white}.bar,.nav,.btn,.suspect details,.footer .small{display:none!important}.page{border:none;box-shadow:none}section.room{page-break-inside:avoid}.gate,.clue,.suspect{break-inside:avoid}#evidence .gate:not(.unlocked){display:none}.hidden{display:none!important}}

.play-link{display:inline-block;text-decoration:none;margin-top:10px}

.key-maker{border:4px ridge #cca65d;background:#fcf1c8;padding:18px 20px;margin:17px 0 26px}.key-maker h3{color:#853f30;font:bold 23px Georgia,serif}.key-maker p{font:16px/1.55 Georgia,serif}.key-clues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:17px 0}.key-clue{display:grid;grid-template-columns:22px 1fr;align-items:center;column-gap:8px;background:#fff8de;border:2px dashed #c1a476;padding:10px;cursor:pointer;font:12px/1.35 "Courier New",monospace}.key-clue small{grid-column:2;color:#816f55;font-style:italic}.key-clue input{accent-color:#8c5a2f;width:17px;height:17px}.key-outcome{background:#f6edcb;border-left:4px solid #a67f48;padding:12px;margin-top:14px;font:14px/1.5 Georgia,serif}.key-outcome p{margin:0 0 14px}.key-outcome small{display:block;margin-top:13px}.key-door{display:inline-block;text-decoration:none!important}.key-door:hover{color:#153a60}@media(max-width:650px){.key-clues{grid-template-columns:1fr}.key-maker{padding:15px 10px}}
