.party-entry{max-width:900px;margin:0 auto}.game-carousel{height:250px;position:relative;display:grid;place-items:center;perspective:950px;touch-action:pan-y;user-select:none;margin:16px 0 0}.game-card{position:absolute;width:min(220px,57vw);height:220px;padding:13px;border:1px solid #ffffff16;border-radius:20px;background:linear-gradient(150deg,#181820,#101015);color:var(--text);display:flex;flex-direction:column;align-items:stretch;gap:9px;transition:transform .35s ease,opacity .35s ease,filter .35s ease;box-shadow:0 18px 50px #0006}.game-card-active{z-index:3;transform:translateX(0) translateZ(25px) scale(1);opacity:1}.game-card-prev{z-index:2;transform:translateX(-72%) rotateY(26deg) scale(.82);opacity:.54;filter:brightness(.7)}.game-card-next{z-index:2;transform:translateX(72%) rotateY(-26deg) scale(.82);opacity:.54;filter:brightness(.7)}.game-art{height:148px;border-radius:13px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,#46433f,#1d1d24 72%)}.game-art:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,#ffffff0a,transparent 55%,#0004)}.game-art>span{position:relative;z-index:1;font-size:64px;filter:drop-shadow(0 10px 14px #0008);transition:transform .5s}.game-card:hover .game-art>span{transform:scale(1.1) rotate(-5deg)}.game-art-glow{position:absolute;width:90px;height:90px;filter:blur(40px);background:#cfb16c;opacity:.3}.game-art-would_you_rather{background:radial-gradient(circle at 50% 42%,#625331,#1c1b20 74%)}.game-art-two_truths_wish{background:radial-gradient(circle at 50% 42%,#424b65,#181a22 74%)}.game-art-meme_bingo{background:radial-gradient(circle at 50% 42%,#614f43,#1b191b 74%)}.game-card-title{font-weight:800;font-size:12px;text-align:left}.game-card-hint{font:9px "DM Mono",monospace;color:#a9a7af;letter-spacing:.1em;text-align:left;text-transform:uppercase}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:22px}.carousel-controls .btn{min-width:42px;padding:10px}.carousel-count,.game-progress{font:10px "DM Mono",monospace;letter-spacing:.12em;color:#dbc78f}.game-selected-copy{text-align:center;margin:8px auto 18px}.game-selected-copy h3{margin:0 0 5px;font-size:18px}.game-selected-copy p,.instruction-copy{color:var(--muted);font-size:12px;line-height:1.7}.instruction-card{border:1px solid #ffffff14;background:#ffffff05;border-radius:12px;padding:13px 15px;margin:17px 0;color:#ddd}.instruction-card summary{cursor:pointer;font-size:11px;font-weight:700}.instruction-card p{font-size:11px;color:#a7a5b2;line-height:1.7;margin:10px 0 2px}.party-form{max-width:none}.room-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.room-choice{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;color:var(--text);cursor:pointer;transition:transform .2s,border-color .2s}.room-choice:hover{transform:translateY(-3px);border-color:#d0b46d66}.room-choice b{font-size:16px}.room-choice>span:last-child{color:var(--muted);font-size:12px}.choice-symbol{font-size:30px}.party-room{max-width:1050px}.party-start{width:100%;margin-top:18px}.waiting-notice{margin-top:18px}.instruction-copy{margin:12px 0 18px}.party-game-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr);gap:18px;margin-top:22px}.party-game-card{min-width:0}.party-players .avatar{width:38px;height:38px}.game-progress{margin:7px 0 15px}.game-progress span{color:#7f7d89}.wyr-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:18px 0}.wyr-option{display:flex;min-height:170px;flex-direction:column;justify-content:space-between;text-align:left;color:var(--text);cursor:pointer;transition:transform .2s,border-color .2s}.wyr-option:hover:not(:disabled){transform:translateY(-3px);border-color:#d5bb72}.wyr-option strong{font-size:clamp(16px,2vw,22px);line-height:1.35}.wyr-option:disabled{cursor:default}.choice-label{font:9px "DM Mono",monospace;letter-spacing:.14em;color:#d6bf7a}.vote-count{font-size:10px;color:#96939e}.truth-form{display:grid;gap:13px;padding:20px}.truth-form .field label{font-size:10px}.wish-choice{border:1px solid #ffffff14;border-radius:12px;padding:14px;display:flex;flex-wrap:wrap;gap:9px;margin:0}.wish-choice legend{font-size:10px;font-weight:700;color:#dedce5;padding:0 5px}.wish-choice label{cursor:pointer}.wish-choice input{position:absolute;opacity:0}.wish-choice label span{display:inline-block;border:1px solid #ffffff1b;border-radius:999px;padding:8px 10px;font-size:10px;color:#b5b2be}.wish-choice input:checked+span{border-color:#ddc275;color:#f4dfa2;background:#d1ad5e1a}.truth-statements{display:grid;gap:10px}.truth-statement{width:100%;display:flex;align-items:center;gap:13px;text-align:left;color:var(--text);font-size:13px;cursor:pointer}.truth-statement>span{font:10px "DM Mono",monospace;color:#d4bd79}.truth-statement:disabled{cursor:default}.truth-statement:not(:disabled):hover{border-color:#d5bb72}.truth-statement.is-wish{border-color:#e4c36b;background:linear-gradient(110deg,#d0ae5e1b,#15151b)}.truth-statement b{margin-left:auto;font:9px "DM Mono",monospace;color:#e5ca7e;white-space:nowrap}.turn-callout{padding:30px 20px;text-align:center;border:1px solid #ffffff13;background:#ffffff05;border-radius:16px;color:#e5e1ec}.score-strip{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0}.bingo-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.bingo-count{font:22px "DM Mono",monospace;color:#f0d58f;text-align:right;white-space:nowrap}.bingo-count small{display:block;color:#888591;font-size:8px;letter-spacing:.1em}.bingo-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(150px,.65fr);gap:16px;align-items:start}.bingo-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;aspect-ratio:1;width:100%;padding:7px;border-radius:15px;border:1px solid #ffffff14;background:#0d0d12}.bingo-tile{min-width:0;min-height:0;border-radius:7px;background:linear-gradient(145deg,#1c1c24,#14141a);border:1px solid #ffffff0b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:2px;color:#b7b4c1;transition:background .25s,border-color .25s,transform .25s,filter .25s}.bingo-emoji{font-size:clamp(14px,3vw,25px);line-height:1}.bingo-label{font-size:clamp(5px,.8vw,8px);line-height:1.1;max-width:100%;overflow-wrap:anywhere}.bingo-marked{background:linear-gradient(145deg,#55482a,#2c261c);border-color:#ddc37488;color:#fff0bd;box-shadow:inset 0 0 17px #d6b96020}.bingo-free{color:#f1d987}.bingo-side{display:grid;gap:12px}.bingo-cage{height:150px;position:relative;overflow:hidden;border:1px solid #ffffff18;border-radius:16px;background:radial-gradient(circle at 50% 45%,#373137,#18171d 69%);display:grid;place-items:center;align-content:center;gap:9px}.cage-orbit{position:absolute;width:95px;height:75px;border:2px dotted #e2ca7b7a;border-radius:50%;transform:rotate(-28deg)}.cage-ball{z-index:1;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 33% 28%,#fff,#d4bd7c 65%,#795c2b);box-shadow:0 0 25px #e5c96d55;font-size:24px}.bingo-cage small{z-index:1;font:8px "DM Mono",monospace;letter-spacing:.13em;color:#e2cf98}.cage-rolling .cage-orbit{animation:cage-rotate .6s linear infinite}.cage-rolling .cage-ball{animation:cage-bounce .34s ease-in-out infinite alternate}.bingo-roll{width:100%;padding:12px}.called-list{border-top:1px solid #ffffff14;padding-top:11px}.called-list>b{font-size:10px}.called-list>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.called-list>div>span{font-size:16px;background:#ffffff09;border:1px solid #ffffff10;border-radius:7px;padding:4px}.called-list small{color:var(--muted);font-size:9px}.bingo-winner-banner{position:relative;display:grid;justify-items:center;gap:5px;margin:18px 0;padding:35px 14px;border:1px solid #f0d27a88;border-radius:18px;background:radial-gradient(ellipse at 50% 0,#b08b3a35,transparent 70%),#111015;text-align:center;animation:winner-pop .65s cubic-bezier(.16,1.2,.3,1) both;box-shadow:0 0 55px #d8b65320}.bingo-winner-banner>span:nth-child(2){font:12px "DM Mono",monospace;letter-spacing:.3em;color:#f2d77f}.bingo-winner-banner strong{font-size:clamp(27px,7vw,46px);letter-spacing:-.05em;background:linear-gradient(90deg,#fff2c7,#d5aa4d);background-clip:text;color:transparent}.bingo-winner-banner small{color:#c2bbc5;font-size:11px}.winner-sparkles{font-size:22px;animation:sparkle-flash .85s ease-in-out infinite alternate}.party-won .party-game-card{border-color:#e5c56a42;box-shadow:0 0 70px #be9c4414,0 20px 60px #0003}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes cage-rotate{to{transform:rotate(332deg)}}@keyframes cage-bounce{to{transform:translate(32px,-14px) rotate(25deg)}}@keyframes winner-pop{0%{opacity:0;transform:scale(.82) translateY(10px)}100%{opacity:1;transform:scale(1) translateY(0)}}@keyframes sparkle-flash{to{filter:brightness(1.8);transform:scale(1.15)}}@media(max-width:760px){.room-choice-grid,.party-game-grid{grid-template-columns:1fr}.party-players{order:2}.game-carousel{height:215px;margin-inline:-18px}.game-card{height:190px;width:min(195px,60vw)}.game-art{height:120px}.game-card-prev{transform:translateX(-65%) rotateY(23deg) scale(.78)}.game-card-next{transform:translateX(65%) rotateY(-23deg) scale(.78)}.wyr-options{grid-template-columns:1fr}.wyr-option{min-height:128px}.bingo-layout{grid-template-columns:minmax(0,1.4fr) minmax(100px,.65fr);gap:9px}.bingo-board{gap:3px;padding:4px}.bingo-label{font-size:clamp(4px,1.4vw,7px)}.bingo-emoji{font-size:clamp(12px,4vw,20px)}.bingo-cage{height:115px}.bingo-count{font-size:18px}.truth-form{padding:15px}.truth-statement{font-size:11px;padding:12px}.truth-statement b{font-size:7px}}@media(max-width:390px){.bingo-layout{grid-template-columns:1fr}.bingo-side{grid-template-columns:1fr 1fr;align-items:center}.bingo-cage{height:110px;grid-row:span 2}.called-list{border:0;padding:0}.bingo-label{font-size:6px}}@media(prefers-reduced-motion:reduce){.cage-rolling .cage-orbit,.cage-rolling .cage-ball,.bingo-winner-banner,.winner-sparkles{animation:none}}
