*{box-sizing:border-box}body{margin:0;background:#0b0d18;color:#f3f1ff;font:15px/1.6 system-ui,sans-serif;background-image:radial-gradient(ellipse at 80% 5%,#49235755,transparent 45%),radial-gradient(ellipse at 5% 60%,#18384944,transparent 45%);min-height:100vh}main{max-width:1100px;margin:auto;padding:28px 24px 70px}nav{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #ffffff15;padding-bottom:22px}a{color:#cbc4e5;text-decoration:none}.online-badge{color:#83d5c3;font-size:10px;letter-spacing:2px}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:24px;padding:46px 0 30px}.hero img{width:100%;height:auto;border-radius:28px;border:1px solid #b59be52a;transform:rotate(3deg)}.tag{color:#fa9c91;font-size:10px;letter-spacing:2.2px;font-weight:800}h1{font-size:clamp(44px,7vw,80px);line-height:1;letter-spacing:-3px;margin:20px 0;color:#faf6ef}h1 span{display:block;font-size:clamp(19px,3vw,32px);letter-spacing:3px;margin-top:12px;color:#b7a2df}.intro{color:#b2adc6;font-size:17px}.hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.hero-facts span{font-size:10px;color:#c7bfd9;border:1px solid #ffffff20;border-radius:6px;padding:6px 10px}details{border:1px solid #ffffff18;border-radius:12px;padding:16px 20px;color:#bbb5cf;background:#151725;margin:18px 0}summary{cursor:pointer;font-weight:700;color:#e1dbea}section{padding:30px;border:1px solid #ffffff1c;border-radius:20px;background:linear-gradient(140deg,#202033,#141623);margin-top:24px;box-shadow:0 20px 70px #0003}h2{font-size:26px;line-height:1.3;margin:8px 0 14px}.entry-title p:not(.tag){color:#a6a0b9}#entry{max-width:620px;margin:24px auto}label{display:block;color:#c7c2d8;font-size:13px;font-weight:600}input,button{font:inherit;border-radius:10px;padding:14px 18px;margin:8px 0}input{display:block;width:100%;background:#0e101c;color:white;border:1px solid #454059;min-height:50px}input:focus{outline:2px solid #c4a2ff;outline-offset:2px}#code{text-transform:uppercase;letter-spacing:5px}button{border:1px solid transparent;background:#e46768;color:#fff;font-weight:750;cursor:pointer;min-height:48px;transition:background .15s,transform .15s}button:hover{background:#f17b7c;transform:translateY(-1px)}button:disabled{opacity:.5;cursor:default}#entry button{width:100%}.secondary,#leave,#skip{background:#29273e;border-color:#52476a;color:#e1d7f2}.entry-divider{display:flex;align-items:center;gap:16px;color:#817a96;font-size:10px;letter-spacing:2px;margin:22px 0}.entry-divider:before,.entry-divider:after{content:'';height:1px;flex:1;background:#ffffff18}#leave{float:right;font-size:12px;padding:8px 14px;min-height:36px}#status{font-size:22px;font-weight:750;color:#d9c2ff}#clock{display:inline-block;border:1px solid #f7bf7540;border-radius:8px;color:#ffd38f;background:#f7bf750b;padding:6px 12px;font-variant-numeric:tabular-nums}#clock:empty,#notice:empty,#error:empty{display:none}#notice{background:#d3b1ff12;border-left:3px solid #b697e6;padding:12px 16px}#secret{background:linear-gradient(120deg,#35243d,#201c31);border-color:#be82a34f}#role{color:#ffb4ac;text-transform:uppercase;letter-spacing:2px;font-weight:800}#question{font-size:24px;color:#faf4ff}#answer-form{background:#0f1120;padding:20px;border-radius:12px;margin:20px 0}#answer-form button{width:100%}.crew-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}.crew-heading span{color:#888199;font-size:12px}#players{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:12px 0 24px}.player{padding:22px 16px;background:#111422;border:1px solid #ffffff12;border-radius:14px;overflow-wrap:anywhere;text-align:center}.player:nth-child(3n+2){--crew:#74b9c5}.player:nth-child(3n){--crew:#e6b974}.crew-avatar{width:54px;height:60px;border-radius:22px 22px 15px 15px;margin:0 auto 14px;display:grid;place-items:center;background:var(--crew,#b19ad8);border:4px solid #ffffff20;color:#19172b;font-size:24px;font-weight:900;box-shadow:0 6px 0 #0005}.player p{color:#b9b1cc;margin-bottom:0}.player button{width:100%;margin-top:16px}.eliminated{opacity:.5}.eliminated .crew-avatar{filter:grayscale(1)}#open-vote{display:block;width:100%;background:#d95057;margin:18px 0}#start{min-width:220px;background:#a58bd5;color:#151020}#game>p:last-child{font-size:12px;color:#8e879f}#error{background:#ef62621a;border:1px solid #ef626244;padding:12px 18px;color:#ffb7b7;border-radius:10px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d7b3ff;outline-offset:4px}[hidden]{display:none!important}body[data-phase=vote] #game{border-color:#e4676866}body[data-phase=vote] #status{color:#ff9996}@media(max-width:650px){main{padding:18px 16px 40px}.hero{grid-template-columns:1fr;padding-top:30px;gap:20px}.hero img{max-height:200px;object-fit:cover;transform:none;order:-1}.hero h1{margin-top:14px}section{padding:20px}.online-badge{font-size:8px;letter-spacing:1px}.crew-heading{align-items:flex-start;flex-direction:column;gap:0}.crew-heading h3{margin-bottom:0}#players{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player{padding:16px 10px}#heading{clear:both;padding-top:16px;font-size:22px}#start{width:100%}}
/* Shared family-game layout, with the mystery game's own accent colors. */
body{background:radial-gradient(ellipse at 12% 5%,#285c4740,transparent 50%),radial-gradient(ellipse at 100% 95%,#79568c20,transparent 40%),#102921;color:#f3efdf}main{max-width:1160px;padding:28px 32px 64px}nav{font-size:13px;border-bottom-color:#ffffff12;padding-bottom:24px}nav a{color:#bfd9cc}.online-badge{font-size:13px;letter-spacing:-.3px;color:#d7dfd1;text-transform:none;font-weight:700}.online-badge b{color:#e9c37f;margin-left:8px}.welcome-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.85fr);gap:70px;align-items:center;padding:44px 0}.hero{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0}.hero h1{font-size:clamp(42px,5.5vw,66px);letter-spacing:-2px;margin:22px 0}.hero h1 span{font-size:clamp(20px,2.5vw,28px);letter-spacing:2px;color:#b9a5d8}.hero .tag{margin-top:0;color:#e9c37f;font-size:10px}.intro{font-size:16px;color:#aac3b2}.hero-facts{margin-top:24px}.hero-facts span{font-size:11px;border-color:#c8dbb525;border-radius:30px;padding:6px 12px;color:#c7d6c9}.hero img{order:0;transform:none;width:100%;height:auto;max-height:230px;object-fit:cover;margin-top:28px;border-radius:22px;border-color:#ffffff10}.welcome-copy>details{font-size:12px;background:#18382d;border-color:#ffffff16;color:#aac3b2;padding:14px 18px;margin-bottom:0}.welcome-copy summary{color:#d8dfd2}#entry{max-width:none;width:100%;margin:0;padding:32px;border-radius:24px;background:linear-gradient(145deg,#23463a,#16382d);border-color:#d8e2bb26;box-shadow:0 24px 70px #0003}.entry-title .tag{color:#e9c37f;font-size:9px;margin:0 0 16px}.entry-title h2{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin:0 0 14px}.entry-title>p:last-child{font-size:13px;color:#adc3b4;margin-bottom:26px}label{font-size:12px;color:#d8dfd2}input{background:#102c24;border-color:#839d8255;min-height:50px;margin-bottom:16px}input:focus{outline-color:#e9c37f}#entry button{min-height:50px;background:#e9c37f;color:#18332a}#entry .secondary{background:#284e41;color:#e1e9df;border-color:#ffffff25}.entry-divider{font-size:9px;letter-spacing:1.5px;color:#9db7a9}#game{margin:32px auto;max-width:900px;padding:28px 36px;background:linear-gradient(145deg,#204536,#143429);border-color:#d8e2bb26;box-shadow:0 22px 70px #0003}#players .player{background:#102c24;border-color:#ffffff14}#status{font-size:22px;color:#e8d4a6}#leave,#skip{background:#284e41;border-color:#ffffff25;color:#e1e9df}#answer-form{background:#102c24}#secret{background:linear-gradient(120deg,#352d3c,#25362e)}#start{background:#e9c37f;color:#18332a}.in-match .welcome-layout{display:none}#game>p:last-child{color:#aac4b4}@media(max-width:800px){main{padding:20px 18px 42px}.welcome-layout{grid-template-columns:1fr;gap:30px;padding-top:30px}.hero img{max-height:190px}.hero h1{font-size:42px}.hero h1 span{font-size:22px}#entry{padding:26px}#game{padding:20px 16px}.online-badge{font-size:12px}.welcome-copy>details{margin-top:18px}}
/* Mission flow and vote reveal. */
.mission-toolbar{display:flex;gap:8px;justify-content:space-between}.mission-toolbar button{min-height:44px;font-size:12px}#leave{float:none}#heading{clear:none;padding:0;margin:20px 0}#phase-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;gap:6px;margin:20px 0}#phase-steps li{padding:10px 5px;text-align:center;font-size:12px;border:1px solid #ffffff20;border-radius:9px;color:#9bb4a5}#phase-steps .active{background:#e9c37f;color:#173c2c;font-weight:800;border-color:#ffe3af}#phase-steps .done{color:#a8e1ba;border-color:#a8e1ba66}.phase-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}#status{margin:0;font-size:clamp(18px,3vw,26px)}#clock{font-size:22px;white-space:nowrap;background:#102c24;border:1px solid #e9c37f44;min-width:70px;margin:8px 0;text-align:center}body[data-phase=discuss] #clock{font-size:11px;white-space:normal;max-width:200px}#clock.urgent{color:#ffb3a5;border-color:#ffb3a5}#progress{padding:12px 16px;background:#a8e1ba13;border:1px solid #a8e1ba44;border-radius:10px;font-size:13px}#notice{font-size:13px}#answer-form{margin:12px 0}#answer-form input{font-size:16px}#settings{background:#102c24}#settings summary{min-height:32px;cursor:pointer}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}select{width:100%;min-height:48px;background:#163b2c;color:#f4f0e0;border:1px solid #839d8255;border-radius:8px;padding:10px;font:inherit;font-size:16px}.settings-grid input{width:100%;font-size:16px}#settings p{font-size:12px;color:#bdd1c3}#players .player-state{display:block;margin:8px 0;color:#b9d6c4;font-size:11px}.player-answer{font-size:17px;color:#f6e5bf!important;border-top:1px solid #ffffff12;padding-top:12px}#players .kick-player{font-size:11px;min-height:44px;background:transparent;border:1px solid #f39b8c55;color:#ffc2b6}#players .avatar-mic{min-width:44px;min-height:44px;padding:7px;background:#ffffff0c;border:1px solid #ffffff20;border-radius:12px}.player-avatar{display:flex;align-items:center;justify-content:center;gap:5px}.player-avatar .crew-avatar{margin:0}.voice-speaking{outline:2px solid #a6e8b8}.voice-actions{display:flex;flex-wrap:wrap;gap:8px}.voice-actions button{min-height:44px;font-size:12px}.voice-member{display:inline-block;padding:5px 8px;font-size:12px}#vote-result{background:#102c24;border:1px solid #e9c37f66;border-radius:16px;padding:20px;margin:16px 0}#vote-result h3{margin:0;color:#f5d292;font-size:23px}#vote-result h4{font-size:13px}.ballots{list-style:none;padding:0}.ballots li{padding:9px 0;border-top:1px solid #ffffff12;font-size:13px}.revealed-question{border-top:1px solid #ffffff20;padding-top:12px;margin-top:12px}.revealed-question p{margin:6px 0;font-size:13px}#next-round{width:100%;min-height:48px;background:#e9c37f;color:#18332a}#open-vote:disabled{background:#365144;color:#b9cbbf;opacity:.7}button:disabled{cursor:not-allowed}#secret summary{cursor:pointer;min-height:32px}.voice-panel summary{cursor:pointer;min-height:32px}.voice-panel{background:#102c24;color:#c2d9c9;border-color:#ffffff20}
.ejection-overlay{position:fixed;inset:0;z-index:10000;background:#071b16ed;backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;pointer-events:none}.ejection-overlay>strong{font-size:clamp(22px,5vw,36px);color:#f7d18a;overflow-wrap:anywhere}.ejection-overlay>p{color:#c1d4c5}.ejection-scene{width:min(300px,85vw);height:180px;position:relative;overflow:hidden}.ejection-boot{position:absolute;left:15px;top:60px;font-size:65px;animation:mission-kick 1.2s ease both}.ejection-person{position:absolute;left:110px;top:55px;width:60px;height:75px;border:4px solid #ffffff30;border-radius:22px 22px 15px 15px;background:#b19ad8;display:grid;place-items:center;font-size:32px;color:#19172b;font-weight:900;animation:mission-out 1.3s ease both}.ejection-door{position:absolute;right:0;top:40px;font-size:95px}@keyframes mission-kick{0%,25%{transform:translateX(-30px) rotate(-25deg)}40%{transform:translateX(50px) rotate(10deg)}65%,100%{transform:translateX(0)}}@keyframes mission-out{0%,33%{transform:translateX(0)}90%,100%{transform:translateX(230px) rotate(100deg);opacity:0}}
@media(max-width:650px){body.in-match main{padding:10px 10px 24px}body.in-match nav{padding:8px 0}#game{margin:14px 0;padding:14px 12px}#heading{font-size:19px;margin:16px 0}#phase-steps{gap:4px;margin:14px 0}#phase-steps li{font-size:10px;padding:8px 2px}.phase-heading{align-items:flex-start}#clock{font-size:20px;min-width:55px}#players{gap:8px}.player{padding:14px 8px}.crew-avatar{width:42px;height:48px;font-size:20px}.player-avatar{flex-wrap:wrap}.player-answer{font-size:15px}.settings-grid{gap:8px}.mission-toolbar button{padding:8px;font-size:11px}.voice-actions button{flex:1}#vote-result{padding:15px}#vote-result h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ejection-boot,.ejection-person{animation:none}.ejection-overlay{backdrop-filter:none}}
#progress:empty,#copy-feedback:empty{display:none}#game button:not(.secondary):not(.kick-player):not(#open-vote):not(#leave):not(#skip){background:#e9c37f;color:#18332a}#game .mission-toolbar .secondary{background:#284e41;border-color:#ffffff25;color:#e1e9df}#game #voice-join,#game #voice-mute,#game #voice-leave{font-size:12px}
