@import "https://db.onlinewebfonts.com/c/de853df2296dd2940412393665f80692?family=Frightmare+Demo";:root{--bg:#f7f4ed;--surface:#fffdf7;--surface-strong:#181717;--text:#2a2926;--muted:#706b62;--border:#ded6c9;--accent:#196c67;--accent-dark:#114c49;--danger:#9f3328;--danger-dark:#76241c;--gold:#bc8a35;--shadow:0 18px 45px #231f1824;--sans:Inter, ui-sans-serif, system-ui, "Segoe UI", Arial, sans-serif;--serif:Georgia, "Times New Roman", serif;font-family:var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.58}#root{min-height:100vh}h1,h2,p{margin:0}h1,h2{color:var(--text)}h1{font-family:var(--serif);font-size:clamp(2.4rem,6vw,5.7rem);font-weight:700;line-height:.98}h2{font-size:1.2rem;line-height:1.2}.landing-screen,.loading-screen,.game-shell{min-height:100vh}.landing-screen{background:radial-gradient(circle at 50% 42%,#84000033,#0000 28%),linear-gradient(#000000c2,#000000eb),#080707;place-items:center;padding:24px;display:grid}.landing-content{text-align:center;justify-items:center;gap:10px;width:min(920px,100%);display:grid}.landing-content h1{color:#f7efe1;text-shadow:0 5px #180202,0 0 16px #660000b8,0 0 44px #5400004d;font-family:Frightmare Demo,Chiller,Creepster,Nosifer,fantasy;font-size:clamp(4rem,13vw,10rem);font-weight:400;line-height:.84}.team-name{color:#7a0707;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 12px #7a07076b;font-family:Trebuchet MS,Arial Rounded MT Bold,Arial,sans-serif;font-size:clamp(.72rem,1.35vw,1rem);font-weight:800}.loading-screen{color:#f7efe1;text-align:center;background:#070707;align-content:center;place-items:center;gap:18px;padding:24px;display:grid}.spinner{border:4px solid #ffffff3d;border-top-color:#7a0707;border-radius:50%;width:48px;height:48px;animation:.9s linear infinite spin}.game-shell{--character-scale:.9;--statement-bubble-offset:40px;background-color:#111;background-image:linear-gradient(#00000047,#000000ad),none;background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:100%;position:relative;overflow:hidden}.game-shell:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#0000 34%,#000000b3 100%),linear-gradient(#0000001f,#0000005c);position:absolute;inset:0}.intro-layout,.end-screen{z-index:1;color:#f7efe1;background:#070707;align-content:center;place-items:center;gap:28px;min-height:100vh;padding:24px;display:grid;position:relative}.story-reveal{color:#f7efe1;text-align:center;text-shadow:0 2px 16px #000c;white-space:pre-wrap;width:min(780px,100%);min-height:190px;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;line-height:1.55}.suspect-grid{z-index:1;grid-template-columns:repeat(4,minmax(150px,1fr));place-items:end center;gap:clamp(10px,2vw,28px);min-height:100vh;padding:18vh clamp(14px,4vw,64px) 8vh;display:grid;position:relative}.suspect-card{width:min(calc(230px * var(--character-scale)), calc(22vw * var(--character-scale)));min-width:calc(142px * var(--character-scale));color:#fff;filter:drop-shadow(0 16px 22px #000000bd);justify-items:center;gap:10px;transition:transform .18s,opacity .18s,filter .18s;display:grid;position:relative}.suspect-card:not(.is-eliminated):hover,.suspect-card:not(.is-eliminated):focus-within{filter:drop-shadow(0 22px 28px #000000db);transform:translateY(-10px)scale(1.03)}.suspect-card.is-eliminated{opacity:.38;filter:grayscale()drop-shadow(0 12px 16px #000000b3)}.asset-box{aspect-ratio:3/4;color:#fff;text-transform:uppercase;background:0 0;place-items:end center;width:100%;font-weight:900;display:grid;overflow:visible}.asset-box img{object-fit:contain;object-position:bottom center;width:100%;height:auto;display:block}.asset-box span{background:#00000073;border-radius:8px;padding:18px}.suspect-details{text-align:center;place-items:center;min-height:44px;display:grid}.suspect-details h2{color:#fff;text-shadow:0 2px 4px #000000f2,0 0 14px #000000d9;font-size:clamp(.9rem,1.7vw,1.25rem);font-weight:900;line-height:1.1}.statement-bubble{bottom:calc(100% + var(--statement-bubble-offset));z-index:2;color:#171313;text-align:center;filter:drop-shadow(0 8px 14px #00000070);background:#faf4e6f0;border:1px solid #0000002e;border-radius:16px;width:min(240px,76vw);min-height:54px;padding:10px 12px;font-family:Trebuchet MS,Arial Rounded MT Bold,Arial,sans-serif;font-size:clamp(.72rem,1.08vw,.88rem);font-weight:800;line-height:1.25;position:absolute;left:50%;transform:translate(-50%)}.statement-bubble:after{content:"";background:#faf4e6f0;width:18px;height:18px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.suspect-actions{opacity:0;pointer-events:none;gap:8px;transition:opacity .16s,transform .16s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(12px - 50%))}.suspect-card:not(.is-eliminated):hover .suspect-actions,.suspect-card:not(.is-eliminated):focus-within .suspect-actions{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.cleared-label{color:#fff;background:#000000b8;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900;position:absolute;top:8px;right:8px}.question-counter{z-index:2;color:#ffffffc7;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000009e;border:1px solid #ffffff38;border-radius:8px;min-width:118px;padding:10px 12px;position:fixed;top:18px;right:18px}.question-counter span{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:900;line-height:1;display:block}.modal-backdrop{z-index:10;background:#000000b3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.question-modal{color:#f7efe1;background:#111;border:1px solid #ffffff24;border-radius:8px;grid-template-rows:auto minmax(220px,1fr) auto;gap:16px;width:min(720px,100%);max-height:min(760px,100vh - 36px);padding:22px;display:grid;box-shadow:0 24px 70px #0000009e}.setup-modal{color:#f7efe1;background:#111;border:1px solid #ffffff24;border-radius:8px;gap:20px;width:min(640px,100%);padding:22px;display:grid;box-shadow:0 24px 70px #0000009e}.setup-fieldset{border:0;gap:12px;margin:0;padding:0;display:grid}.setup-fieldset legend{color:#f7efe1b8;text-transform:uppercase;margin-bottom:10px;font-size:.8rem;font-weight:900}.place-select{color:#f7efe1;width:100%;min-height:44px;font:inherit;background:#080808;border:1px solid #ffffff2e;border-radius:8px;padding:0 12px;font-weight:800}.difficulty-option{color:#f7efe1;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;gap:8px;padding:10px;display:grid;position:relative}.difficulty-option input{opacity:0;position:absolute}.difficulty-option:has(input:checked){border-color:#7a0707;box-shadow:0 0 0 2px #7a070775}.difficulty-option span{font-weight:900}.difficulty-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.difficulty-option{text-align:center}.modal-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.modal-header h2,.setup-modal h2,.end-screen h1,.end-screen h2{color:#f7efe1}.chat-history{background:#070707;border:1px solid #ffffff1f;border-radius:8px;align-content:start;gap:10px;padding:14px;display:grid;overflow:auto}.empty-chat{color:#f7efe1b8}.chat-line{color:#f7efe1;white-space:pre-wrap;background:#1e1b1b;border-radius:8px;gap:4px;width:min(88%,520px);padding:10px 12px;display:grid}.chat-line span{color:#7a0707;text-transform:uppercase;font-size:.75rem;font-weight:900}.chat-line.player{background:#202b29;justify-self:end}.question-form{gap:8px;display:grid}.question-form label{color:#f7efe1c2;font-size:.9rem;font-weight:800}.question-row{gap:10px;display:flex}.question-row input{color:#f7efe1;background:#080808;border:1px solid #ffffff29;border-radius:6px;flex:1;min-width:0;padding:12px 14px}.primary-action,.secondary-action,.danger-action,.icon-action{border-radius:6px;justify-content:center;align-items:center;min-height:44px;font-weight:900;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.primary-action{color:#fff;background:#7a0707;padding:0 28px;box-shadow:0 0 24px #7a070759}.primary-action:not(:disabled):hover{background:#950909;transform:translateY(-1px);box-shadow:0 0 34px #7a070780}.secondary-action,.danger-action{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000c7;width:72px;padding:0 12px}.secondary-action:not(:disabled):hover{background:#1f5f5a}.danger-action:not(:disabled):hover{background:#7a0707}.icon-action{color:#f7efe1;background:#262020;width:40px;min-height:40px;font-size:1.2rem}.status-message{z-index:2;color:#f7efe1;white-space:pre-wrap;background:#000000b8;border-left:4px solid #7a0707;border-radius:6px;width:min(760px,100% - 28px);margin:16px auto 0;padding:12px 14px;position:relative}.eyebrow{color:#7a0707;text-transform:uppercase;font-size:.78rem;font-weight:900}.end-screen{text-align:center}.end-screen>p:not(.eyebrow),.confession-panel p{color:#f7efe1c7;width:min(760px,100%)}.confession-panel{background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;gap:10px;width:min(680px,100%);padding:22px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.suspect-grid{grid-template-columns:repeat(2,minmax(130px,1fr));padding-top:12vh}.suspect-card{width:min(calc(220px * var(--character-scale)), calc(42vw * var(--character-scale)))}}@media (width<=560px){.suspect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px;padding:12vh 10px 4vh}.suspect-card{min-width:0;width:min(calc(46vw * var(--character-scale)), 78vw)}.statement-bubble{order:-1;width:100%;position:relative;bottom:auto;left:auto;transform:none}.suspect-actions{opacity:1;pointer-events:auto;position:static;transform:none}.secondary-action,.danger-action{width:64px}.question-row{display:grid}.question-modal{padding:16px}.difficulty-options{grid-template-columns:1fr}}
