/* Game covers share a stage, while each game keeps its own visual cue. */
.cover.theme-jewel,.cover.theme-topten{padding:0}
.cover.theme-jewel .jewel-cover{width:100%;height:100%;min-height:205px;background:radial-gradient(ellipse at 50% 34%,#82acb9 0,#315d6d 42%,#102c3b 100%)}
.cover.theme-jewel .jewel-cover:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,#ffffff17 34%,transparent 43%),radial-gradient(circle at 50% 103%,#e5c3836b,transparent 32%);pointer-events:none}
.cover.theme-jewel .jewel-cover img{width:min(66%,330px);height:min(78%,225px);object-fit:contain}
.cover.theme-jewel .jewel-cover__plinth{bottom:25px}
.cover.theme-jewel .jewel-cover strong{bottom:5px}
.cover.theme-topten{background:#122c2d;color:#faeaca}
.topten-cover{position:relative;isolation:isolate;width:100%;height:100%;min-height:205px;display:block;overflow:hidden;background:radial-gradient(circle at 50% 32%,#557669 0,#1c4c4b 32%,#0e2b34 75%,#091e2b 100%)}
.topten-cover:before,.topten-cover:after{content:'';position:absolute;inset:0;pointer-events:none}
.topten-cover:before{background:repeating-linear-gradient(115deg,transparent 0 35px,#f4dba40c 36px 37px),linear-gradient(0deg,#051b28ee,transparent 55%)}
.topten-cover:after{inset:8px;border:1px solid #e9c4865c;border-radius:12px;box-shadow:inset 0 0 0 7px #e9c4860c}
.topten-cover .topten-cover__rays{position:absolute;inset:-70% 0 0;background:conic-gradient(from 5deg at 50% 72%,transparent 0 14deg,#ffdfa51b 15deg 17deg,transparent 18deg 46deg,#ffdfa51b 47deg 49deg,transparent 50deg 88deg,#ffdfa51b 89deg 91deg,transparent 92deg 360deg);opacity:.85}
.topten-cover .topten-cover__orbit{position:absolute;left:50%;top:42%;width:240px;height:240px;border:1px solid #e8c48160;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 14px #eedaa40b,0 0 0 39px #eedaa408,0 0 50px #edc67c26}
.topten-cover .topten-cover__seal{position:absolute;z-index:1;left:50%;top:40%;width:147px;height:147px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:7px double #ffe3a4;border-radius:32px;background:linear-gradient(140deg,#f8dfab 0,#b88949 24%,#f4d9a0 50%,#9b6e38 82%,#f8e4b6);box-shadow:inset 0 0 0 3px #644a32,0 8px 0 #704e32,0 15px 0 #23363b,0 28px 34px #041926d9;transform:translate(-50%,-50%) rotate(-7deg);color:#173941;text-shadow:0 1px #fff7d5}
.topten-cover__seal span{font:900 14px/1 Cairo,Tahoma,sans-serif;letter-spacing:.25em}
.topten-cover__seal b{font:900 70px/.96 Georgia,serif;letter-spacing:-.07em}
.topten-cover__seal i{font-style:normal;font-size:13px}
.topten-cover .topten-cover__rank{position:absolute;z-index:1;inset:20% 7% auto;display:flex;justify-content:space-between;gap:15px;direction:ltr}
.topten-cover__rank span{display:grid;place-items:center;width:35px;height:35px;border:1px solid #e9c9848c;border-radius:50%;color:#fae8bd;font:800 12px Georgia,serif;background:#0d313a98;box-shadow:0 4px 9px #071c27}
.topten-cover__rank span:nth-child(2){opacity:0}
.topten-cover .topten-cover__caption{position:absolute;z-index:2;bottom:10px;left:0;right:0;display:grid;gap:0;text-align:center}
.topten-cover__caption strong{font:900 27px/1.2 Cairo,Tahoma,sans-serif;color:#fff2d6;text-shadow:0 3px 8px #031522}
.topten-cover__caption small{font:800 10px Cairo,Tahoma,sans-serif;color:#eed7a4}
.game-card:hover .topten-cover__seal,.detail-hero .topten-cover:hover .topten-cover__seal{transform:translate(-50%,-54%) rotate(0deg) scale(1.05)}
.topten-cover__seal,.mafia-cover__fan span{transition:transform .35s cubic-bezier(.2,.8,.2,1)}

.cover.word:has(.party-cover-art){padding:0}
.party-cover-art{position:absolute;inset:0;display:block;transform:none;text-align:center;isolation:isolate;overflow:hidden}
.party-cover-art:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 48% 35%,#ffffff34,transparent 54%),repeating-linear-gradient(145deg,transparent 0 36px,#ffffff08 37px 38px)}
.party-cover-art__scene{position:absolute;inset:0;display:grid;place-items:center;perspective:650px}
.party-cover-art__scene>*{position:absolute;display:grid;place-items:center;transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.party-cover-art__caption{position:absolute;z-index:3;bottom:0;right:0;left:0;display:grid;gap:0;padding:25px 10px 12px;background:linear-gradient(transparent,#061d29d9);color:#fff9e8}
.party-cover-art__caption small{font:700 10px Cairo,Tahoma,sans-serif;color:#f2dfba}
.party-cover-art__caption strong{display:block;padding:0;background:none;box-shadow:none;border-radius:0;color:#fff9e8;font:900 25px/1.4 Cairo,Tahoma,sans-serif;text-shadow:0 3px 9px #051824;transform:none}
.cover.theme-saad .party-cover-art__caption strong,.cover.theme-togo .party-cover-art__caption strong,.cover.theme-charades .party-cover-art__caption strong{background:none;color:#fff9e8;transform:none;box-shadow:none}
.cover.theme-togo .party-cover-art,.cover.theme-charades .party-cover-art{transform:none}
.cover.theme-saad{background:radial-gradient(circle at 30% 15%,#eac68b,#aa634a 55%,#633847);color:#fff}
.cover-tile{width:105px;height:119px;border:2px solid #fff2d0;border-radius:17px;background:linear-gradient(140deg,#ffecc6,#dba264);box-shadow:inset 0 0 0 5px #d19e72,9px 15px 0 #4e2c3a,0 25px 25px #301f31b5;color:#593b40;font:900 50px Cairo,Tahoma,sans-serif}
.tile-one{transform:translate(55px,-14px) rotate(19deg)}.tile-two{transform:translate(-55px,-7px) rotate(-17deg);font-size:24px}.tile-three{transform:translate(0,-20px) rotate(3deg);color:#926047}
.game-card:hover .tile-one{transform:translate(82px,-28px) rotate(25deg)}.game-card:hover .tile-two{transform:translate(-80px,-17px) rotate(-26deg)}
.cover.theme-outsider{background:radial-gradient(circle at 45% 34%,#8a9e8d,#3c5653 50%,#1c343e);color:#fff}
.cover-lens{width:137px;height:137px;z-index:2;border:10px solid #eddaaf;border-radius:50%;background:radial-gradient(circle at 50% 45%,#c7e2cc,#709a8d);box-shadow:inset 0 0 18px #123f43,0 11px 0 #9c7855,0 25px 25px #142934a8;color:#21434b;font:900 77px Cairo,Tahoma,sans-serif;transform:rotate(-11deg)}
.cover-lens:after{content:'';position:absolute;width:20px;height:65px;top:112px;left:3px;border-radius:10px;background:linear-gradient(90deg,#c7a77c,#6e583d);transform:rotate(42deg);box-shadow:4px 8px 8px #1128328c}
.cover-mark{font-size:60px;color:#e4d7aa5c}.cover-mark-a{transform:translate(118px,-39px)}.cover-mark-b{transform:translate(-122px,23px)}
.game-card:hover .cover-lens{transform:translate(12px,-7px) rotate(0)}
.cover.theme-sketch{background:radial-gradient(circle at 50% 20%,#aed7ce,#4a888b 53%,#28556a);color:#fff}
.cover-paper{width:155px;height:143px;border:7px solid #f7ead0;border-radius:8px;background:linear-gradient(140deg,#fffdf0,#dbece2);box-shadow:9px 13px 0 #205367,0 22px 25px #12344882;transform:rotate(-8deg)}
.cover-paper i{font:normal 88px/1 Georgia,serif;color:#df9861;transform:rotate(-15deg)}.cover-paper b{position:absolute;right:12px;bottom:0;font-size:44px;color:#368b83}
.cover-pencil{font-size:78px;color:#f1c581;text-shadow:6px 8px 0 #215063;transform:translate(-86px,-28px) rotate(-26deg)}
.game-card:hover .cover-paper{transform:rotate(1deg) translateY(-8px)}
.cover.theme-spectrum{background:radial-gradient(circle at 50% 14%,#d6b9d6,#755e99 55%,#333d68);color:#fff}
.cover-dial{width:194px;height:103px;top:25%;border-radius:194px 194px 0 0;overflow:hidden;background:conic-gradient(from 270deg at 50% 100%,#58a59d 0 53deg,#e7d28c 55deg 114deg,#cd819c 116deg 180deg,transparent 181deg);border:7px solid #fff2dd;border-bottom:0;box-shadow:0 15px 0 #392e67,0 25px 22px #2d2a5699}
.cover-dial i{position:absolute;left:50%;bottom:0;width:140px;height:70px;border-radius:140px 140px 0 0;background:#4b4878;transform:translateX(-50%)}
.cover-dial b{position:absolute;bottom:-4px;left:50%;width:8px;height:77px;border-radius:7px;background:#fff7d5;transform-origin:50% 95%;transform:translateX(-50%) rotate(-22deg);box-shadow:0 0 9px #fff4c3}
.cover-dial-label{top:8%;font-size:11px;font-weight:800;color:#f8eddc}
.game-card:hover .cover-dial b{transform:translateX(-50%) rotate(23deg)}
.cover.theme-nonsense{background:radial-gradient(circle at 42% 24%,#edbd90,#b66d69 54%,#653d65);color:#fff}
.cover-bubble{border-radius:23px;background:#fff2cf;color:#8a4555;font:900 24px Cairo,Tahoma,sans-serif;padding:14px 20px;box-shadow:8px 10px 0 #713d55,0 19px 23px #45294480;transform:rotate(9deg) translate(49px,-19px)}
.cover-bubble-b{font-size:38px;background:#deefe8;color:#3b6c70;transform:rotate(-12deg) translate(-62px,28px);z-index:2}
.game-card:hover .cover-bubble-a{transform:rotate(17deg) translate(62px,-32px)}.game-card:hover .cover-bubble-b{transform:rotate(-18deg) translate(-72px,12px)}
.cover.theme-matchday{background:radial-gradient(circle at 50% 5%,#79b89b,#276a67 56%,#183c4f);color:#fff}
.cover-pitch{width:210px;height:148px;border:4px solid #d9f0d6;border-radius:7px;background:repeating-linear-gradient(90deg,#459977 0 39px,#3d896d 40px 79px);box-shadow:0 16px 0 #154a50,0 22px 29px #102f3d9c;transform:rotate(-7deg)}
.cover-pitch:before{content:'';position:absolute;width:68px;height:68px;border:3px solid #d9f0d6;border-radius:50%}
.cover-pitch i{position:absolute;inset:0 auto 0 50%;border-left:3px solid #d9f0d6}.cover-pitch b{font-size:34px;filter:drop-shadow(3px 5px 2px #173c45);transform:translate(-7px,12px)}
.cover-match-card{width:55px;height:74px;border:3px solid #efdaa2;border-radius:7px;background:linear-gradient(135deg,#f6db9c,#ad7b50);color:#254753;font:900 26px Georgia,serif;box-shadow:4px 7px 0 #1a4a52}
.cover-match-card.card-a{transform:translate(117px,-47px) rotate(12deg)}.cover-match-card.card-b{transform:translate(-126px,21px) rotate(-13deg)}
.game-card:hover .cover-match-card.card-a{transform:translate(131px,-60px) rotate(20deg)}
.cover.theme-togo{background:radial-gradient(circle at 50% 8%,#7b7972,#344b50 55%,#172d34);color:#fff}
.cover-file{width:162px;height:141px;border:3px solid #d6bc8a;border-radius:7px;background:linear-gradient(140deg,#d0b98d,#967653);box-shadow:9px 13px 0 #182b31,0 22px 30px #0f202da8;color:#264047;transform:rotate(-8deg)}
.cover-file i{position:absolute;top:13px;font:900 14px Cairo,Tahoma,sans-serif;font-style:normal}.cover-file b{font-size:90px;font-family:Georgia,serif}
.cover-evidence{width:56px;height:70px;z-index:2;border:3px solid #f1e4c5;border-radius:5px;background:#315a5f;color:#f4d092;font:900 40px Cairo,Tahoma,sans-serif;transform:translate(-91px,35px) rotate(14deg);box-shadow:4px 8px 0 #122c34}
.game-card:hover .cover-file{transform:rotate(1deg) translateY(-8px)}
.cover.theme-charades{background:radial-gradient(circle at 52% 26%,#658c91,#205260 52%,#102d40);color:#fff}
.cover-gesture{z-index:2;width:132px;height:137px;border:4px solid #f6d8a2;border-radius:28px;background:linear-gradient(145deg,#f4dfb8,#ba8e61);color:#234b57;font-size:94px;box-shadow:8px 12px 0 #123547,0 23px 25px #0b283899;transform:rotate(-7deg)}
.cover-gesture-ring{width:190px;height:190px;border:2px solid #eed39e61;border-radius:50%;box-shadow:0 0 0 25px #eed39e12}
.game-card:hover .cover-gesture{transform:rotate(1deg) translateY(-9px)}

/* Mafia cards spread in the same way as the Ghadar deck on hover. */
.game-card:hover .mafia-cover__fan span:nth-child(1),.game-card:focus-within .mafia-cover__fan span:nth-child(1){transform:translateX(-99px) translateY(-8px) rotate(-25deg)}
.game-card:hover .mafia-cover__fan span:nth-child(2),.game-card:focus-within .mafia-cover__fan span:nth-child(2){transform:translateY(-19px) rotate(0deg)}
.game-card:hover .mafia-cover__fan span:nth-child(3),.game-card:focus-within .mafia-cover__fan span:nth-child(3){transform:translateX(99px) translateY(-8px) rotate(25deg)}
.mafia-lobby__preview .mafia-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.mafia-lobby__preview:hover .mafia-card:nth-child(1){transform:translateX(13px) translateY(-4px) rotate(-11deg)}
.mafia-lobby__preview:hover .mafia-card:nth-child(2){transform:translateY(-21px) scale(1.03)}
.mafia-lobby__preview:hover .mafia-card:nth-child(3){transform:translateX(-13px) translateY(-4px) rotate(11deg)}
.mafia-lobby__preview .mafia-card:hover{z-index:4;transform:translateY(-27px) rotate(0deg) scale(1.06)}

/* A quieter game room with individual accent colors, clear active states and depth. */
.room-page[data-game]{--room-accent:#6a8269;--room-tint:#eef5eb;--room-dark:#21434a}
.room-page[data-game="saad"]{--room-accent:#b56c51;--room-tint:#fff0de;--room-dark:#5d3841}
.room-page[data-game="outsider"]{--room-accent:#438576;--room-tint:#e8f4e8;--room-dark:#214c50}
.room-page[data-game="sketch"]{--room-accent:#318d8b;--room-tint:#e6f4f1;--room-dark:#24576a}
.room-page[data-game="spectrum"]{--room-accent:#8c6da3;--room-tint:#f2eafa;--room-dark:#4b426e}
.room-page[data-game="nonsense"]{--room-accent:#bc775f;--room-tint:#fff0df;--room-dark:#654057}
.room-page[data-game="matchday"]{--room-accent:#308c70;--room-tint:#e8f5e6;--room-dark:#205058}
.room-page[data-game="togo"]{--room-accent:#b69a65;--room-tint:#f5f0e2;--room-dark:#334748}
.room-page[data-game="charades"]{--room-accent:#b18458;--room-tint:#fff1d8;--room-dark:#214756}
.room-page[data-game="jewel"]{--room-accent:#58a4af;--room-tint:#e7f3f4;--room-dark:#234957}
.room-page[data-game="topten"]{--room-accent:#b59460;--room-tint:#f7f1e4;--room-dark:#163b43}
.room-page[data-game]:not([data-game="coup"]):not([data-game="mafia"]) .room-panel{position:relative;border-color:color-mix(in srgb,var(--room-accent) 40%,#fff);box-shadow:0 17px 0 -10px color-mix(in srgb,var(--room-accent) 35%,transparent),0 27px 45px #17363d17}
.room-page[data-stage="setup"] .room-panel,.room-page[data-stage="lobby"]:not([data-game="mafia"]):not([data-game="coup"]) .room-panel{background:radial-gradient(circle at 100% 0,var(--room-tint),transparent 45%),linear-gradient(160deg,#fffefa,#f8f9f4)}
.room-page[data-game]:not([data-game="coup"]):not([data-game="mafia"]) .room-panel>h1,.room-page[data-game]:not([data-game="coup"]):not([data-game="mafia"]) .room-panel>h2{color:var(--room-dark);text-wrap:balance}
.room-page[data-game] .room-head{border-right-color:var(--room-accent)}
.room-page[data-game] .room-head .eyebrow{color:var(--room-accent)}
.room-page[data-game] .room-choices .room-option span,.room-page[data-game] .room-option.button{border-radius:18px;background:linear-gradient(145deg,#fffefa,var(--room-tint));box-shadow:0 8px 0 -3px color-mix(in srgb,var(--room-accent) 32%,transparent),0 13px 22px #16384215;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.room-page[data-game] .room-option input:checked+span{border-color:var(--room-accent);background:var(--room-tint);transform:translateY(-3px);box-shadow:0 9px 0 -3px color-mix(in srgb,var(--room-accent) 55%,transparent),0 14px 20px #17394120}
.room-page[data-game] .room-option:hover span,.room-page[data-game] .room-option.button:hover{transform:translateY(-3px);border-color:var(--room-accent)}
.room-page[data-game] .party-scoreboard>div{border-color:color-mix(in srgb,var(--room-accent) 38%,#fff);background:linear-gradient(135deg,#fff,var(--room-tint));border-radius:16px}
.room-page[data-game] .party-scoreboard strong{color:var(--room-dark)}
.room-page[data-game] .saad-clock{border:1px solid color-mix(in srgb,var(--room-accent) 50%,#fff);background:linear-gradient(135deg,var(--room-tint),#fffdf7);box-shadow:0 8px 17px #18374312}
.room-page[data-game] .saad-clock strong{color:var(--room-dark)}
.room-page[data-game] .room-panel .field input:focus-visible,.room-page[data-game] .room-panel .field select:focus-visible{outline-color:var(--room-accent)}
.room-page[data-game]:not([data-game="mafia"]):not([data-game="coup"]) .room-panel .btn:not(.ghost){background:var(--room-dark);color:#fff;box-shadow:0 5px 0 color-mix(in srgb,var(--room-dark) 70%,#000)}
.room-page[data-game]:not([data-game="mafia"]):not([data-game="coup"]) .room-panel .btn:not(.ghost):hover{background:color-mix(in srgb,var(--room-dark) 85%,var(--room-accent))}
.room-page[data-game="topten"] .topten-panel{background:radial-gradient(circle at 50% -20%,#e8d6ae66,transparent 48%),linear-gradient(165deg,#fffcf5,#f0f4ee)}
.room-page[data-game="topten"] .topten-board>div{box-shadow:inset 0 1px #fff,0 5px 10px #1c3d3b12;transition:transform .2s ease,background .2s ease}
.room-page[data-game="topten"] .topten-board>div.is-open{background:#e2f0e2;transform:translateY(-2px)}
.room-page[data-game="topten"] .topten-card{box-shadow:0 7px 0 -2px #bba170,0 12px 18px #18343520;transform:perspective(350px) rotateX(2deg)}
.room-page[data-game="topten"] .topten-card:not(:disabled):hover{transform:perspective(350px) rotateX(0deg) translateY(-5px)}
.room-page[data-game="jewel"] .jewel-display{box-shadow:inset 0 0 30px #d8ffff40,0 16px 30px #173b4b39}
.room-page[data-game="sketch"] #room-canvas{box-shadow:0 9px 0 #277b766b,0 18px 30px #173e4536;border-color:#428d8a}
.room-page[data-game="matchday"] .match-stadium{filter:drop-shadow(0 13px 15px #173a3a29)}
.room-page[data-game="nonsense"] .party-answers>div{background:var(--room-tint)}
.room-page[data-game="charades"] .charades-card{box-shadow:0 13px 24px #173e4021}
.room-page[data-game="togo"] .togo-card-art img{transition:transform .3s ease}
.room-page[data-game="togo"] .togo-card-art:hover img{transform:scale(1.035)}

@media(max-width:650px){
 .topten-cover__seal{width:125px;height:125px}.topten-cover__seal b{font-size:58px}
 .topten-cover .topten-cover__orbit{width:205px;height:205px}
 .party-cover-art__caption strong{font-size:22px}
 .mafia-cover__fan span{transition:none}
 .room-page[data-game] .room-panel{box-shadow:0 13px 30px #17363d15}
}
@media(prefers-reduced-motion:reduce){
 .topten-cover__seal,.party-cover-art__scene>*,.mafia-cover__fan span,.mafia-lobby__preview .mafia-card,.room-page[data-game] .room-option span{transition:none!important;animation:none!important}
 .game-card:hover .topten-cover__seal{transform:translate(-50%,-50%) rotate(-7deg)}
 .game-card:hover .mafia-cover__fan span:nth-child(1),.game-card:focus-within .mafia-cover__fan span:nth-child(1){transform:translateX(-71px) rotate(-17deg)}
 .game-card:hover .mafia-cover__fan span:nth-child(2),.game-card:focus-within .mafia-cover__fan span:nth-child(2){transform:translateY(-8px) rotate(2deg)}
 .game-card:hover .mafia-cover__fan span:nth-child(3),.game-card:focus-within .mafia-cover__fan span:nth-child(3){transform:translateX(71px) rotate(17deg)}
}
