:root{--cream:#fff8ee;--paper:#fffdf8;--ink:#2e382f;--muted:#7a6d5e;--accent:#a84421;--accent2:#8b2933}*{box-sizing:border-box}html{background:var(--cream)}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top,color-mix(in srgb,var(--accent) 14%,transparent) 0,transparent 36%),var(--cream);font-family:Georgia,Times New Roman,serif}button,input,textarea{font:inherit}button{touch-action:manipulation}.plainPage{min-height:100vh;display:grid;place-items:center;padding:24px}.plainCard{max-width:650px;padding:28px;border:1px solid #ddd;border-radius:24px;background:white}.plainCard code{background:#f4eee7;border-radius:6px;padding:2px 6px}.eventApp{width:min(100%,600px);margin:0 auto;padding:22px 16px 64px}.eventHeader{text-align:center;padding:18px 8px 24px}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.26em;font:700 .74rem/1.2 Arial,sans-serif;color:var(--accent)}.eventName{margin:0;font-size:clamp(2.8rem,12vw,4.6rem);line-height:.95;font-weight:500;color:var(--accent2)}.eventSubtitle{margin:8px 0 0;letter-spacing:.16em;text-transform:uppercase;font:700 .82rem/1.3 Arial,sans-serif;color:color-mix(in srgb,var(--accent) 75%,#333)}.rule{width:130px;border:0;border-top:1px solid color-mix(in srgb,var(--accent) 50%,transparent);margin:24px auto 0}.screenTitle{margin:0;text-align:center;font-size:2rem;font-weight:500}.screenCopy{max-width:450px;margin:9px auto 24px;text-align:center;color:var(--muted);font-style:italic;font-size:1.02rem;line-height:1.45}.grid{display:grid;grid-gap:12px;gap:12px}.expCard{width:100%;border:1px solid rgba(65,50,35,.12);border-radius:22px;padding:19px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:15px;gap:15px;text-align:left;cursor:pointer;background:var(--paper);box-shadow:0 10px 30px rgba(80,55,35,.08);color:var(--ink)}.expCard:nth-child(5n+1){background:color-mix(in srgb,var(--accent) 14%,var(--paper))}.expCard:nth-child(5n+2){background:#e7eadc}.expCard:nth-child(5n+3){background:#fae9c8}.expCard:nth-child(5n+4){background:color-mix(in srgb,var(--accent2) 14%,var(--paper))}.expCard:nth-child(5n+5){background:#e8dce7}.expCard strong{display:block;font-size:1.38rem;font-weight:500;margin-bottom:5px}.expCard span{display:block;color:#5b5248;font:.91rem/1.4 Arial,sans-serif}.arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.58);font:1.4rem Arial,sans-serif}.back{border:0;background:transparent;padding:8px 0 16px;color:var(--muted);cursor:pointer;font:.92rem Arial,sans-serif}.panel{background:var(--paper);border:1px solid rgba(65,50,35,.12);border-radius:26px;padding:26px 20px;box-shadow:0 12px 38px rgba(80,55,35,.09)}.category{text-align:center;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font:700 .72rem/1.3 Arial,sans-serif;margin-bottom:17px}.prompt{margin:0;font-size:1.58rem;line-height:1.38;font-weight:500}.note,.prompt{text-align:center}.note{margin:15px auto 0;max-width:480px;color:var(--muted);font:.98rem/1.5 Arial,sans-serif}.primary,.secondary{width:100%;min-height:52px;border-radius:15px;border:0;margin-top:20px;cursor:pointer;font:700 1rem Arial,sans-serif}.primary{background:var(--ink);color:white}.primary:disabled{opacity:.55;cursor:wait}.secondary{background:#f1ebe3;color:var(--ink)}.fileInput,.textArea,.textInput{width:100%;margin-top:16px;border:1px solid #cfc4b7;border-radius:14px;background:#fff;color:var(--ink);padding:14px 15px;font:16px/1.4 Arial,sans-serif}.textArea{min-height:120px;resize:vertical}.status{margin:17px 0 0;border-radius:14px;background:#f4eee7;padding:13px;color:#5c5046;font:.9rem/1.4 Arial,sans-serif}.status,.timer{text-align:center}.timer{font:800 2.3rem/1 Arial,sans-serif;margin:18px 0 10px}.progress{height:8px;border-radius:999px;overflow:hidden;background:#e7ded2}.progressBar{height:100%;background:var(--accent);transition:width .2s linear}.choices{display:grid;grid-gap:10px;gap:10px;margin-top:20px}.choice{border:1px solid rgba(65,50,35,.15);background:white;border-radius:14px;padding:14px 15px;text-align:left;cursor:pointer;font:1rem Arial,sans-serif}.choice.correct{background:#e2ecd8}.choice.wrong{background:#f4d7d7}.scoreMeta{margin-top:14px;text-align:center;color:var(--muted);font:.88rem Arial,sans-serif}.leaderboard{margin-top:22px;font-family:Arial,sans-serif}.leaderboard h3{margin:0 0 8px;font-size:1rem}.leaderRow{display:flex;justify-content:space-between;gap:14px;padding:11px 3px;border-bottom:1px solid rgba(65,50,35,.1)}.entry{margin-top:12px;border:1px solid rgba(65,50,35,.12);border-radius:16px;background:white;padding:14px;font-family:Arial,sans-serif}.entryImg{width:100%;border-radius:12px;display:block;margin-bottom:10px;max-height:350px;object-fit:cover}.entryText{white-space:pre-wrap;line-height:1.45}.voteBtn{margin-top:10px;border:0;border-radius:10px;background:#f0e9e1;padding:10px 12px;cursor:pointer;font:700 .9rem Arial,sans-serif}.voteBtn:disabled{opacity:.55;cursor:not-allowed}.error{margin:16px 0;border-radius:12px;padding:12px;background:#f6dddd;color:#6f2525;font:.9rem/1.4 Arial,sans-serif}.loading{padding:80px 20px}.loading,.tiny{text-align:center;color:var(--muted)}.tiny{margin-top:20px;font:.8rem/1.45 Arial,sans-serif}.triviaClock{display:grid;justify-items:center;grid-gap:4px;gap:4px;margin:4px 0 8px;font-family:Arial,sans-serif}.triviaClock strong{font:800 2.3rem/1 Arial,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.triviaClock span{color:var(--muted);font-size:.9rem;text-align:center}.boardTiles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.tile{min-height:58px;border:0;border-radius:14px;background:var(--ink);color:white;cursor:pointer;display:grid;place-items:center;grid-gap:2px;gap:2px;padding:8px 4px}.tile strong{font-size:1.35rem;line-height:1}.tile span{font-size:.75rem;opacity:.85}.tile:disabled{background:#e7ded2;color:#6b5f53;cursor:not-allowed}.choice:focus-visible,.primary:focus-visible,.tile:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.resultGood{background:#e2ecd8;color:#2f4a22;font-weight:700}.resultBad{background:#f4e4d7;color:#6b3a1f;font-weight:700}.leaderSub{margin-top:20px!important}.leaderRow.you{font-weight:700}.winner{display:grid;justify-items:center;grid-gap:4px;gap:4px;margin-bottom:18px;padding:16px;border-radius:16px;background:#fae9c8;text-align:center}.winner strong{font-size:1.4rem}.winner span{color:#5c5046;font-size:.85rem}.scenarioRule{margin:0 0 22px;padding:15px 16px;border-radius:15px;background:color-mix(in srgb,var(--accent2) 9%,var(--paper));border:1px solid color-mix(in srgb,var(--accent2) 18%,transparent);font-family:Arial,sans-serif}.scenarioRule strong{display:block;margin-bottom:5px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--accent2)}.scenarioRule span{display:block;line-height:1.45;color:#51483f}.stepTitle{margin:20px 0 10px;text-align:center;font:700 1rem/1.3 Arial,sans-serif}.categoryList{display:grid;grid-gap:10px;gap:10px}.categoryBtn{width:100%;min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(65,50,35,.15);border-radius:14px;background:white;color:var(--ink);cursor:pointer;font:1rem Arial,sans-serif;text-align:left}.categoryBtn span{color:var(--muted);font-size:.85rem;white-space:nowrap}.categoryBtn:disabled{opacity:.5;cursor:not-allowed}.categoryBtn:focus-visible,.secondary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.scenarioProgress{height:8px;overflow:hidden;border-radius:999px;background:rgba(0,0,0,.08);margin:18px 0 26px}.scenarioProgress>span{display:block;height:100%;background:var(--accent);transition:width .2s ease}.scenarioStep{margin-top:18px}.scenarioChoiceGrid{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.scenarioChoice{border:1px solid rgba(0,0,0,.14);background:var(--paper);color:var(--ink);border-radius:14px;padding:14px 16px;text-align:left}.scenarioChoice.selected{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent)}.roleList{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.roleRow{display:grid;grid-gap:8px;gap:8px}.roleRow span{display:grid;grid-gap:3px;gap:3px}.roleRow small{color:var(--muted)}.scenarioNav{display:flex;gap:10px;margin-top:20px}.scenarioNav>*{flex:1 1}.reviewBox{display:grid;grid-gap:8px;gap:8px;padding:16px;margin:18px 0;border-radius:16px;background:rgba(0,0,0,.04)}.scenarioSummary{margin-top:18px;padding:20px;border-radius:18px;background:var(--paper);border:1px solid rgba(0,0,0,.12);line-height:1.6}.scenarioVoteList{margin-top:24px}.crewList{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}.crewChip{border-radius:999px;padding:9px 12px;background:color-mix(in srgb,var(--accent) 10%,white);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);font:700 .9rem Arial,sans-serif}.roleVoteCard{margin:20px 0;padding:18px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(65,50,35,.12);font-family:Arial,sans-serif}.roleVoteCard h3{margin:0 0 6px;font-size:1.05rem}.roleVoteCard p{margin:0 0 12px;color:var(--muted);line-height:1.45}.plainPlan{white-space:pre-wrap;font:.95rem/1.55 Arial,sans-serif;background:white;border:1px solid rgba(65,50,35,.12);border-radius:16px;padding:16px;overflow-x:auto}.crewReport{white-space:pre-wrap;font-size:1rem}.crewPlanDetails{margin-top:16px;font-family:Arial,sans-serif}.crewPlanDetails summary{padding:8px 0}.dareCard{margin:18px 0;padding:20px;border-radius:18px;background:#fff;border:1px solid rgba(65,50,35,.13);font:1.05rem/1.55 Arial,sans-serif}.roleReveal{display:grid;justify-items:center;grid-gap:6px;gap:6px;margin:22px 0;padding:24px;border-radius:20px;background:color-mix(in srgb,var(--accent) 11%,white);font-family:Arial,sans-serif}.roleReveal strong{font-size:2rem}.roleReveal span{color:var(--muted);font-size:.9rem}.collabCard{margin-top:18px;padding:16px;border-radius:16px;background:color-mix(in srgb,var(--accent2) 8%,white);border:1px solid color-mix(in srgb,var(--accent2) 18%,transparent);font:.94rem/1.5 Arial,sans-serif}.collabCard p{margin:8px 0 0}.buttonRow{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.buttonRow .primary,.buttonRow .secondary{margin-top:14px}.truthButton{margin-top:10px}.crewPlanDetails{margin-top:22px}.crewPlanDetails summary{cursor:pointer;font:700 .95rem Arial,sans-serif;color:var(--muted)}.assignmentList{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.assignmentCard{display:grid;grid-template-columns:1fr auto;grid-gap:4px 14px;gap:4px 14px;align-items:center;border:1px solid rgba(65,50,35,.12);border-radius:15px;background:white;padding:14px 15px;font-family:Arial,sans-serif}.assignmentCard span{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.assignmentCard strong{font-size:1.05rem}.assignmentCard small{grid-column:1/-1;color:var(--muted)}.triviaMood{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:14px}.moodButton{min-height:100px;display:grid;place-items:center;align-content:center;grid-gap:6px;gap:6px;border:1px solid rgba(65,50,35,.14);border-radius:18px;background:white;color:var(--ink);font:800 1rem Arial,sans-serif;cursor:pointer}.moodButton span{font-weight:400;font-size:.83rem;color:var(--muted)}.moodButton.selected{outline:3px solid var(--accent);border-color:var(--accent)}.moodButton.violence{background:color-mix(in srgb,var(--accent2) 11%,white)}