.tits-character-dialog{border:2px solid #f7c765;border-radius:22px;background:radial-gradient(ellipse at top,#663354,#211424 65%);color:#fff6e3;width:min(960px,96vw);max-width:96vw;max-height:94dvh;padding:24px;box-sizing:border-box;overflow:auto;box-shadow:0 24px 100px #000b;font-family:inherit}.tits-character-dialog::backdrop{background:#100b16e8;backdrop-filter:blur(7px)}.tits-character-head{text-align:center}.tits-character-head small{letter-spacing:.3em;color:#ffd378}.tits-character-head h2{font-size:clamp(24px,4vw,42px);margin:8px 0}.tits-character-status{min-height:2.6em;font-weight:800;color:#ffe2a1}.tits-character-cast{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}.tits-character{border:1px solid #a46482;border-radius:15px;background:#130e1a99;color:inherit;cursor:pointer;padding:10px 4px;min-width:0;transition:opacity .3s,background .2s,transform .2s}.tits-character:focus-visible{outline:4px solid #ffda70;outline-offset:3px}.tits-character:hover:not(:disabled){background:#703253;transform:translateY(-5px)}.tits-character:disabled{cursor:default;color:inherit}.tits-character strong,.tits-character small{display:block}.tits-character strong{font-size:clamp(12px,1.8vw,20px);margin:10px 0 5px}.tits-character small{font-size:11px;color:#eabdcf}.tits-character-art{display:block;transform-origin:50% 90%;animation:tits-cast-idle 2.7s ease-in-out infinite;animation-delay:calc(var(--cast-index)*-.48s)}.tits-character-art img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;border-radius:10px}.tits-cast-revealing .tits-character:not(.is-selected){opacity:.26}.is-selected{border:2px solid #ffdc75;background:#683247;box-shadow:0 0 30px #ffcf6140}.is-searching .tits-character-art{animation:tits-cast-search .3s ease-in-out infinite alternate}.tits-character-finds{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0;max-height:22dvh;overflow:auto}.tits-character-find{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e9bc61;border-radius:10px;background:#332336;color:#ffe19a;font-weight:800;font-size:13px;animation:tits-find-pop .25s ease-out}.tits-character-find .sprite{width:40px;height:40px}.tits-character-actions{text-align:center}.tits-character-actions button{background:#ffcb68;color:#301d26;border:0;border-radius:12px;padding:16px 40px;font:900 18px inherit;cursor:pointer}.tits-character-actions button:disabled{opacity:.5}@keyframes tits-cast-idle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}@keyframes tits-cast-search{from{transform:rotate(-7deg) translateX(-3px)}to{transform:rotate(7deg) translateX(3px)}}@keyframes tits-find-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.tits-character-dialog{padding:16px 10px}.tits-character-cast{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tits-character-art img{max-height:20dvh}.tits-character:nth-child(4){grid-column:1}.tits-character small{display:none}.tits-character strong{font-size:12px}.tits-character-finds{max-height:16dvh}}@media(prefers-reduced-motion:reduce){.tits-character-art,.tits-character-find{animation:none!important}.tits-character{transition:none}}.reduced-motion .tits-character-art,.reduced-motion .tits-character-find{animation:none!important}
/* Every searcher has their own movement and prop effect. */
.tits-character-art{position:relative}.tits-search-scene{position:absolute;inset:0;overflow:hidden;border-radius:12px;pointer-events:none}.tits-search-aubergine{position:absolute;bottom:5%;left:42%;font-size:clamp(26px,5vw,54px);filter:drop-shadow(0 0 8px #fbca62);opacity:0}.is-searching .tits-search-aubergine{animation:tits-veg-find .9s ease-out infinite}.tits-search-radar{position:absolute;width:55%;aspect-ratio:1;top:28%;left:26%;border:3px solid #ffda77;border-radius:50%;opacity:0}.is-searching .tits-search-radar{animation:tits-radar .9s infinite}.tits-search-flash{position:absolute;right:10%;top:55%;font-size:45px;color:#ffe68b;opacity:0}.is-searching .tits-search-flash{animation:tits-veg-find .9s .2s infinite}[data-searcher="mommy-muzz"] .is-searching .tits-character-art{animation:tits-listen .45s infinite alternate}[data-searcher="happy-hendo"] .is-searching .tits-character-art{animation:tits-chop .3s infinite}[data-searcher="big-boof"] .is-searching .tits-character-art{animation:tits-pint .45s infinite alternate}[data-searcher="girthy-guy"] .is-searching .tits-character-art{animation:tits-peek .5s infinite alternate}[data-searcher="yummy-yimmy"] .is-searching .tits-character-art{animation:tits-chicken .22s infinite alternate}.tits-other-award{display:block!important;color:#ffd989!important;font-weight:900}.tits-found-wild{position:relative;box-shadow:inset 0 0 0 3px #ffe284,0 0 14px #fac25877}.tits-wild-badge{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);font:900 clamp(8px,2vw,13px) Arial;letter-spacing:1px;background:#ffdc7a;color:#31202c;padding:2px 6px;border-radius:5px;z-index:5}.tits-character-find .tits-sprite{width:40px;height:40px;flex:none}
.game-tits .cash-ball{background-image:url('tits-symbols-v4.webp');background-size:400% 300%;background-position:0 100%;border:0;box-shadow:0 0 12px #ffb79b66;overflow:hidden}.game-tits .cash-ball:before,.game-tits .cash-ball:after,.game-tits .cash-ball .orb-flames{display:none!important}.game-tits .cash-ball b{background:none;border:0;border-radius:0;padding:0;color:#fff;-webkit-text-stroke:2px #000;paint-order:stroke fill;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;box-shadow:none;max-width:94%;box-sizing:border-box;z-index:3}
@keyframes tits-listen{from{transform:rotate(-4deg)}to{transform:rotate(2deg) translateY(-5px)}}@keyframes tits-chop{0%,100%{transform:rotate(-3deg)}45%{transform:rotate(5deg) translateY(7px)}}@keyframes tits-pint{from{transform:rotate(-6deg)}to{transform:rotate(6deg) translateY(-3px)}}@keyframes tits-peek{from{transform:translateX(-5px) rotate(-3deg)}to{transform:translateX(5px) rotate(3deg)}}@keyframes tits-chicken{from{transform:rotate(-4deg) scaleX(.97)}to{transform:rotate(4deg) scaleX(1.03)}}@keyframes tits-veg-find{0%,25%{opacity:0;transform:translateY(22px) scale(.4)}65%{opacity:1;transform:translateY(-6px) scale(1.2)}100%{opacity:0;transform:translateY(-35px) scale(.8)}}@keyframes tits-radar{0%{opacity:.8;transform:scale(.2)}100%{opacity:0;transform:scale(1.7)}}@media(prefers-reduced-motion:reduce){.tits-search-scene *{animation:none!important}}.reduced-motion .tits-search-scene *{animation:none!important}

.tits-character-dialog .tits-character:disabled{opacity:1}.tits-character-dialog.tits-cast-revealing .tits-character:not(.is-selected){opacity:.32}.tits-character-actions button{font-family:inherit;font-size:18px;font-weight:900}@media(max-width:600px){.tits-character-dialog.tits-cast-revealing .tits-character-art img{max-height:12dvh}.tits-character-dialog.tits-cast-revealing .tits-character{padding:6px 3px}.tits-character-dialog.tits-cast-revealing .tits-character strong{margin:4px 0}.tits-character-dialog.tits-cast-revealing .tits-character-status{min-height:1.3em}.tits-character-finds{max-height:18dvh}}

.tits-character-rules{display:block;max-width:570px;margin:0 auto 18px;color:#e3c8d4!important;letter-spacing:0!important;font-size:11px;line-height:1.45}.tits-cast-revealing .tits-character-rules{visibility:hidden}

/* Shared stage and individual discovery boards, based on the supplied layout reference. */
.tits-shared-stage{width:min(1160px,98vw);max-width:98vw;padding:22px 12px;background:radial-gradient(ellipse at 50% 5%,#633153,#170f23 68%)}
.tits-shared-stage .tits-character-cast{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding-top:18px;isolation:isolate;align-items:stretch}
.tits-shared-stage .tits-character-cast:before{content:"";position:absolute;left:-8px;right:-8px;top:42%;height:19%;z-index:-1;background:radial-gradient(ellipse,#da8d3f88,#582b4566 70%,transparent 72%);border-radius:50%;transform:perspective(500px) rotateX(25deg)}
.tits-shared-stage .tits-character{display:flex;flex-direction:column;align-items:stretch;padding:0;background:none;border:0;border-radius:0;min-width:0;box-shadow:none;transform:none!important}
.tits-shared-stage .tits-character:hover:not(:disabled){background:none}.tits-shared-stage .tits-character:nth-child(4){grid-column:auto}
.tits-shared-stage .tits-character-art{height:clamp(120px,29vw,290px);display:flex;align-items:end;justify-content:center}
.tits-shared-stage .tits-character-art img,.tits-shared-stage.tits-cast-revealing .tits-character-art img{height:100%;width:100%;max-height:none;object-fit:contain;aspect-ratio:auto}
.tits-shared-stage .tits-character strong,.tits-shared-stage.tits-cast-revealing .tits-character strong{display:flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:7px 2px;background:linear-gradient(#923653,#521c39);border:1px solid #eaa880;border-radius:8px 8px 0 0;font-size:clamp(10px,1.7vw,19px);line-height:1.15;text-shadow:0 2px #25101a}
.tits-shared-stage .tits-character.is-selected strong{background:linear-gradient(#34679a,#1a335b);border-color:#b4e6ff}
.tits-shared-stage.tits-cast-revealing .tits-character:not(.is-selected){opacity:1}.tits-shared-stage .is-selected .tits-character-art{filter:drop-shadow(0 0 10px #ffc55c99)}
.tits-character-board{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr auto;gap:3px;min-height:clamp(110px,17vw,190px);background:linear-gradient(#211d28,#090a14);border:2px solid #b96663;border-top:0;padding:6px 3px;border-radius:0 0 7px 7px}
.is-selected .tits-character-board{border-color:#b4e6ff;box-shadow:0 0 14px #76c7ff55}.tits-board-mystery{grid-column:1/-1;align-self:center;font-size:35px;color:#b59bba}.tits-board-spins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:1px;font-size:clamp(11px,2.7vw,30px)}.tits-board-wilds{display:flex;flex-direction:column;gap:3px;align-items:center}.tits-board-wilds .tits-sprite{width:100%;height:auto;aspect-ratio:1;max-height:none;border-radius:5px}.tits-board-total{grid-column:1/-1;color:#ffdb7e;font-weight:900;font-size:clamp(9px,1.6vw,16px);padding-top:4px}.tits-shared-stage .tits-character-actions{margin-top:18px}.tits-shared-stage .tits-character-rules{margin-bottom:0}.tits-shared-stage .tits-character-status{min-height:2.6em;margin-bottom:8px}
@media(max-width:600px){.tits-shared-stage{padding:16px 7px}.tits-shared-stage .tits-character-cast{gap:3px}.tits-shared-stage .tits-character strong{min-height:37px;font-size:10px}.tits-character-board{padding:5px 2px}.tits-shared-stage .tits-character-head h2{font-size:24px}}

.tits-shared-stage{overflow-x:hidden}.tits-shared-stage .tits-character-cast:before{left:0;right:0}.tits-shared-stage .tits-character-board{flex:1;min-width:0}.tits-shared-stage .tits-character-board,.tits-shared-stage .tits-character strong{box-sizing:border-box}

/* Six real prop-action frames per character, with a shared foot baseline. */
.tits-shared-stage .tits-character{--cast-scale:1;--fallback-scale:1;--action-duration:1.8s}
.tits-shared-stage [data-character="mommy-muzz"]{--cast-scale:.80;--fallback-scale:.80;--action-duration:1.5s}
.tits-shared-stage [data-character="happy-hendo"]{--cast-scale:.88;--fallback-scale:.88;--action-duration:1.2s}
.tits-shared-stage [data-character="girthy-guy"]{--cast-scale:.95;--fallback-scale:.95;--action-duration:1.5s}
.tits-shared-stage [data-character="yummy-yimmy"]{--cast-scale:.80;--action-duration:1.05s}
.tits-shared-stage .tits-character-art,.tits-shared-stage .is-searching .tits-character-art{animation:none;transform:none;overflow:visible}
.tits-shared-stage .tits-portrait{transform:scale(var(--fallback-scale));transform-origin:50% 100%}
.tits-action-sprite{display:none;position:absolute;bottom:0;left:50%;width:min(150%,clamp(120px,29vw,290px));aspect-ratio:1;background-repeat:no-repeat;background-size:300% 200%;transform:translateX(-50%) scale(var(--cast-scale));transform-origin:50% 100%;animation:tits-prop-action var(--action-duration) steps(1,end) infinite;animation-delay:calc(var(--cast-index)*-.37s)}
.has-action-sheet .tits-action-sprite{display:block}.has-action-sheet .tits-portrait{visibility:hidden}


@keyframes tits-prop-action{0%{background-position:0 0}16.667%{background-position:50% 0}33.334%{background-position:100% 0}50%{background-position:0 100%}66.667%{background-position:50% 100%}83.334%,100%{background-position:100% 100%}}
.tits-shared-stage .tits-character.is-selected strong{background:linear-gradient(#ffe294,#d5a13c);color:#301d0b;border-color:#fff2ba;text-shadow:none}
.tits-shared-stage .is-selected .tits-character-art{filter:drop-shadow(0 0 8px #ffeaa2) drop-shadow(0 0 20px #f2ad3f99)}
.tits-shared-stage .is-selected .tits-character-board{border-color:#ffdf85;box-shadow:0 0 18px #ffcb6366,inset 0 0 16px #e8a13522}
.has-new-find .tits-character-board{animation:tits-board-find .45s ease-out}
@keyframes tits-board-find{from{background-color:#ab6c3d;filter:brightness(1.45)}to{filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.tits-action-sprite,.has-new-find .tits-character-board{animation:none!important}}
.reduced-motion .tits-action-sprite,.reduced-motion .has-new-find .tits-character-board{animation:none!important}

/* Stiff Competition: generated marquee and velvet competition stage. */
.tits-shared-stage{border-color:#dfb965;border-radius:24px;background-color:#180f20;background-image:linear-gradient(180deg,#100b1980 0%,#170c1b18 42%,#100a19d9 82%),url('assets/tits/stiff-competition-stage.webp');background-size:cover;background-position:center;box-shadow:0 28px 100px #000d,inset 0 0 0 5px #170d1bcc,inset 0 0 44px #e6aa4522}
.tits-feature-kicker{font-size:10px!important;letter-spacing:.22em!important;color:#e9caa0!important}
.tits-shared-stage .tits-feature-title{position:relative;margin:4px auto 0;font-size:clamp(24px,4vw,42px);line-height:1.1}
.tits-feature-title img{display:none;width:min(100%,580px);height:clamp(90px,20vw,170px);object-fit:contain;margin:auto;filter:drop-shadow(0 8px 12px #0008)}
.tits-feature-title.has-title-art img{display:block}.tits-feature-title.has-title-art>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tits-shared-stage .tits-character-status{margin:8px 0 4px;min-height:2.1em;text-shadow:0 2px 8px #000}
.tits-shared-stage .tits-character-status:focus{outline:none}
.tits-shared-stage .tits-character-rules{background:#110b1d80;padding:6px 12px;border-radius:8px;line-height:1.4}
.tits-shared-stage .tits-character-cast{padding-top:10px}
.tits-shared-stage .tits-character:focus-visible{outline:none}
.tits-shared-stage .tits-character:focus-visible strong{outline:3px solid #fff1c5;outline-offset:3px}
.tits-shared-stage .tits-character-board{background:linear-gradient(#190f21ef,#100c17f5);border-color:#9c5365}
.tits-shared-stage .tits-character strong{background:linear-gradient(#87394f,#3d1835);border-color:#b17a60}
.tits-shared-stage .tits-character.is-selected strong{background:linear-gradient(#ffe294,#d5a13c);border-color:#fff2ba}
.tits-entrance{animation:tits-stage-enter .38s ease-out both}
.tits-entrance .tits-feature-title{animation:tits-marquee-enter .6s cubic-bezier(.16,1,.3,1) both}
.tits-entrance .tits-character-art{animation:tits-contender-enter .48s ease-out both;animation-delay:calc(var(--cast-index)*.07s)}
@keyframes tits-stage-enter{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes tits-marquee-enter{from{opacity:0;transform:translateY(-14px) scale(.92)}to{opacity:1;transform:none}}
@keyframes tits-contender-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.tits-feature-kicker{font-size:8px!important;letter-spacing:.12em!important}.tits-shared-stage{padding:14px 7px}.tits-feature-title img{height:90px}.tits-shared-stage .tits-character-rules{font-size:10px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.tits-entrance,.tits-entrance .tits-feature-title,.tits-entrance .tits-character-art{animation:none!important}}
.reduced-motion.tits-entrance,.reduced-motion .tits-feature-title,.reduced-motion .tits-character-art{animation:none!important}

/* Preserve the awarded symbol artwork from the first reel frame onward. */
.game-tits .cell.tits-found-wild{background:radial-gradient(ellipse,#e2a12c55,#5d390b55 60%,#1b0e2088)!important;box-shadow:inset 0 0 0 2px #ffe187,inset 0 0 20px #ffc43d88,0 0 12px #ffc83d88!important}
.game-tits .tits-found-wild>.tits-sprite{filter:drop-shadow(0 0 5px #ffcf48) drop-shadow(0 0 9px #ffe9a5)!important}


/* Keep the stage in place when choosing, searching and showing the start button. */
.tits-shared-stage .tits-character-actions{min-height:56px}

/* Gold is drawn from the transparent character pixels, never a circular backdrop. */
.tits-character-dialog.tits-cast-revealing{animation:none;transform:none;rotate:none;scale:none;translate:none}
.tits-shared-stage .tits-character.is-selected .tits-character-art{animation:tits-outline-ignite .72s cubic-bezier(.16,1,.3,1) both,tits-outline-throb 2.1s .72s ease-in-out infinite;transform:none;translate:none;filter:drop-shadow(0 0 1px #fff8dc) drop-shadow(0 0 3px #ffd341) drop-shadow(0 0 8px #ffa600)}
/* Tight white-gold rim, molten outer edge and a brief travelling expansion of the contour. */
@keyframes tits-outline-ignite{
 0%{filter:brightness(1) drop-shadow(0 0 0 #fff8dc) drop-shadow(0 0 0 #ffd341) drop-shadow(0 0 0 #ffa600)}
 18%{filter:brightness(1.32) drop-shadow(0 0 1px #fffdf0) drop-shadow(0 0 2px #ffdf59) drop-shadow(0 0 4px #ffad00)}
 42%{filter:brightness(1.14) drop-shadow(0 0 2px #fff8dc) drop-shadow(0 0 5px #ffd341) drop-shadow(0 0 15px #ffae00)}
 72%{filter:brightness(1.03) drop-shadow(0 0 1px #fff8dc) drop-shadow(0 0 2px #ffcb30) drop-shadow(0 0 6px #ff9900)}
 100%{filter:brightness(1.06) drop-shadow(0 0 1px #fff8dc) drop-shadow(0 0 3px #ffd341) drop-shadow(0 0 8px #ffa600)}
}
/* A double beat with a long release makes the silhouette throb without flashing the screen. */
@keyframes tits-outline-throb{
 0%,100%{filter:brightness(1.06) drop-shadow(0 0 1px #fff8dc) drop-shadow(0 0 3px #ffd341) drop-shadow(0 0 8px #ffa600)}
 22%{filter:brightness(1.19) drop-shadow(0 0 2px #fff9d9) drop-shadow(0 0 5px #ffdc4a) drop-shadow(0 0 12px #ffb000)}
 39%{filter:brightness(1.08) drop-shadow(0 0 1px #fff8dc) drop-shadow(0 0 3px #ffce35) drop-shadow(0 0 7px #ff9c00)}
 54%{filter:brightness(1.25) drop-shadow(0 0 2px #fffcec) drop-shadow(0 0 6px #ffdc4a) drop-shadow(0 0 14px #ffb000)}
 80%{filter:brightness(1.04) drop-shadow(0 0 1px #fff0b6) drop-shadow(0 0 2px #ffc32e) drop-shadow(0 0 5px #ff9900)}
}
@media(prefers-reduced-motion:reduce){.tits-shared-stage .tits-character.is-selected .tits-character-art{animation:none!important}}
.reduced-motion .tits-character.is-selected .tits-character-art{animation:none!important}
