:root{font-family:Inter,Arial,sans-serif;color:#10182b;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit;cursor:pointer;border:0;border-radius:12px;padding:14px 20px;background:#2549d7;color:#fff;font-weight:700;min-height:48px}button:hover{filter:brightness(1.08)}button:focus-visible,a:focus-visible{outline:3px solid #ffad32;outline-offset:3px}button:disabled{opacity:.6;cursor:default}header{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border-bottom:1px solid #d7dbe6;padding:20px max(24px,5vw)}.brand{font-size:1.7rem;font-weight:850;letter-spacing:-.06em;text-decoration:none}nav{display:flex;gap:20px;flex-wrap:wrap;font-size:.9rem}main{max-width:1260px;margin:auto;padding:42px 24px 70px}h1{font-size:clamp(2.4rem,5vw,4.7rem);line-height:1.05;letter-spacing:-.05em;margin:10px 0 18px}h2{font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.035em;line-height:1.18;margin:12px 0}h3{font-size:1.4rem}p{font-size:1rem;line-height:1.6}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.09em}.intro{font-size:1.15rem;max-width:720px;color:#4b5670}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0 24px}.game-grid article{background:#fff;border:1px solid #d8deeb;border-radius:20px;overflow:hidden;box-shadow:0 8px 26px #16244c0b}.game-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.game-grid article>div{padding:22px}.game-grid p{margin:8px 0 18px}.game-grid button{width:100%}.small{font-size:.875rem;color:#59657a}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:10px;background:#fff;padding:12px;z-index:99}.back{background:#fff;color:#18307b;border:1px solid #9faecc;margin-bottom:24px}.player-head{display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:center;margin-bottom:24px}.player-head p{max-width:680px}.player-head img{width:100%;border-radius:17px;aspect-ratio:3/2;object-fit:cover}.board{border-radius:22px;padding:clamp(22px,4vw,42px);min-height:330px}.board .scene{font-size:1.16rem;max-width:800px}.board .status{font-weight:700;padding:18px 22px;border-radius:12px;margin:22px 0;background:#ffffffb9}.clue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}.clue-grid button{min-height:150px;background:#fff;color:#152243;border:2px solid #4263b3;text-align:left;display:flex;flex-direction:column;gap:14px;line-height:1.45}.clue-grid button span{font-weight:450}.board fieldset{border:0;margin:20px 0;padding:0}.board legend{font-weight:800;margin-bottom:10px}.choice-row,.story-choices{display:flex;gap:12px;flex-wrap:wrap}.choice-row button{flex:1;min-width:160px}.alibi-board{background:#e8efff;border:2px solid #344c9e}.alibi-board h2{color:#142c71}.ballot-board{background:#e7f8f3;border:2px solid #168574}.ballot-board .choice-row button{background:#073e48}.privacy-cover{padding:30px;background:#0d525b;color:#fff;border-radius:16px}.privacy-cover button{margin:8px 12px 0 0;background:#f6dd5b;color:#102f31}.privacy-cover button+button{background:#fff;color:#102f31}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0}.result-grid>div{padding:24px;background:#fff;border:2px solid #2a8f7c;border-radius:16px}.result-grid strong{display:block;font-size:3rem}.result-grid span{font-weight:700}.ballot-board>button{margin:0 12px 10px 0}.story-board{background:#fff0dd;border:2px solid #ba6b28}.story-board h2{max-width:900px}.story-progress{height:9px;background:#e5b984;border-radius:9px;max-width:450px;overflow:hidden}.story-progress span{display:block;height:100%;background:#d44c2e}.story-choices button{flex:1;min-width:220px;min-height:105px;background:#cf512c;text-align:left;font-size:1.1rem}.story-choices button:nth-child(2){background:#216a99}.story-response{background:#fff;border:2px solid #d57c38;border-radius:14px;padding:20px;margin:25px 0}.story-response p:first-child{font-size:1.2rem;font-weight:700}.offer{max-width:800px;padding:30px 0;border-top:1px solid #b9c4d7;margin-top:55px}.offer>a{display:inline-block;background:#1b38be;color:#fff;text-decoration:none;border-radius:11px;padding:14px 20px;font-weight:700}footer{border-top:1px solid #cdd3df;padding:28px max(24px,5vw);color:#526078}footer p{max-width:800px;font-size:.875rem}[hidden]{display:none!important}
@media(max-width:800px){main{padding:24px 18px 55px}.game-grid{grid-template-columns:1fr}.player-head{grid-template-columns:minmax(0,1fr) 105px;gap:12px;align-items:start}.player-head h1{font-size:clamp(2rem,8vw,3rem)}.player-head img{width:105px;aspect-ratio:1/1}.player-head p{font-size:.9rem}.clue-grid{grid-template-columns:1fr}.clue-grid button{min-height:90px}.result-grid{grid-template-columns:1fr}header{align-items:flex-start}nav{max-width:185px;gap:9px}.board{min-height:0}.board .scene{font-size:1.05rem}}

/* Three distinct play spaces: a case file, a voting stage, and a storybook. */
.round-progress{height:9px;max-width:520px;background:#c9d6ed;border-radius:99px;overflow:hidden;margin:14px 0 28px}
.round-progress span{display:block;height:100%;background:#2958d6;border-radius:inherit;transition:width .25s}
.alibi-board{background:radial-gradient(circle at 90% 0,#fff 0,transparent 40%),linear-gradient(155deg,#e9f0ff,#d8e3fa);box-shadow:0 20px 60px #1b378022}
.alibi-board .round-progress span{background:#c45d26}
.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:30px 0}
.evidence-card{width:100%;min-height:132px;text-align:left;display:flex;flex-direction:column;gap:13px;background:#142c66;color:#fff;border:2px solid #5673a9;box-shadow:0 7px 0 #122654;transform:rotate(-.4deg)}
.evidence-card:nth-child(even){transform:rotate(.4deg)}
.evidence-card strong{font-size:.78rem;letter-spacing:.11em;color:#b9cafa}
.evidence-card span{font-weight:500;line-height:1.4}
.evidence-card.revealed{background:#fff;color:#172c55;border-color:#294c99;box-shadow:0 6px 0 #abc0e2;transform:none}
.evidence-card.revealed strong{color:#3056a7}
.deduction-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:22px}
.deduction-grid fieldset{background:#ffffffaa;border:1px solid #b5c7e9;padding:17px;border-radius:16px}
.deduction-grid .choice-row button,.proof-list button{background:#e9effb;color:#142c66;border:2px solid #8aa5da}
.deduction-grid button[aria-pressed=true]{background:#234bba;color:#fff;border-color:#172f7f}
.proof-list{display:grid;gap:10px}.proof-list button{text-align:left}
.case-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}
.case-summary span{display:flex;justify-content:space-between;background:#fff;border:1px solid #9eb1d4;padding:14px;border-radius:12px}
.score-pill{display:inline-block;background:#173d9a;color:#fff;padding:12px 18px;border-radius:99px;font-weight:800;margin-right:12px}
.hint{background:#fff8c9;border-left:5px solid #deaa2f;padding:14px 18px;border-radius:8px;font-weight:700}
.board button.secondary{background:transparent;border:2px solid currentColor;color:inherit;margin:10px 0 0 12px}
.ballot-board{background:radial-gradient(circle at 15% 0,#e7fff5,transparent 36%),linear-gradient(145deg,#d4f7ec,#b9e7df);box-shadow:0 20px 60px #175e4720}
.ballot-board .round-progress{background:#9ad2c4}.ballot-board .round-progress span{background:#07655f}
.setup-grid{display:flex;gap:20px;flex-wrap:wrap;margin:26px 0}.setup-grid label{display:grid;gap:6px;font-weight:800;min-width:165px}
.setup-grid select{font:inherit;background:#fff;border:2px solid #0c6b66;border-radius:12px;min-height:50px;padding:8px 12px}
.game-callout{background:#fff;border:2px solid #50a99d;border-radius:16px;padding:18px 24px;margin:20px 0 30px}
.game-callout p{margin:6px 0 0}
.ballot-board .choice-row button{min-height:94px;font-size:1.1rem;background:#086269}
.privacy-cover{background:linear-gradient(135deg,#073f4c,#086963);min-height:240px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.privacy-cover p{max-width:550px}.privacy-cover button{margin-top:16px}
.final-score{font-size:clamp(3.5rem,12vw,7rem);font-weight:900;letter-spacing:-.08em;color:#075c58;line-height:1}
.final-score span{font-size:1.2rem;letter-spacing:0;display:block;margin-top:12px}
.story-board{background:radial-gradient(circle at 90% 6%,#fff9df,transparent 35%),linear-gradient(150deg,#fff1db,#ffe0c5);border-color:#b65d29;box-shadow:0 20px 60px #b7592622}
.story-board .round-progress span{background:#d34b32}
.story-prompt{background:#fff;border-left:5px solid #d7573b;border-radius:9px;padding:16px 20px;font-weight:700;margin:24px 0}
.story-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.story-choices button{min-width:0;min-height:96px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.story-choices button small{display:block;margin-top:8px;font-size:.82rem;opacity:.9}
.story-choices button:nth-child(3){background:#67459a}
.inventory{display:inline-block;background:#2a4660;color:#fff;border-radius:99px;padding:11px 18px;font-size:.8rem;font-weight:800;letter-spacing:.06em}
.puzzle-clue{background:#fffaf1;border:2px dashed #c77a40;border-radius:14px;padding:20px 22px;margin:22px 0;font-size:1.08rem}
.story-recap{display:grid;grid-template-columns:auto 1fr;gap:12px;background:#fff;padding:22px;border-radius:14px;margin:28px 0}
.story-recap strong{color:#9d441d}
.game-grid article{display:flex;flex-direction:column}.game-grid article>div{display:flex;flex:1;flex-direction:column}.game-grid article>div>p:last-of-type{flex:1}.game-grid article button{margin-top:auto}
/* The image's HTML dimensions are a loading hint; set an explicit displayed height. */
.player-head img{height:200px}
@media(max-width:800px){.evidence-grid,.deduction-grid,.story-choices{grid-template-columns:1fr}.case-summary{grid-template-columns:repeat(2,1fr)}.evidence-card{min-height:105px}.score-pill{display:block;width:max-content;margin:0 0 12px}.board button.secondary{margin-left:0}.story-choices button{min-height:78px}}
@media(max-width:800px){.player-head{grid-template-columns:1fr}.player-head img{width:100%;height:170px;aspect-ratio:16/9;object-fit:cover;object-position:center}.player-head p{max-width:100%}}

.mystery-upgrade{display:grid;grid-template-columns:40% 1fr;gap:22px;align-items:center;border:1px solid #dfb37b;border-radius:15px;overflow:hidden;background:#172335;color:#fff;margin:25px 0}.mystery-upgrade img{width:100%;height:240px;object-fit:cover}.mystery-upgrade div{padding:20px}.mystery-upgrade h2{color:#fff;font-size:28px;margin:9px 0}.mystery-upgrade p{color:#eee2d4;line-height:1.4}.mystery-upgrade a{display:inline-block;background:#f2b679;color:#142133;border-radius:7px;padding:11px 15px;text-decoration:none;font-weight:900}@media(max-width:650px){.mystery-upgrade{display:block}.mystery-upgrade img{height:190px}}
