/* Open Games controls live with the list; chat is intentionally full-height. */
.lobby-tools{display:flex;align-items:center;gap:2px}.lobby-tools .filter{color:#827b8a;padding:7px 8px;border-bottom:1px solid transparent}.lobby-tools .filter.active{color:#e2d8f1;border-bottom-color:var(--purple)}.lobby-tools #refreshLobbies{display:none}
@media (min-width:901px){.columns{align-items:start}.game-list{align-self:start}.chat{align-self:stretch;height:calc(100dvh - 168px);min-height:560px}.lobby-tools .filter{padding:10px 9px}}
@media(max-width:900px){.lobby-tools{overflow:auto}.lobby-tools .filter{white-space:nowrap}.list-head{height:auto;min-height:48px;gap:6px}.list-head>div:first-child{white-space:nowrap}}

/* Lobby browser: denser information, clearer hierarchy, no extra panels. */
.lobby-heading{display:flex;align-items:center}.lobby-heading:after{content:"LIVE UPDATES";margin-left:12px;color:#6f6978;font:500 8px DM Mono,monospace;letter-spacing:.09em}.lobby-heading:before{content:"";order:3;width:5px;height:5px;border-radius:50%;background:#4ed393;margin:0 5px 0 8px;box-shadow:0 0 9px rgba(78,211,147,.7)}
@media (min-width:901px){
  .game-list{border-color:#292733;background:#0f0f14;box-shadow:0 14px 34px rgba(0,0,0,.12)}
  .list-head{height:62px;padding:0 22px;background:linear-gradient(90deg,#121118,rgba(18,17,24,.7));border-bottom-color:#2a2832}
  .list-head b{font-size:14px;letter-spacing:-.02em}.list-head span{font-size:9px;margin-left:9px}.lobby-tools{gap:7px}.lobby-tools .filter{padding:10px 11px;font-size:10px}
  .labels,.lobby{grid-template-columns:minmax(220px,1.18fr) minmax(235px,1.25fr) 115px 96px 142px;gap:18px}
  .labels{height:31px;padding:0 22px;background:#0c0c11;color:#716b79;font-size:8px}.lobby{height:88px;padding:0 22px;border-bottom-color:#27252e;transition:background .16s ease,box-shadow .16s ease}
  .lobby:hover{background:#15141c;box-shadow:inset 3px 0 #8c57ee}.lobby.featured{background:linear-gradient(90deg,rgba(233,189,73,.07),transparent 36%);box-shadow:inset 3px 0 #e9bd49}
  .player{gap:11px}.player img{width:43px;height:43px;border:1px solid #332e41;border-radius:6px;background:#211b2c;padding:3px}.player b{font-size:12px;letter-spacing:-.01em}.player small{margin-top:4px;font-size:9px;color:#837d8b}.player i{display:none}.player strong{margin-left:auto;border:1px solid #3a3543;border-radius:20px;padding:5px 8px;background:#17161d;color:#aaa3b2;font-size:8px;text-transform:uppercase}
  .offer{align-items:center;gap:13px}.offer img{width:39px;height:39px;margin:0 -11px 0 0;padding:3px;border-color:#3a3545;border-radius:5px;background:linear-gradient(135deg,#272033,#1c1a23)}.offer img:first-child{z-index:2}.offer span{width:25px;height:25px;margin:0 0 0 7px;border:1px solid #3b3743;background:#24212c;color:#d9d2e3;font-size:9px}
  .pot{position:relative;padding-top:12px;font-size:15px;letter-spacing:-.025em}.pot:before{content:"TOTAL POT";position:absolute;top:0;color:#716b79;font:500 7px DM Mono,monospace;letter-spacing:.08em}.pot em{padding:1px 4px}.chance{display:flex;flex-direction:column;gap:2px;font-size:13px;font-family:Space Grotesk,sans-serif;font-weight:700;color:#e7e2ea}.chance:after{content:"EQUAL ODDS";font:500 7px DM Mono,monospace;letter-spacing:.07em;color:#77717f}
  .actions{gap:7px}.actions button{min-width:59px;padding:9px 10px;border-radius:4px;font-size:9px;transition:transform .14s ease,background .14s ease}.actions button:hover{transform:translateY(-1px);background:#25212d;color:#fff}.actions .join{min-width:63px;background:linear-gradient(135deg,#9b62f5,#7042c7);border-color:#9b62f5;box-shadow:0 5px 15px rgba(117,68,204,.2)}
  footer{height:37px;padding:0 22px;background:#0c0c11;font-size:9px}
}

/* Make each live match feel like its own GodlyFlip drop, not a copied betting row. */
@media (min-width:901px){
  .labels span:nth-child(2){font-size:0}.labels span:nth-child(2):after{content:"WEAPONS IN PLAY";font-size:8px}
  .labels,.lobby{grid-template-columns:minmax(220px,1fr) minmax(330px,1.6fr) 120px 96px 142px}
  .lobby{height:104px}.lobby .offer{min-height:78px;gap:0;padding:4px 0}.lobby .offer img{width:78px;height:78px;object-fit:contain;margin:0 -30px 0 0;padding:0;border:0;background:transparent;filter:drop-shadow(0 8px 8px rgba(0,0,0,.45))}.lobby .offer img:first-child{z-index:3}.lobby .offer img:nth-child(2){z-index:2}.lobby .offer span{z-index:4;margin-left:16px;background:#292532;border-color:#4a4356}
  .skin-void{background:linear-gradient(90deg,rgba(113,52,180,.13),transparent 39%)}.skin-royal{background:linear-gradient(90deg,rgba(207,139,36,.12),transparent 39%)}.skin-plasma{background:linear-gradient(90deg,rgba(89,193,77,.10),transparent 39%)}.skin-frost{background:linear-gradient(90deg,rgba(52,161,221,.11),transparent 39%)}
  .skin-void:hover{box-shadow:inset 3px 0 #9b61f3}.skin-royal:hover{box-shadow:inset 3px 0 #f1bd51}.skin-plasma:hover{box-shadow:inset 3px 0 #84dc65}.skin-frost:hover{box-shadow:inset 3px 0 #6bc8f4}
}

/* Top navigation and lower chat: the lobby owns the page, not a side rail. */
.top-brand{display:flex;align-items:center;gap:9px;color:#f4f0fa;text-decoration:none;font:800 12px Space Grotesk,sans-serif;letter-spacing:.04em}.top-brand img{width:35px;height:35px;object-fit:cover;border-radius:8px;mix-blend-mode:screen}.top-nav{display:flex;align-items:center;justify-content:center;gap:5px}.top-nav button{border:0;border-radius:6px;background:transparent;color:#aaa4b1;padding:10px 12px;font:700 11px Manrope,sans-serif}.top-nav button:hover{color:#fff;background:#191720}.top-nav button.active{background:#211936;color:#dac4ff}.top-nav button.soon{cursor:not-allowed;color:#625d69}.top-nav i{margin-left:4px;color:#8d6abb;font:600 8px DM Mono,monospace;letter-spacing:.05em}
.pot,.creator-total>b,.modal-pot b{color:#c693ff}.pot em,.creator-total em,.modal-pot em,footer em{background:#a46df4;color:#fff}.balance em{background:#a46df4;color:#fff}
@media (min-width:901px){
  .app{grid-template-columns:minmax(0,1fr)}.rail{display:none}main{padding:0 clamp(24px,3vw,54px);grid-template-rows:74px minmax(0,1fr)}header{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}.header-right{margin-left:auto}.workspace{grid-template-rows:72px minmax(0,1fr)}.page-title{align-items:center}.page-title h1{font-size:31px}.page-title p{font-size:11px;margin-bottom:5px}.columns{grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.game-list{align-self:auto}.chat{align-self:auto;height:clamp(180px,calc(100dvh - 650px),280px);min-height:0;width:100%}
  .list-head{height:61px}.list-head b{font-size:16px}.list-head span{font-size:11px}.lobby-tools{gap:8px}.lobby-tools .filter{font-size:11px;padding:11px 12px}.lobby-tools .create-open{margin-left:8px;padding:10px 13px;border-radius:5px;font-size:10px}.labels,.lobby{grid-template-columns:minmax(225px,1fr) minmax(310px,1.5fr) 130px 105px 142px;gap:20px}.labels{height:32px;font-size:9px}.labels span:nth-child(2):after{font-size:9px}.lobby{height:92px}.player b{font-size:14px}.player small{font-size:11px}.player strong{font-size:9px}.lobby .offer img{width:72px;height:72px}.pot{font-size:18px}.pot:before{font-size:8px}.chance{font-size:15px}.chance:after{font-size:8px}.actions button{font-size:10px;padding:10px 12px;min-width:66px}.actions .join{min-width:70px}.chat-head b{font-size:15px}.chat-head span{font-size:11px}.messages b,.messages p{font-size:12px}.messages time{font-size:9px}.chat input{font-size:12px}
}
@media(max-width:900px){
  header{min-height:58px;gap:8px}.top-brand b{display:none}.top-brand img{width:32px;height:32px}.top-nav{order:3;overflow:auto;justify-content:flex-start;flex:1;gap:2px}.top-nav button{white-space:nowrap;padding:9px 10px;font-size:10px}.header-right{margin-left:0}.header-right .online,.header-right .account{display:none}.columns{display:block}.chat{height:240px;margin-top:12px}.page-title{padding:15px 0}.page-title h1{font-size:26px}.lobby-tools .create-open{margin-left:3px;padding:9px 10px;font-size:9px}.lobby .offer{display:flex}
}

/* Desktop: chat belongs beside the game browser, not below it. */
@media (min-width:901px){
  .columns{grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}
  .game-list{align-self:start}
  .chat{grid-column:2;grid-row:1;align-self:stretch;height:calc(100dvh - 158px);min-height:520px}
}

/* A real site header: readable at a glance, without turning every tab into a card. */
@media (min-width:901px){
  main{grid-template-rows:92px minmax(0,1fr)}header{gap:34px;border-bottom-color:#292630}
  .top-brand{gap:11px;font-size:15px;letter-spacing:.045em}.top-brand img{width:45px;height:45px;border-radius:10px}.top-nav{gap:12px;height:100%}.top-nav button{position:relative;height:100%;padding:0 8px;border-radius:0;font-size:13px;letter-spacing:.01em}.top-nav button:hover{background:transparent;color:#f4effb}.top-nav button.active{background:transparent;color:#e5d7ff;box-shadow:inset 0 -3px #a96dff}.top-nav button.active:before{content:"";display:inline-block;width:5px;height:5px;margin:0 7px 1px 0;border-radius:50%;background:#b278ff;box-shadow:0 0 10px rgba(178,120,255,.85)}.top-nav button.soon{color:#77717d}.top-nav i{font-size:9px;color:#a082ca}
  .header-right{gap:16px}.online{font-size:12px}.balance{padding:10px 12px;border-radius:6px}.balance small{font-size:8px}.balance b{font-size:16px}.balance strong{font-size:17px}.account{font-size:14px}.account img{width:38px;height:38px;border-radius:6px}.account small{font-size:8px}
  .chat{height:calc(100dvh - 176px)}
}

/* Stronger header and a section-level create action. */
@media (min-width:901px){
  main{grid-template-rows:112px minmax(0,1fr)}header{gap:42px}.top-brand{font-size:17px;gap:13px}.top-brand img{width:54px;height:54px;border-radius:12px}.top-nav{gap:17px}.top-nav button{font-size:16px;padding:0 10px}.top-nav button.active:before{display:none}.top-nav button.active{box-shadow:inset 0 -4px #a96dff}.top-nav i{font-size:10px}.header-right{gap:18px}.online{font-size:13px}.balance{padding:12px 14px}.balance b{font-size:18px}.account{font-size:15px}.account img{width:44px;height:44px}.account small{font-size:9px}.chat{height:calc(100dvh - 196px)}
  .lobby-heading:before,.lobby-heading:after{display:none}.lobby-heading{gap:11px}.lobby-heading .create-open{margin-left:16px;padding:12px 17px;border-radius:6px;background:linear-gradient(135deg,#b578ff,#7745d3);box-shadow:0 9px 22px rgba(130,74,225,.25);font-size:11px;letter-spacing:.03em}.lobby-heading .create-open:hover{filter:brightness(1.1);transform:translateY(-1px)}.lobby-tools .create-open{display:none}
}
@media(max-width:900px){.lobby-heading:before,.lobby-heading:after{display:none}.lobby-heading .create-open{margin-left:8px;padding:9px 11px;font-size:9px}}

/* Neutral rows, live total, and a proper 10-minute game history. */
.history-toggle{border:1px solid #37333e;border-radius:4px;background:transparent;color:#c2bacd;padding:8px 10px;font:700 9px DM Mono,monospace}.history-toggle.active{border-color:#9e6cf2;background:#211936;color:#eadfff}.live-total{display:flex;align-items:center;gap:6px;margin-left:7px;padding-left:12px;border-left:1px solid #34303a;color:#8d8595;font:600 8px DM Mono,monospace;letter-spacing:.07em}.live-total strong{color:#c693ff;font:700 13px Space Grotesk,sans-serif;letter-spacing:0}.live-total em{font-style:normal;background:#a46df4;color:#fff;border-radius:50%;padding:1px 4px;font-size:.8em}.past-games{min-height:360px;padding:0 22px;background:#0f0f14}.past-game{display:grid;grid-template-columns:minmax(0,1fr) 135px 190px;align-items:center;gap:20px;min-height:92px;border-bottom:1px solid #282630}.past-game:last-child{border-bottom:0}.past-game>button{width:max-content;max-width:100%;border:0;background:transparent;color:#f1edf4;text-align:left;padding:0;cursor:pointer}.past-game>button:hover b{color:#c693ff}.past-game b{font:700 14px Space Grotesk,sans-serif}.past-game small{display:block;margin-top:4px;color:#938b9b;font-size:11px}.past-game> b{color:#c693ff;font-size:17px}.past-game> b em{font-style:normal;background:#a46df4;color:#fff;border-radius:50%;padding:1px 4px;font-size:.75em}.expiry{justify-self:end;color:#a69eaf;font:500 10px DM Mono,monospace}.profile-link{font:inherit}.profile-head{display:flex;align-items:center;gap:13px;margin:17px 0}.profile-head img{width:56px;height:56px;object-fit:contain;border:1px solid #423b50;border-radius:8px;background:#211b2c}.profile-head h2{font-size:24px!important}.profile-head span{display:block;margin-top:3px;color:#a198aa;font-size:11px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #35313c;border-left:1px solid #35313c}.profile-stats span{padding:13px;border-right:1px solid #35313c;border-bottom:1px solid #35313c;color:#938b9b;font-size:10px}.profile-stats b{display:block;margin-bottom:5px;color:#efeaf3;font:700 19px Space Grotesk,sans-serif}
@media (min-width:901px){.lobby.skin-void,.lobby.skin-royal,.lobby.skin-plasma,.lobby.skin-frost,.lobby.featured{background:#101015!important;box-shadow:none!important}.lobby:hover,.lobby.skin-void:hover,.lobby.skin-royal:hover,.lobby.skin-plasma:hover,.lobby.skin-frost:hover{background:#16151d!important;box-shadow:inset 3px 0 #4b4654!important}.history-toggle{font-size:10px;padding:10px 12px}.live-total{font-size:9px}.live-total strong{font-size:15px}.past-games{min-height:365px}.past-game{min-height:104px}.player{cursor:pointer}.player:hover b{color:#c693ff}}
@media(max-width:900px){.live-total{display:none}.history-toggle{white-space:nowrap}.past-games{padding:0 12px;min-height:275px}.past-game{grid-template-columns:1fr auto;gap:10px}.expiry{grid-column:1/3;justify-self:start;margin-top:-14px}.profile-stats b{font-size:16px}}
.lobby-heading .create-open{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:42px;border:1px solid #c99cff!important;background:linear-gradient(135deg,#a864ff 0%,#7a42db 100%)!important;color:#fff!important;text-shadow:0 1px 2px rgba(22,8,45,.65);font:800 11px/1 Space Grotesk,sans-serif!important;letter-spacing:.04em;box-shadow:0 7px 20px rgba(125,67,221,.34),inset 0 1px rgba(255,255,255,.23)}.lobby-heading .create-open:before{content:'+';display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.38);color:#fff;font:700 18px/16px Arial,sans-serif}.lobby-heading .create-open:hover{background:linear-gradient(135deg,#bd83ff 0%,#864ce8 100%)!important;filter:none;transform:translateY(-1px)}.lobby-heading .create-open:active{transform:translateY(0);box-shadow:0 3px 10px rgba(125,67,221,.3),inset 0 1px 3px rgba(37,10,80,.35)}
.lobby .offer{justify-content:center;align-items:center}.labels span:nth-child(2){text-align:center}
.past-game{min-height:116px}.outcome{grid-template-rows:auto auto auto}.outcome>img{grid-row:1/4}.outcome>span{grid-column:2;grid-row:1}.outcome>.won-items{grid-column:2;grid-row:2;display:flex;align-items:center;height:34px;margin:1px 0;overflow:visible}.outcome>.won-items img{grid-row:auto!important;width:38px!important;height:38px!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important;margin-right:-10px;padding:0!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.4))}.outcome>small{grid-column:2;grid-row:3;margin:0!important;white-space:nowrap}
.offer .extra-item{display:none!important}.offer.expanded .extra-item{display:block!important}.offer .item-more{position:relative;z-index:7;display:grid;place-items:center;width:26px;height:26px;margin-left:10px;border:1px solid #665b76;border-radius:50%;background:#292533;color:#f4eff8;font:800 10px DM Mono,monospace;cursor:pointer}.offer .item-more:hover{border-color:#b987ff;background:#47336a}.outcome>.won-items{justify-content:center}.past-game{grid-template-columns:minmax(360px,1fr) 230px 115px 68px 120px;column-gap:15px}.past-view{justify-self:end;width:58px;border:1px solid #514a5b!important;background:#18171d!important;color:#eee9f3!important;padding:9px 5px!important;font:800 9px DM Mono,monospace!important;cursor:pointer}.past-view:hover{border-color:#a96dff!important;background:#2a203d!important}.viewer-card{width:min(640px,calc(100vw - 28px))!important;padding:24px!important}.replay-players{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:12px;margin:18px 0 10px}.replay-players>strong{text-align:center;color:#81788d;font:700 11px DM Mono,monospace}.replay-player{display:grid;grid-template-columns:43px 1fr;grid-template-rows:auto auto;align-items:center;gap:0 9px;min-width:0;padding:9px;border:1px solid #302c37;background:#121117}.replay-player small{grid-column:2;color:#7f7789;font:700 8px DM Mono,monospace;letter-spacing:.1em}.replay-player img{grid-row:1/3;width:40px;height:40px;object-fit:contain;border-radius:7px;background:#221c2c;padding:3px}.replay-player b{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.replay-player.winner{border-color:rgba(78,211,147,.76);background:rgba(78,211,147,.1);box-shadow:inset 0 0 0 1px rgba(78,211,147,.16)}.replay-player.winner b,.replay-player.winner small{color:#4ed393}.flip-stage{position:relative;display:grid;justify-items:center;min-height:166px;padding:8px 0 4px;border-top:1px solid #302d37;border-bottom:1px solid #302d37;background:radial-gradient(circle at center,rgba(123,67,220,.18),transparent 60%)}.flip-coin{width:100px;height:100px;display:grid;place-items:center;border-radius:50%;filter:drop-shadow(0 9px 16px rgba(0,0,0,.55));transform-style:preserve-3d}.flip-coin img{width:100%;height:100%;object-fit:contain;border-radius:50%}.flip-coin.spinning{animation:gf-coin-spin 1.25s cubic-bezier(.24,.72,.33,1) infinite}.flip-coin.landed{animation:gf-coin-land .42s ease-out}.flip-coin.landed.heads{filter:drop-shadow(0 0 16px rgba(62,171,255,.75))}.flip-coin.landed.tails{filter:drop-shadow(0 0 16px rgba(255,76,76,.72))}@keyframes gf-coin-spin{0%{transform:rotateY(0) rotateZ(0) scale(1)}40%{transform:rotateY(720deg) rotateZ(8deg) scale(1.13)}70%{transform:rotateY(1260deg) rotateZ(-7deg) scale(.94)}100%{transform:rotateY(1800deg) rotateZ(0) scale(1)}}@keyframes gf-coin-land{0%{transform:scale(.75)}70%{transform:scale(1.1)}100%{transform:scale(1)}}#flipCount{margin-top:4px;font:800 22px Space Grotesk,sans-serif;letter-spacing:.03em}#flipStatus{color:#aaa1b5;font:700 8px DM Mono,monospace;letter-spacing:.12em}.replay-prize{display:flex;align-items:center;gap:14px;min-height:58px;padding:10px 13px;border-bottom:1px solid #302d37;background:#111016}.replay-prize>span{color:#928a9c;font:700 8px DM Mono,monospace;letter-spacing:.1em}.replay-prize>div{display:flex;align-items:center;gap:3px}.replay-prize img{width:40px;height:40px;object-fit:contain;opacity:.5;filter:grayscale(.5);transition:.35s}.replay-prize.revealed img{opacity:1;filter:none;transform:translateY(-2px);filter:drop-shadow(0 5px 7px rgba(78,211,147,.27))}.viewer-card .modal-pot{margin:12px 0}.viewer-card .modal-actions{margin-top:12px}.profile-stats{grid-template-columns:repeat(3,1fr)}
@media(max-width:1150px){.past-game{grid-template-columns:minmax(200px,1fr) 150px 88px 55px;gap:8px}.past-game .expiry{display:none}.past-view{width:48px;font-size:8px!important}.outcome>.won-items img{width:29px!important;height:29px!important}.viewer-card{width:min(580px,calc(100vw - 24px))!important}.replay-player{padding:7px}.replay-player img{width:34px;height:34px}.replay-player b{font-size:11px}}
@media(max-width:700px){.viewer-card{padding:17px!important}.replay-players{grid-template-columns:1fr 28px 1fr;gap:6px}.replay-player{grid-template-columns:32px 1fr;padding:6px;gap:0 5px}.replay-player img{width:29px;height:29px}.replay-player b{font-size:9px}.replay-player small{font-size:6px}.flip-stage{min-height:138px}.flip-coin{width:82px;height:82px}.replay-prize{gap:8px;padding:8px}.replay-prize img{width:31px;height:31px}.replay-prize>span{font-size:7px}}

/* User-supplied GF chip used as the site currency mark. */
.balance em,.pot em,.creator-total em,.modal-pot em,footer em,.live-total em,.past-game> b em{display:inline-block;width:18px;height:18px;padding:0!important;border-radius:50%;background-color:transparent!important;background-image:url('assets/godlyflip-token.png')!important;background-repeat:no-repeat!important;background-size:165%!important;background-position:center!important;color:transparent!important;font-size:0!important;vertical-align:-4px;box-shadow:none!important}.creator-total em,.modal-pot em{width:22px;height:22px;vertical-align:-5px}.balance em{width:17px;height:17px;vertical-align:-3px}.live-total em{width:15px;height:15px;vertical-align:-3px}.past-game> b em{width:18px;height:18px;vertical-align:-4px}

/* Keep the GF token readable and prevent any game column from escaping the page. */
html,body{max-width:100%;overflow-x:hidden}.app,main,.workspace,.columns,.game-list,.chat,.lobby,.labels{min-width:0;max-width:100%}.pot em,.past-game> b em{width:25px;height:25px;background-size:178%!important;vertical-align:-7px}.creator-total em,.modal-pot em{width:28px;height:28px;background-size:178%!important;vertical-align:-8px}.balance em{width:21px;height:21px;background-size:178%!important;vertical-align:-5px}.live-total em{width:20px;height:20px;background-size:178%!important;vertical-align:-5px}

/* Keep the original compact chip, aligned directly beside every amount. */
.pot{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.pot em,.past-game> b em{width:18px;height:18px;background-size:165%!important;vertical-align:middle}.creator-total em,.modal-pot em{width:22px;height:22px;background-size:165%!important;vertical-align:middle}.balance em{width:17px;height:17px;background-size:165%!important;vertical-align:middle}.live-total em{width:15px;height:15px;background-size:165%!important;vertical-align:middle}

/* Tablet widths need their own layout; desktop columns cannot fit beside chat here. */
@media (min-width:901px) and (max-width:1150px){
  main{padding:0 16px;grid-template-rows:76px minmax(0,1fr)}header{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.top-brand b{display:none}.top-brand img{width:40px;height:40px}.top-nav{justify-content:flex-start;gap:4px;overflow-x:auto}.top-nav button{flex:0 0 auto;font-size:12px;padding:0 7px}.top-nav i{font-size:8px}.header-right{gap:8px}.header-right .online{display:none}.balance{padding:8px 9px}.balance b{font-size:14px}.account span{display:none}.account img{width:35px;height:35px}
  .workspace{grid-template-rows:58px minmax(0,1fr)}.page-title h1{font-size:25px}.page-title p{font-size:9px}.columns{grid-template-columns:minmax(0,1fr) 275px;gap:12px;min-width:0}.chat{height:calc(100dvh - 144px);min-height:460px}
  .list-head{height:auto;min-height:86px;flex-direction:column;align-items:stretch;justify-content:center;gap:5px;padding:9px 13px}.lobby-heading,.lobby-tools{width:100%}.lobby-tools{justify-content:space-between;gap:2px}.lobby-tools .filter,.history-toggle{font-size:9px!important;padding:8px 7px!important}.lobby-heading .create-open{margin-left:auto;padding:9px 11px;font-size:9px}.live-total{display:none}
  .labels,.lobby{grid-template-columns:120px minmax(120px,1fr) 76px 0 103px;gap:7px}.labels{height:29px;padding:0 13px;font-size:7px}.labels span:nth-child(4),.lobby .chance{display:none}.lobby{height:88px;padding:0 13px}.player{gap:7px}.player img{width:34px;height:34px}.player b{font-size:11px}.player small{font-size:8px}.player strong{display:none}.lobby .offer img{width:58px;height:58px;margin-right:-24px}.lobby .offer span{width:20px;height:20px;margin-left:11px;font-size:8px}.pot{font-size:15px}.pot:before{font-size:7px}.actions{gap:4px}.actions button{min-width:48px;padding:8px 7px;font-size:8px}.actions .join{min-width:52px}.chat-head{height:50px}.messages{padding:5px 10px}.messages article{grid-template-columns:28px 1fr auto;gap:7px;padding:9px 0}.messages img{width:27px;height:27px}.messages b,.messages p{font-size:10px}.messages time{font-size:8px}.chat form{padding:8px}.chat input{font-size:10px}
}

/* Centered header and a single continuous game history. */
@media (min-width:901px){header{position:relative;display:flex;justify-content:center}.top-brand{position:absolute;left:0}.header-right{position:absolute;right:0}.workspace{max-width:1560px;margin:0 auto}.page-title{justify-content:center;text-align:center}}
.history-divider{display:flex;align-items:center;gap:10px;padding:16px 22px 12px;background:#0f0f14}.history-divider span{height:1px;flex:1;background:#302d37}.history-divider b{color:#ddd5e7;font:700 11px Space Grotesk,sans-serif;letter-spacing:.04em;white-space:nowrap}.history-divider small{color:#938b9d;font:500 9px DM Mono,monospace;white-space:nowrap}.past-games{min-height:0!important}.past-game{grid-template-columns:minmax(140px,1fr) 150px 125px 180px}.outcome{display:grid;grid-template-columns:35px 1fr;grid-template-rows:1fr auto;align-items:center;column-gap:8px}.outcome img{grid-row:1/3;width:35px;height:35px;object-fit:cover;border-radius:50%;border:1px solid #36323d}.outcome span{font:700 10px DM Mono,monospace}.outcome small{margin:1px 0 0;font-size:9px}.outcome.heads span{color:#77b2ff}.outcome.tails span{color:#ff8484}
.past-game{grid-template-columns:minmax(370px,1fr) 220px 120px 120px}.matchup{display:flex;align-items:center;justify-content:flex-start;gap:18px;padding-left:18px}.matchup-player{display:flex!important;align-items:center;gap:10px;width:auto!important;max-width:160px;border:0!important;background:transparent!important;color:#ece8f1!important;padding:0!important;text-align:left!important}.matchup-player img{width:38px;height:38px;object-fit:contain;border:1px solid #3a3544;border-radius:8px;background:#211b2c;padding:3px}.matchup-player b{display:block;font-size:13px}.matchup-player small{margin:3px 0 0;font:700 8px DM Mono,monospace;color:#898391}.matchup-player.winner b,.matchup-player.winner small{color:#4ed393!important}.matchup-player.winner img{border-color:rgba(78,211,147,.5);box-shadow:0 0 0 2px rgba(78,211,147,.08)}.versus{color:#736d7b;font:700 10px DM Mono,monospace;letter-spacing:.12em}.player.matched strong{display:inline-flex;align-items:center;gap:5px;color:#4ed393;border-color:rgba(78,211,147,.35);background:rgba(78,211,147,.07)}.player.matched strong:before{content:'';width:5px;height:5px;border-radius:50%;background:#4ed393;box-shadow:0 0 7px #4ed393}
@media (max-width:1150px){
  body{overflow:auto!important}main{display:grid!important;grid-template-rows:76px minmax(0,1fr);padding:0 10px!important}header{display:flex!important;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap}.workspace{display:block!important;width:100%;max-width:100%;margin:0!important}.page-title{display:flex!important;justify-content:center;text-align:center;padding:14px 0!important}.columns{display:grid!important;grid-template-columns:minmax(0,1fr) 230px!important;gap:10px!important;align-items:start}.game-list{min-width:0}.chat{grid-column:2!important;grid-row:1!important;height:calc(100dvh - 144px)!important;min-height:500px!important;margin:0!important}.labels{display:none!important}.lobby{display:flex!important;align-items:center;gap:8px;height:84px!important;padding:0 11px!important;min-width:0}.player{order:1;flex:1 1 100px;min-width:100px}.player img{width:32px!important;height:32px!important}.player b{font-size:11px!important}.player small{font-size:8px!important}.offer{display:flex!important;order:2;flex:0 0 86px;min-width:0}.lobby .offer img{width:52px!important;height:52px!important;margin-right:-25px!important}.lobby .offer span{display:none}.pot{order:3;flex:0 0 70px;font-size:15px!important}.pot:before{font-size:7px!important}.chance{display:none!important}.actions{order:4;flex:0 0 93px}.actions button{min-width:43px!important;padding:8px 5px!important;font-size:8px!important}.actions .join{min-width:47px!important}.list-head{min-height:80px!important}.history-divider{padding:15px 11px 11px}.history-divider b{font-size:10px}.history-divider small{font-size:8px}.past-games{padding:0 11px}.past-game{grid-template-columns:minmax(110px,1fr) 112px 90px;gap:7px;min-height:82px}.past-game .expiry{display:none}.past-game> b{font-size:14px}.outcome{grid-template-columns:28px 1fr;column-gap:5px}.outcome img{width:28px;height:28px}.outcome span{font-size:8px}.outcome small{font-size:8px}.top-brand{position:static!important;flex:0 0 auto}.header-right{position:static!important;flex:0 0 auto}.top-nav{order:0!important;min-width:0;flex:1 1 auto}.top-nav button{font-size:11px!important}
}

/* Full desktop width: games lead, chat stays pinned on the right. */
@media (min-width:1151px){
  .workspace{max-width:none!important;margin:0!important}.page-title{justify-content:flex-start!important;text-align:left!important}.columns{grid-template-columns:minmax(0,1fr) 360px!important;gap:20px}.game-list{width:100%}.chat{grid-column:2!important;grid-row:1!important;align-self:stretch!important;height:calc(100dvh - 196px)!important;min-height:560px}
}

/* Winner profile and inventory shown directly in Past Games. */
.winner-profile{display:flex!important;align-items:center;gap:11px}.winner-profile>img{width:42px;height:42px;object-fit:contain;border:1px solid #3a3545;border-radius:6px;background:#211b2c;padding:3px}.winner-profile>span{display:block;min-width:0}.winner-profile b{display:block}.winner-profile small{margin-top:2px}.winner-profile i{display:flex;align-items:center;gap:5px;margin-top:5px;color:#b8a4d9;font:600 9px DM Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.winner-profile i img{width:18px;height:18px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}
@media(max-width:1150px){.winner-profile>img{width:34px;height:34px}.winner-profile i{font-size:8px}.winner-profile i img{width:15px;height:15px}}

/* Replay system layout overrides. */
.past-game{grid-template-columns:minmax(360px,1fr) 230px 115px 68px 120px;column-gap:15px;min-height:116px}.past-view{justify-self:end;width:58px;border:1px solid #514a5b!important;background:#18171d!important;color:#eee9f3!important;padding:9px 5px!important;font:800 9px DM Mono,monospace!important;cursor:pointer}.past-view:hover{border-color:#a96dff!important;background:#2a203d!important}.offer .extra-item{display:none!important}.offer.expanded .extra-item{display:block!important}.outcome>.won-items{justify-content:center}
@media(max-width:1150px){.past-game{grid-template-columns:minmax(200px,1fr) 150px 88px 55px;gap:8px}.past-game .expiry{display:none}.past-view{width:48px;font-size:8px!important}}

/* Keep open games and completed games on the same visual grid. */
@media(min-width:1151px){.past-game{grid-template-columns:minmax(225px,1fr) minmax(310px,1.5fr) 130px 105px 142px;min-height:104px;gap:20px}.past-game .outcome{grid-template-columns:35px auto;justify-content:center;column-gap:8px}.past-game .past-view{justify-self:end;width:66px;border-color:#3c3843!important;background:transparent!important;color:#b9b3be!important;padding:10px 12px!important;font-size:10px!important}.past-game .past-view:hover{border-color:#8a55e9!important;color:#fff!important;background:#211832!important}.past-game> b{font-size:18px}.past-game .expiry{justify-self:start;color:#b1aab7;font-size:10px}}
.fairness-panel{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:10px 0 0;padding:10px 12px;border:1px solid rgba(169,109,255,.36);background:rgba(123,67,220,.09)}.fairness-panel b{color:#cda9ff;font:800 9px DM Mono,monospace;letter-spacing:.1em}.fairness-panel span{justify-self:end;color:#eee5fb;font:700 9px DM Mono,monospace}.fairness-panel small{grid-column:1/3;color:#a9a1b2;font-size:9px}.viewer-card .modal-actions button{flex:1}.viewer-card #fairnessButton{border-color:#5b506b;background:#211d28;color:#d9c9f4}.viewer-card #fairnessButton:hover{border-color:#a96dff;background:#302340}

/* Cleaner replay result: side chips sit beside names and the prize is the focus. */
.replay-player{grid-template-columns:43px minmax(0,1fr) 25px;grid-template-rows:1fr}.replay-player>img{grid-column:1!important;grid-row:1!important;width:40px!important;height:40px!important}.replay-player b{grid-column:2!important;grid-row:1!important;align-self:center}.replay-player small{grid-column:3!important;grid-row:1!important;display:grid;place-items:center;margin:0!important}.replay-player small img{grid-row:1!important;width:23px!important;height:23px!important;object-fit:contain!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important}.replay-prize{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;padding:13px 15px}.replay-prize>span{align-self:end}.replay-prize>#replayWinner{justify-self:end;color:#b886ff;font:800 12px Space Grotesk,sans-serif;letter-spacing:.03em}.replay-prize>div{grid-column:1/3;justify-content:center;min-height:58px}.replay-prize img{width:56px;height:56px;opacity:.62}.replay-prize.revealed>#replayWinner{color:#4ed393;text-shadow:0 0 14px rgba(78,211,147,.25)}.replay-prize.revealed img{transform:translateY(-3px) scale(1.04)}
@media(max-width:700px){.replay-player{grid-template-columns:32px minmax(0,1fr) 19px}.replay-player>img{width:29px!important;height:29px!important}.replay-player small img{width:18px!important;height:18px!important}.replay-prize{padding:10px}.replay-prize>#replayWinner{font-size:10px}.replay-prize img{width:42px;height:42px}}

/* Completed games should carry the same weight as the live rows. */
.history-divider small{display:none}.history-divider{justify-content:center}.past-game{min-height:128px}.past-game .matchup-player img{width:46px;height:46px}.past-game .matchup-player b{font-size:14px}.past-game .matchup-player small{font-size:9px}.past-game .outcome>img{width:46px;height:46px}.past-game .outcome>.won-items{height:62px;margin:0}.past-game .outcome>.won-items img{width:66px!important;height:66px!important;margin-right:-15px!important}.past-game .outcome>span{font-size:11px}.past-game .outcome>small{font-size:10px}.past-game> b{font-size:19px}.past-game .past-view{min-width:66px;min-height:40px}
@media(max-width:1150px){.past-game{min-height:108px}.past-game .matchup-player img{width:38px;height:38px}.past-game .outcome>img{width:38px;height:38px}.past-game .outcome>.won-items{height:45px}.past-game .outcome>.won-items img{width:48px!important;height:48px!important}.past-game .past-view{min-width:48px;min-height:34px}}

/* Active open lobbies show the actual two-player matchup. */
.lobby .player.matched{display:flex;align-items:center;gap:14px}.lobby .player.matched>.live-match-player{display:flex;align-items:center;gap:9px;min-width:0}.lobby .player.matched>.live-match-player img{width:42px!important;height:42px!important;object-fit:contain;border:1px solid #3a3545;border-radius:8px;background:#211b2c;padding:3px}.lobby .player.matched>.live-match-player span{min-width:0}.lobby .player.matched>.live-match-player b{font-size:13px!important}.lobby .player.matched>.live-match-player small{font-size:9px!important}.lobby .player.matched>i{display:block!important;margin:0!important;color:#837b8e;font:800 10px DM Mono,monospace;letter-spacing:.11em}.lobby .player.matched strong{display:none!important}
@media(max-width:1150px){.lobby .player.matched{gap:7px}.lobby .player.matched>.live-match-player{gap:5px}.lobby .player.matched>.live-match-player img{width:31px!important;height:31px!important}.lobby .player.matched>.live-match-player b{font-size:10px!important}.lobby .player.matched>.live-match-player small{font-size:7px!important}.lobby .player.matched>i{font-size:7px}}

/* Remove redundant item names and make the table text easy to read. */
.past-game .outcome>small{display:none!important}.player small{margin-top:4px!important;color:#c0b8ca!important;font-size:12px!important;font-weight:600}.lobby .player.matched>.live-match-player small{font-size:10px!important}.lobby-heading #lobbyCount{color:#d0c9d8!important;font:700 12px Manrope,Arial,sans-serif!important;letter-spacing:0!important}.live-total{color:#cbc2d3!important;font-size:10px!important}.live-total strong{font-size:17px!important}.pot{font-size:19px!important}.pot:before{color:#bbb3c5!important;font-size:9px!important;font-weight:700!important;letter-spacing:.1em!important}.chance{font-size:16px!important}.chance:after{color:#b9b0c3!important;font-size:9px!important;font-weight:700!important;letter-spacing:.09em!important}.actions{justify-content:center!important}.actions .view,.past-view{display:grid!important;place-items:center!important;text-align:center!important;min-width:68px!important;min-height:40px!important;padding:0!important;font-size:10px!important}.past-game .past-view{justify-self:center!important}
@media(max-width:1150px){.player small{font-size:9px!important}.lobby .player.matched>.live-match-player small{font-size:8px!important}.lobby-heading #lobbyCount{font-size:10px!important}.live-total{font-size:9px!important}.pot{font-size:15px!important}.pot:before,.chance:after{font-size:8px!important}.chance{font-size:13px!important}.actions .view,.past-view{min-width:50px!important;min-height:34px!important;font-size:8px!important}}

.filter-result{display:flex;align-items:center;justify-content:center;min-height:42px;border-bottom:1px solid #282630;background:#0d0d12;color:#bda5e8;font:800 10px DM Mono,monospace;letter-spacing:.12em}
.rail .fair{display:none}.replay-player{grid-template-columns:43px minmax(0,1fr) 34px}.replay-player small img{width:30px!important;height:30px!important;filter:drop-shadow(0 0 5px rgba(176,130,255,.55))}
@media(max-width:700px){.replay-player{grid-template-columns:32px minmax(0,1fr) 25px}.replay-player small img{width:24px!important;height:24px!important}}
.fairness-panel b{font-size:0!important}.fairness-panel b:after{content:'FAIRNESS';font:800 9px DM Mono,monospace;letter-spacing:.1em}
.fairness-panel{display:none!important}
@media(min-width:1151px){.past-game .outcome{width:260px;justify-self:center;grid-template-columns:46px minmax(0,1fr);justify-content:initial}.past-game .outcome>img{justify-self:start}.past-game .outcome>span,.past-game .outcome>.won-items{justify-self:start}.past-game .outcome>.won-items{justify-content:center;width:100%}}
/* Keep the result name directly above its matching Heads/Tails coin. */
@media(min-width:1151px){.past-game .outcome{width:260px;grid-template-columns:58px minmax(0,1fr);grid-template-rows:20px 56px;align-items:center}.past-game .outcome>span{grid-column:1;grid-row:1;justify-self:center;align-self:end}.past-game .outcome>img{grid-column:1;grid-row:2;justify-self:center;align-self:start}.past-game .outcome>.won-items{grid-column:2;grid-row:1 / 3;justify-self:start;align-self:center;width:auto}}

/* A matched row plays its outcome in place of the old equal-odds label. */
.lobby .chance.live-flip-status{display:grid!important;grid-template-columns:1fr;justify-items:center;align-content:center;gap:3px;min-height:58px;padding:4px 0;text-align:center}.lobby .chance.live-flip-status:after{display:none!important}.live-flip-caption{color:#b4a9c2;font:700 8px/1 DM Mono,monospace!important;letter-spacing:.1em;white-space:nowrap}.live-flip-count{display:grid;place-items:center;width:27px;height:27px;border:1px solid #9760ef;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ba8cff,#7041c7);box-shadow:0 0 16px rgba(151,96,239,.35);color:#fff;font:800 15px/1 Space Grotesk,sans-serif!important;animation:gf-live-count .65s ease both}.live-flip-coin{width:34px;height:34px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 3px 7px rgba(0,0,0,.55))}.live-flip-coin.spinning{animation:gf-live-coin-spin .45s linear infinite}.live-flip-status.result .live-flip-caption{color:#66dca5;font-size:7px!important}.live-flip-status.result .live-flip-coin{filter:drop-shadow(0 0 9px rgba(132,182,255,.62))}.live-flip-status.result .live-flip-coin[src*="tails"]{filter:drop-shadow(0 0 9px rgba(255,119,119,.56))}.lobby.flip-complete{background-image:linear-gradient(90deg,rgba(78,211,147,.055),transparent 38%)}.live-match-player.live-flip-winner b,.live-match-player.live-flip-winner small{color:#5cdda0!important}.live-match-player.live-flip-winner img{border-color:rgba(78,211,147,.7)!important;box-shadow:0 0 0 2px rgba(78,211,147,.11),0 0 12px rgba(78,211,147,.22)}@keyframes gf-live-count{0%{opacity:0;transform:scale(.55)}65%{transform:scale(1.14)}100%{opacity:1;transform:scale(1)}}@keyframes gf-live-coin-spin{to{transform:rotateY(720deg) rotateZ(360deg)}}
@media(max-width:1150px){.lobby.flip-complete{background-image:linear-gradient(90deg,rgba(78,211,147,.05),transparent 46%)}.lobby .chance.live-flip-status{display:none!important}.lobby .player.matched>.live-inline-flip{display:grid!important;place-items:center;flex:0 0 31px;width:31px;height:31px;margin-left:auto}.live-inline-flip .live-flip-count{width:27px;height:27px;font-size:14px!important}.live-inline-flip .live-flip-coin{width:29px;height:29px}.live-inline-flip.result .live-flip-coin{filter:drop-shadow(0 0 7px rgba(91,221,160,.6))}}
@media(max-width:700px){.lobby .player.matched{gap:5px}.lobby .player.matched>.live-match-player{min-width:0}.lobby .player.matched>.live-match-player b{font-size:9px!important}.lobby .player.matched>.live-inline-flip{flex-basis:27px;width:27px;height:27px}.live-inline-flip .live-flip-count{width:24px;height:24px;font-size:12px!important}.live-inline-flip .live-flip-coin{width:26px;height:26px}}

/* The old OPEN pill becomes the live match countdown and coin flip. */
.lobby .player.matched>.match-status{display:grid!important;place-items:center;flex:0 0 42px;width:42px;height:28px;margin-left:auto!important;padding:0!important;border:1px solid #68527d!important;border-radius:16px!important;background:#17141d!important;color:#e8def3!important;font:800 13px/1 DM Mono,monospace!important;letter-spacing:0!important;box-shadow:0 0 0 1px rgba(147,93,236,.06),inset 0 1px rgba(255,255,255,.05)}.lobby .player.matched>.match-status.countdown{animation:gf-match-status-count .62s ease both}.match-flip-coin{display:block;width:24px;height:24px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.65))}.match-flip-coin.spinning{animation:gf-match-status-coin .42s linear infinite}.match-status.result{border-color:#5a9fde!important;background:#172131!important}.match-status.result .match-flip-coin[src*="tails"]{filter:drop-shadow(0 0 6px rgba(255,112,112,.72))}.match-status.result .match-flip-coin[src*="heads"]{filter:drop-shadow(0 0 6px rgba(103,178,255,.72))}@keyframes gf-match-status-count{0%{opacity:0;transform:scale(.55)}65%{transform:scale(1.13)}100%{opacity:1;transform:scale(1)}}@keyframes gf-match-status-coin{to{transform:rotateY(720deg) rotateZ(360deg)}}
@media(max-width:1150px){.lobby .player.matched>.match-status{display:grid!important;flex-basis:35px;width:35px;height:26px;font-size:11px!important}.match-flip-coin{width:22px;height:22px}}
@media(max-width:700px){.lobby .player.matched>.match-status{flex-basis:30px;width:30px;height:24px;font-size:10px!important}.match-flip-coin{width:20px;height:20px}}

/* Center the chance column and make a resolved live match readable at a glance. */
.lobby .chance{align-items:center;justify-self:center;text-align:center}.lobby .player.matched>.live-match-player{gap:11px}.lobby .player.matched>.live-match-player img{width:54px!important;height:54px!important}.lobby .player.matched>.live-match-player b{font-size:15px!important}.lobby .player.matched>.live-match-player small{font-size:10px!important}.lobby .player.matched>.live-match-player.live-flip-winner{transform:scale(1.06);transform-origin:center}.lobby .player.matched>.live-match-player.live-flip-winner small{color:#6ae3a6!important;font-weight:800!important;letter-spacing:.08em}.lobby .player.matched>.match-status{flex-basis:54px;width:54px;height:44px;border-radius:22px!important}.match-flip-coin{width:38px;height:38px}.match-status.result{border-color:#74c7ff!important;background:#13243a!important;box-shadow:0 0 16px rgba(91,177,255,.28),inset 0 1px rgba(255,255,255,.12)!important}
@media(max-width:1150px){.lobby .player.matched>.live-match-player{gap:8px}.lobby .player.matched>.live-match-player img{width:46px!important;height:46px!important}.lobby .player.matched>.live-match-player b{font-size:12px!important}.lobby .player.matched>.live-match-player small{font-size:9px!important}.lobby .player.matched>.match-status{flex-basis:48px;width:48px;height:40px}.match-flip-coin{width:34px;height:34px}}
@media(max-width:700px){.lobby .player.matched>.live-match-player img{width:38px!important;height:38px!important}.lobby .player.matched>.live-match-player b{font-size:10px!important}.lobby .player.matched>.live-match-player small{font-size:8px!important}.lobby .player.matched>.match-status{flex-basis:42px;width:42px;height:36px}.match-flip-coin{width:29px;height:29px}}

/* Live status stays in the original OPEN position: plain centered text, no winner glow. */
.lobby.flip-complete{background-image:none!important}.lobby .player.matched>.live-match-player.live-flip-winner{transform:none!important}.lobby .player.matched>.live-match-player.live-flip-winner b,.lobby .player.matched>.live-match-player.live-flip-winner small{color:inherit!important}.lobby .player.matched>.live-match-player.live-flip-winner img{border-color:#3a3545!important;box-shadow:none!important}.lobby .player.matched>.live-match-player{gap:9px}.lobby .player.matched>.live-match-player img{width:43px!important;height:43px!important}.lobby .player.matched>.live-match-player b{font-size:14px!important}.lobby .player.matched>.live-match-player small{font-size:12px!important}.lobby .player.matched>.match-status{display:grid!important;place-items:center;justify-self:end;flex:0 0 56px;width:56px;height:28px;margin-left:auto!important;padding:0 5px!important;border:1px solid #3a3543!important;border-radius:16px!important;background:#17161d!important;color:#e8e2ed!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.04em!important;box-shadow:none!important;animation:none!important}.lobby .player.matched>.match-status:before{content:none!important;display:none!important}.lobby .player.matched>.match-status.spinning{color:#c6b9d6!important;animation:gf-match-status-count .42s ease-in-out infinite alternate!important}.lobby .player.matched>.match-status.result{border-color:#62566e!important;background:#201d26!important;color:#f2edf6!important;box-shadow:none!important}.match-flip-coin{display:none!important}.lobby .chance{align-items:center!important;justify-self:center!important;text-align:center!important}.lobby .chance.match-odds{display:flex!important;gap:3px}.lobby .chance.match-odds:after{display:none!important}.lobby .chance.match-odds b{color:#ece6f2;font:800 15px/1 Space Grotesk,sans-serif;white-space:nowrap}.lobby .chance.match-odds small{color:#a7a0ae;font:700 7px/1 DM Mono,monospace;letter-spacing:.08em;white-space:nowrap}
@media(max-width:1150px){.lobby .player.matched>.live-match-player img{width:32px!important;height:32px!important}.lobby .player.matched>.live-match-player b{font-size:11px!important}.lobby .player.matched>.live-match-player small{font-size:9px!important}.lobby .player.matched>.match-status{flex-basis:50px;width:50px;height:26px;font-size:8px!important}.lobby .chance.match-odds{display:none!important}}
@media(max-width:700px){.lobby .player.matched>.live-match-player img{width:32px!important;height:32px!important}.lobby .player.matched>.live-match-player b{font-size:11px!important}.lobby .player.matched>.live-match-player small{font-size:9px!important}.lobby .player.matched>.match-status{flex-basis:48px;width:48px;height:25px;font-size:7px!important}}

/* Larger, uniform game rows with a visible looping flip status in the original OPEN slot. */
.lobby .player strong,.lobby .player.matched>.match-status{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px;flex:0 0 72px;width:72px;height:38px;margin-left:auto!important;padding:0!important;border-radius:20px!important;line-height:1!important}.lobby .player.matched>.match-status{border-color:#7c6a91!important;background:#1b1821!important;color:#f3edf8!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.03em!important}.lobby .player.matched>.match-status.countdown{font:800 16px/1 Space Grotesk,sans-serif!important}.lobby .player.matched>.match-status:before{content:none!important;display:none!important}.match-result-icon{display:block!important;flex:0 0 auto;width:27px;height:27px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 2px 5px rgba(0,0,0,.58))}.match-status.spinning .match-result-icon{animation:gf-visible-coin-flip .5s linear infinite}.match-status.result{background:#201d26!important;border-color:#78668d!important;color:#f4eef8!important;box-shadow:none!important}.lobby .chance{align-items:center!important;justify-self:center!important;text-align:center!important}@keyframes gf-visible-coin-flip{to{transform:rotateY(720deg) rotateZ(360deg)}}
@media(min-width:1151px){.lobby{height:112px!important}.lobby .player>img,.lobby .player.matched>.live-match-player img{width:48px!important;height:48px!important}.lobby .player b,.lobby .player.matched>.live-match-player b{font-size:15px!important}.lobby .player small,.lobby .player.matched>.live-match-player small{font-size:11px!important}.lobby .pot{font-size:21px!important}.lobby .chance{font-size:18px!important}.lobby .chance.match-odds b{font-size:18px!important}.lobby .chance.match-odds small{font-size:8px!important}}
@media(max-width:1150px){.lobby{height:102px!important}.lobby .player>img,.lobby .player.matched>.live-match-player img{width:42px!important;height:42px!important}.lobby .player b,.lobby .player.matched>.live-match-player b{font-size:13px!important}.lobby .player small,.lobby .player.matched>.live-match-player small{font-size:10px!important}.lobby .pot{font-size:17px!important}.lobby .player strong,.lobby .player.matched>.match-status{flex-basis:68px;width:68px;height:36px}.match-result-icon{width:25px;height:25px}.lobby .chance.match-odds{display:none!important}}
@media(max-width:700px){.lobby{height:92px!important}.lobby .player>img,.lobby .player.matched>.live-match-player img{width:36px!important;height:36px!important}.lobby .player b,.lobby .player.matched>.live-match-player b{font-size:11px!important}.lobby .player small,.lobby .player.matched>.live-match-player small{font-size:9px!important}.lobby .player strong,.lobby .player.matched>.match-status{flex-basis:62px;width:62px;height:32px;font-size:8px!important}.lobby .player.matched>.match-status.countdown{font-size:14px!important}.match-result-icon{width:22px;height:22px}}

/* Countdown has no bubble; a finished result uses the coin-led outcome treatment. */
.lobby .player.matched>.match-status{width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;gap:5px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#e9e3ef!important}.lobby .player.matched>.match-status.countdown{width:24px!important;min-width:24px!important;font:800 19px/1 Space Grotesk,sans-serif!important;color:#e9e3ef!important;animation:gf-match-status-count .48s ease both!important}.lobby .player.matched>.match-status.spinning{width:38px!important;min-width:38px!important;animation:none!important}.lobby .player.matched>.match-status.result{width:auto!important;min-width:0!important;background:transparent!important;color:#e8e1ee!important}.match-result-icon{display:block!important;width:42px!important;height:42px!important;padding:3px!important;border:1px solid #403849!important;border-radius:6px!important;background:#201b29!important;filter:none!important}.match-status.spinning .match-result-icon{animation:gf-visible-coin-flip .5s linear infinite}.match-status.result span{font:800 9px/1 DM Mono,monospace!important;letter-spacing:.04em}.match-status.result .match-result-icon[src*="heads"]+span{color:#71b8ff!important}.match-status.result .match-result-icon[src*="tails"]+span{color:#ff9090!important}
@media(max-width:1150px){.lobby .player.matched>.match-status.countdown{font-size:17px!important}.match-result-icon{width:38px!important;height:38px!important}.match-status.result span{font-size:8px!important}}
@media(max-width:700px){.lobby .player.matched>.match-status.countdown{font-size:15px!important}.match-result-icon{width:34px!important;height:34px!important}.match-status.result span{font-size:7px!important}}

/* Keep the two competitors visually distinct without moving the result slot. */
.lobby .player.matched{column-gap:22px!important}.lobby .player.matched>.live-match-player{flex:0 1 auto}.lobby .player.matched>i{margin:0 2px!important}
@media(max-width:1150px){.lobby .player.matched{column-gap:18px!important}}
@media(max-width:700px){.lobby .player.matched{column-gap:13px!important}.lobby .player.matched>i{margin:0!important}}

/* Let live chat own the top-right corner instead of leaving a title-sized gap. */
@media (min-width:901px){
  main{padding-right:0!important}
  .workspace{position:relative!important;max-width:none!important;margin-right:0!important}
  .chat{position:absolute!important;top:0!important;right:0!important;align-self:start!important;margin:0!important;min-height:0!important}
}
@media (min-width:901px) and (max-width:1150px){
  .chat{width:230px!important;height:calc(100dvh - 76px)!important}
}
@media (min-width:1151px){
  .chat{width:360px!important;height:calc(100dvh - 112px)!important}
}

/* Results are a simple label over the bare coin, not a second circular badge. */
.lobby .player.matched>.match-status.result{
  display:flex!important;flex:0 0 58px!important;width:58px!important;min-width:58px!important;
  flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important
}
.match-result-icon{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.match-status.result span{order:0!important}
.match-status.result .match-result-icon{order:1!important}
@media(max-width:1150px){.lobby .player.matched>.match-status.result{flex-basis:54px!important;width:54px!important;min-width:54px!important}.match-result-icon{width:36px!important;height:36px!important}}
@media(max-width:700px){.lobby .player.matched>.match-status.result{flex-basis:48px!important;width:48px!important;min-width:48px!important}.match-result-icon{width:32px!important;height:32px!important}}

/* Keep the resolved result centered in the original OPEN slot and blend out the source image's black matte. */
.lobby .player.matched>.match-status.result{flex-basis:72px!important;width:72px!important;min-width:72px!important;height:56px!important}
.match-status.result .match-result-icon{mix-blend-mode:screen!important}
@media(max-width:1150px){.lobby .player.matched>.match-status.result{flex-basis:68px!important;width:68px!important;min-width:68px!important;height:54px!important}}
@media(max-width:700px){.lobby .player.matched>.match-status.result{flex-basis:62px!important;width:62px!important;min-width:62px!important;height:50px!important}}

/* Match the Past Games outcome: a centered label directly over the circular coin. */
.lobby .player.matched>.match-status.result{
  display:grid!important;grid-template-columns:1fr!important;grid-template-rows:10px 42px!important;
  place-items:center!important;align-content:center!important;justify-content:normal!important;gap:3px!important;text-align:center!important
}
.match-status.result span{grid-column:1!important;grid-row:1!important;justify-self:center!important;align-self:end!important;margin:0!important;text-align:center!important}
.match-status.result .match-result-icon{
  grid-column:1!important;grid-row:2!important;justify-self:center!important;align-self:start!important;
  width:42px!important;height:42px!important;clip-path:circle(50% at 50% 50%)!important;mix-blend-mode:normal!important
}
@media(max-width:1150px){
  .lobby .player.matched>.match-status.result{grid-template-rows:9px 36px!important;gap:3px!important}
  .match-status.result .match-result-icon{width:36px!important;height:36px!important}
}
@media(max-width:700px){
  .lobby .player.matched>.match-status.result{grid-template-rows:8px 32px!important;gap:2px!important}
  .match-status.result .match-result-icon{width:32px!important;height:32px!important}
}

/* Keep the outcome name in the same color family as its coin. */
.match-status.result:has(.match-result-icon[src*="heads"]) span{color:#71b8ff!important}
.match-status.result:has(.match-result-icon[src*="tails"]) span{color:#ff9090!important}

/* Cinematic toss: lift, fast edge-on spin, then a springy coloured landing. */
.flip-stage{isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(150,94,255,.24),transparent 51%),linear-gradient(180deg,#15121c,#0f0e14)!important}
.flip-stage:before{content:"";position:absolute;z-index:-1;inset:15% 22%;border-radius:50%;background:radial-gradient(circle,rgba(158,101,255,.28),transparent 68%);filter:blur(7px);transition:background .35s ease}
.flip-stage[data-outcome="tails"]:before{background:radial-gradient(circle,rgba(255,74,92,.32),transparent 68%)}
.flip-stage[data-outcome="heads"]:before{background:radial-gradient(circle,rgba(79,160,255,.3),transparent 68%)}
.flip-coin{position:relative;z-index:1;will-change:transform,filter;perspective:900px}
.flip-coin:after{content:"";position:absolute;left:13%;right:13%;bottom:-11px;height:11px;border-radius:50%;background:rgba(0,0,0,.5);filter:blur(6px);transform:scale(.72);opacity:.45}
.flip-coin.spinning{animation:gf-cinematic-toss 1.6s cubic-bezier(.2,.7,.2,1) both!important}
.flip-coin.spinning img{animation:gf-coin-shimmer .18s linear infinite alternate!important}
.flip-coin.landed{animation:gf-cinematic-land .58s cubic-bezier(.17,.9,.25,1.25) both!important}
.flip-coin.landed:after{animation:gf-shadow-settle .58s ease-out both}
@keyframes gf-cinematic-toss{0%{transform:translateY(0) rotateY(0deg) rotateZ(0deg) scale(1)}20%{transform:translateY(-28px) rotateY(540deg) rotateZ(-9deg) scale(1.1)}58%{transform:translateY(-43px) rotateY(1980deg) rotateZ(12deg) scale(1.06)}83%{transform:translateY(-12px) rotateY(3240deg) rotateZ(-4deg) scale(.94)}100%{transform:translateY(0) rotateY(3960deg) rotateZ(0deg) scale(1)}}
@keyframes gf-coin-shimmer{from{filter:brightness(.86) contrast(1.08)}to{filter:brightness(1.3) contrast(1.2)}}
@keyframes gf-cinematic-land{0%{transform:translateY(-13px) rotateY(720deg) scale(.88)}55%{transform:translateY(2px) rotateY(785deg) scale(1.12)}76%{transform:translateY(-4px) rotateY(805deg) scale(.98)}100%{transform:translateY(0) rotateY(810deg) scale(1)}}
@keyframes gf-shadow-settle{0%{transform:scale(.45);opacity:.12}100%{transform:scale(1);opacity:.55}}
#flipCount.tick{animation:gf-counter-pop .38s cubic-bezier(.2,.9,.25,1.3) both}
@keyframes gf-counter-pop{0%{opacity:0;transform:translateY(8px) scale(.7)}70%{opacity:1;transform:translateY(-2px) scale(1.13)}100%{transform:translateY(0) scale(1)}}
.viewer[data-outcome="tails"] #modalKicker,.viewer[data-outcome="tails"] #flipCount{color:#ff8f9a!important}.viewer[data-outcome="tails"] #flipStatus{color:#ffb0b7!important}
.viewer[data-outcome="heads"] #modalKicker,.viewer[data-outcome="heads"] #flipCount{color:#7ab9ff!important}.viewer[data-outcome="heads"] #flipStatus{color:#adceff!important}
.match-status.spinning .match-result-icon{animation:gf-inline-toss 1.35s cubic-bezier(.2,.75,.2,1) infinite!important}
@keyframes gf-inline-toss{0%{transform:translateY(0) rotateY(0) scale(1)}45%{transform:translateY(-7px) rotateY(720deg) scale(1.14)}100%{transform:translateY(0) rotateY(1440deg) scale(1)}}

/* Fairness reveals the exact weighted probabilities instead of a placeholder toast. */
.fairness-panel[hidden]{display:none!important}
.fairness-panel:not([hidden]){display:grid!important;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center;margin:12px 0 0;padding:11px 13px;border:1px solid #3c3648;background:#111017}
.fairness-panel:not([hidden]) b{grid-column:1;color:#e7e0ef!important;font-size:0!important}.fairness-panel:not([hidden]) b:after{content:"FAIRNESS";font:800 9px DM Mono,monospace;letter-spacing:.1em}
.fairness-panel:not([hidden]) span{grid-column:2;justify-self:end;color:#c294ff;font:700 9px DM Mono,monospace;letter-spacing:.06em}
.fairness-panel:not([hidden]) small{grid-column:1 / 3;color:#b8b0c2;font:700 8px DM Mono,monospace;letter-spacing:.07em}

/* Match the cleaner in-row toss: every modal landing finishes face-on. */
.flip-coin,.flip-coin img{backface-visibility:visible!important}
.flip-coin.spinning{animation:gf-viewer-toss 1.35s cubic-bezier(.22,.75,.24,1) both!important}
@keyframes gf-viewer-toss{0%{transform:translateY(0) rotateY(0) rotateZ(0) scale(1)}28%{transform:translateY(-16px) rotateY(420deg) rotateZ(-5deg) scale(1.08)}66%{transform:translateY(-23px) rotateY(1080deg) rotateZ(6deg) scale(1.04)}100%{transform:translateY(0) rotateY(1440deg) rotateZ(0) scale(1)}}
@keyframes gf-cinematic-land{0%{transform:translateY(-8px) rotateY(1440deg) scale(.91)}55%{transform:translateY(2px) rotateY(1470deg) scale(1.1)}76%{transform:translateY(-3px) rotateY(1450deg) scale(.98)}100%{transform:translateY(0) rotateY(1440deg) scale(1)}}
.viewer[data-outcome="heads"] #modalKicker,.viewer[data-outcome="heads"] #flipCount{color:#76b8ff!important;text-shadow:0 0 16px rgba(89,169,255,.32)}
.viewer[data-outcome="tails"] #modalKicker,.viewer[data-outcome="tails"] #flipCount{color:#ff8c98!important;text-shadow:0 0 16px rgba(255,91,106,.28)}
.viewer-card .close{display:grid!important;place-items:center;width:36px!important;height:36px!important;right:10px!important;top:9px!important;color:#d9d0e2!important;font-size:29px!important;font-weight:800!important;line-height:1!important;cursor:pointer}
.viewer-card .close:hover{color:#fff!important;background:#2a2431!important}

/* The supplied artwork is a proper thumbnail, not a blended glyph. */
.top-brand img,.logo img{object-fit:cover!important;mix-blend-mode:normal!important;background:#121119}

/* Keep chat visibly locked to the entire desktop right rail. */
@media(min-width:901px){
  .chat{position:fixed!important;right:0!important;display:flex!important;visibility:visible!important;opacity:1!important;z-index:5!important}
}
@media(min-width:901px) and (max-width:1150px){
  .chat{top:76px!important;width:230px!important;height:calc(100dvh - 76px)!important}
}
@media(min-width:1151px){
  .chat{top:112px!important;width:360px!important;height:calc(100dvh - 112px)!important}
}

/* The source coin art is square; crop it for the spinning state too. */
.match-status.spinning .match-result-icon{clip-path:circle(50% at 50% 50%)!important;background:transparent!important}

/* Open slots are plain labels; matched players are independently interactive. */
.lobby .player:not(.matched)>strong{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:#c9c2d0!important}
.lobby .player.matched{cursor:default!important}
.lobby .player.matched:hover b{color:inherit!important}
.lobby .player.matched>.live-match-player{cursor:pointer;border-radius:6px;padding:3px 5px;margin:-3px -5px;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.lobby .player.matched>.live-match-player:hover,.lobby .player.matched>.live-match-player:focus-visible{background:rgba(165,105,255,.10);box-shadow:inset 0 0 0 1px rgba(180,125,255,.32);outline:0}
.lobby .player.matched>.live-match-player:hover b,.lobby .player.matched>.live-match-player:focus-visible b{color:#d6b6ff!important}
.lobby .player.matched>.live-match-player:hover img,.lobby .player.matched>.live-match-player:focus-visible img{border-color:#9567e5!important}

/* Keep online presence in Live Chat, and remove the decorative Coinflip dot. */
.header-right>.online{display:none!important}
.page-title p i{display:none!important}

/* A compact wallet card with a clear label, value, and add action. */
@media(min-width:901px){
  .header-right{gap:12px!important}
  .balance{display:grid!important;grid-template-columns:minmax(0,1fr) 30px;grid-template-rows:auto auto;column-gap:9px;row-gap:1px;min-width:164px;padding:8px 9px 8px 11px!important;border-color:rgba(170,113,255,.38)!important;border-radius:8px!important;background:linear-gradient(135deg,rgba(132,76,223,.25),rgba(25,21,34,.86))!important;box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.18)!important}
  .balance small{grid-column:1;grid-row:1;color:#aa9abf!important;font:700 8px/1 DM Mono,monospace!important;letter-spacing:.1em}
  .balance b{grid-column:1;grid-row:2;color:#f2eaff!important;font:800 18px/1.1 Space Grotesk,sans-serif!important;white-space:nowrap}
  .balance b em{margin-right:3px;background:#a86cf7!important;color:#fff!important;box-shadow:0 0 8px rgba(168,108,247,.35)}
  .balance strong{display:grid;grid-column:2;grid-row:1 / 3;place-items:center;align-self:stretch;border-left:1px solid rgba(214,178,255,.25)!important;padding-left:8px!important;color:#d8b8ff!important;font-size:19px!important;line-height:1}
}

/* Use the unused desktop rail for Live Chat instead of leaving a blank column. */
@media(min-width:901px){
  main{padding-right:clamp(24px,3vw,54px)!important}
  .columns{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;gap:18px!important;align-items:start!important}
  .game-list{grid-column:1!important;grid-row:1!important;min-width:0}
  .chat{position:sticky!important;top:0!important;right:auto!important;grid-column:2!important;grid-row:1!important;width:auto!important;height:calc(100dvh - 112px)!important;min-height:0!important;align-self:stretch!important;margin:0!important;z-index:auto!important}
}

/* A landed match makes the winner immediately clear, then resets on the next countdown. */
.lobby.flip-complete{background:linear-gradient(90deg,rgba(48,211,144,.12),#101015 48%)!important;box-shadow:inset 3px 0 #4ed393!important}
.lobby.flip-complete>.player .live-match-player.live-flip-winner{background:rgba(53,218,154,.12)!important;box-shadow:inset 0 0 0 1px rgba(78,211,147,.56),0 0 16px rgba(78,211,147,.08)!important}
.lobby.flip-complete>.player .live-match-player.live-flip-winner b,.lobby.flip-complete>.player .live-match-player.live-flip-winner small{color:#64e5ad!important}
.lobby.flip-complete>.player .live-match-player.live-flip-winner img{border-color:#4ed393!important;box-shadow:0 0 0 1px rgba(78,211,147,.22)!important}

/* Native alpha coin artwork: preserve the complete rim glow without a masking crop. */
.match-result-icon,.match-status.spinning .match-result-icon,.match-status.result .match-result-icon{clip-path:none!important;mix-blend-mode:normal!important;background:transparent!important}

/* Scrollable desktop board: keep Live Chat large and stable while the game feed moves. */
@media(min-width:901px){
  html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
  body{min-height:100dvh!important}
  .app{display:block!important;height:auto!important;min-height:100dvh!important}
  main{display:block!important;min-height:100dvh!important;padding:0 clamp(18px,2vw,34px)!important}
  header{height:104px!important}
  .workspace{display:block!important;max-width:none!important;min-height:0!important;margin:0!important}
  .page-title{height:80px!important}
  .columns{display:grid!important;grid-template-columns:minmax(0,1fr) clamp(320px,23vw,430px)!important;gap:24px!important;align-items:start!important}
  .game-list{grid-column:1!important;grid-row:1!important;min-width:0!important;overflow:visible!important}
  .chat{position:sticky!important;top:16px!important;right:auto!important;display:flex!important;grid-column:2!important;grid-row:1!important;width:auto!important;height:calc(100dvh - 32px)!important;min-height:0!important;max-height:calc(100dvh - 32px)!important;align-self:start!important;margin:0!important;z-index:6!important;overflow:hidden!important}
  .chat .messages{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important}
  .chat form{flex:0 0 auto!important}
}

/* Compact cards with breathing room between games; labels and data share the same centers. */
@media(min-width:901px){
  .labels,.lobby{grid-template-columns:minmax(240px,1.15fr) minmax(240px,1.05fr) 130px 128px 160px!important;column-gap:16px!important}
  .labels{height:30px!important;padding:0 18px!important}
  .labels>span:nth-child(3),.labels>span:nth-child(4){justify-self:stretch!important;text-align:center!important}
  #lobbyList{display:grid!important;gap:12px!important;padding:12px 0!important;background:#0b0b10!important}
  .lobby{height:78px!important;margin:0!important;padding:0 18px!important;border:1px solid #292733!important}
  .lobby .offer{min-height:0!important;gap:2px!important}
  .lobby .offer img{width:56px!important;height:56px!important;object-fit:contain!important}
  .lobby>.pot{display:grid!important;place-items:center!important;justify-self:stretch!important;align-self:stretch!important;text-align:center!important}
  .lobby>.chance{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;justify-self:stretch!important;align-self:stretch!important;text-align:center!important}
  .lobby>.chance b,.lobby>.chance small{width:100%!important;text-align:center!important}
  .past-game{min-height:82px!important}
}

/* Red/blue coin faces are real front/back faces, never a Heads placeholder. */
.flip-coin{perspective:900px!important;transform-style:preserve-3d!important}
.flip-coin .coin-sides{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d}
.flip-coin .coin-face{position:absolute!important;inset:0;width:100%!important;height:100%!important;backface-visibility:hidden!important;object-fit:contain!important;border-radius:0!important;background:transparent!important}
.flip-coin .coin-face.tails{transform:rotateY(180deg)}
.flip-coin.countdown{opacity:0!important;transform:scale(.72)!important}
.flip-coin.spinning{opacity:1!important;animation:none!important}
.flip-coin.spinning .coin-sides{animation:gf-two-sided-toss 1.35s linear infinite!important}
.flip-coin.spinning .coin-face{animation:none!important}
.flip-coin.landed{opacity:1!important;animation:gf-cinematic-land .52s cubic-bezier(.17,.9,.25,1.25) both!important}
.flip-coin.landed.heads .coin-sides{transform:rotateY(0deg)!important}
.flip-coin.landed.tails .coin-sides{transform:rotateY(180deg)!important}
@keyframes gf-two-sided-toss{0%{transform:translateY(0) rotateY(0deg) rotateZ(0deg) scale(1)}28%{transform:translateY(-17px) rotateY(540deg) rotateZ(-5deg) scale(1.08)}64%{transform:translateY(-24px) rotateY(1440deg) rotateZ(6deg) scale(1.05)}100%{transform:translateY(0) rotateY(2160deg) rotateZ(0deg) scale(1)}}

.lobby .player.matched>.match-status.spinning{width:42px!important;min-width:42px!important;overflow:visible!important}
.match-two-sided-coin{position:relative;display:block;width:38px;height:38px;transform-style:preserve-3d;perspective:540px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.58));animation:gf-inline-two-sided-toss .58s linear infinite}
.match-two-sided-coin .match-coin-face{position:absolute!important;inset:0;display:block!important;width:38px!important;height:38px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;object-fit:contain!important;backface-visibility:hidden!important}
.match-two-sided-coin .match-coin-face.tails{transform:rotateY(180deg)}
@keyframes gf-inline-two-sided-toss{0%{transform:rotateY(0deg) rotateZ(0deg) scale(1)}50%{transform:rotateY(540deg) rotateZ(10deg) scale(1.1)}100%{transform:rotateY(1080deg) rotateZ(0deg) scale(1)}}

/* All close controls share the same hit target and every overlay can dismiss on its backdrop. */
.viewer-card .close,.profile-card .close,.creator-card .close{display:grid!important;place-items:center;width:36px!important;height:36px!important;right:10px!important;top:9px!important;color:#d9d0e2!important;font-size:29px!important;font-weight:800!important;line-height:1!important;cursor:pointer}
.profile-card .close:hover,.creator-card .close:hover{color:#fff!important;background:#2a2431!important}

/* The page itself owns scrolling; chat is a fixed viewport panel with its composer always in view. */
@media(min-width:901px){
  html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
  .app,main,.workspace,.columns,.game-list,#lobbyList{height:auto!important;overflow:visible!important}
  main{display:block!important;min-height:100dvh!important}
  .workspace{display:block!important}
  .columns{display:grid!important;align-items:start!important}
  .chat{position:fixed!important;top:104px!important;right:clamp(18px,2vw,34px)!important;bottom:16px!important;height:auto!important;max-height:none!important;min-height:0!important;display:flex!important;overflow:hidden!important;z-index:12!important}
  .chat .messages{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .chat form{display:grid!important;flex:0 0 70px!important;min-height:70px!important;margin:0!important}
}
@media(min-width:1151px){.columns{grid-template-columns:minmax(0,1fr) 430px!important}.chat{width:430px!important}}
@media(min-width:901px) and (max-width:1150px){.columns{grid-template-columns:minmax(0,1fr) 330px!important}.chat{width:330px!important}}

/* Bigger, easier-to-read chat content and a real visible send control. */
.chat-head{height:66px!important;padding:0 18px!important}
.chat-head b{font-size:17px!important}
.chat-head span{margin-top:6px!important;font-size:12px!important}
.messages{padding:8px 18px!important}
.messages article{grid-template-columns:46px minmax(0,1fr) auto!important;gap:12px!important;padding:16px 0!important;min-height:76px!important}
.messages img{width:44px!important;height:44px!important;border-radius:50%!important;padding:2px!important}
.messages b{font-size:15px!important}
.messages p{margin-top:4px!important;font-size:14px!important;line-height:1.3!important}
.messages time{font-size:10px!important;padding-top:2px!important}
.chat form{grid-template-columns:minmax(0,1fr) 78px!important;gap:9px!important;padding:12px 14px!important;border-top:1px solid #302d37!important;background:#101015!important}
.chat input{height:42px!important;border-radius:5px!important;padding:0 12px!important;font-size:13px!important}
.chat form button{height:42px!important;border:1px solid #aa79f3!important;border-radius:5px!important;background:#824bda!important;color:#fff!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.07em!important}
.chat form button:hover{background:#9963eb!important}

/* Every player identity is circular; item and coin art remain untouched. */
.account>img,.player>img,.live-match-player>img,.matchup-player>img,.messages>article>img,.profile-head>img,.replay-player>img{border-radius:50%!important}

/* A clean inline balance, styled like the coinflip totals rather than a glossy card. */
@media(min-width:901px){
  .balance{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;padding:0 12px 0 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .balance small{display:block!important;order:0;color:#a99db7!important;font:700 9px/1 DM Mono,monospace!important;letter-spacing:.09em!important}
  .balance b{display:flex!important;align-items:center!important;gap:5px!important;order:1;color:#c693ff!important;font:800 20px/1 Space Grotesk,sans-serif!important}
  .balance b em{display:inline-block!important;width:22px!important;height:22px!important;margin:0!important;padding:0!important;border-radius:50%!important;background-color:transparent!important;background-image:url('assets/godlyflip-token.png')!important;background-repeat:no-repeat!important;background-size:170%!important;background-position:center!important;color:transparent!important;font-size:0!important;box-shadow:none!important}
  .balance strong{display:grid!important;order:2;place-items:center;width:25px!important;height:25px!important;padding:0!important;border:0!important;border-left:1px solid #383142!important;color:#cfadff!important;font-size:19px!important;line-height:1!important}
}

/* The dashboard shell stays fixed; only the central coinflip board scrolls. */
@media(min-width:901px){
  html,body{height:100%!important;overflow:hidden!important}
  .app{height:100dvh!important;min-height:0!important;overflow:hidden!important}
  main{display:grid!important;height:100dvh!important;min-height:0!important;grid-template-rows:72px minmax(0,1fr)!important;overflow:hidden!important}
  header{height:72px!important;min-height:72px!important}
  .workspace{display:grid!important;height:calc(100dvh - 72px)!important;min-height:0!important;grid-template-rows:66px minmax(0,1fr)!important;overflow:hidden!important}
  .page-title{height:66px!important;min-height:66px!important}
  .columns{height:100%!important;min-height:0!important;overflow:hidden!important;align-items:stretch!important}
  .game-list{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable!important}
  .game-list .list-head{position:sticky!important;top:0!important;z-index:5!important}
  .game-list .labels{position:sticky!important;top:61px!important;z-index:4!important}
  #lobbyList{height:auto!important;overflow:visible!important}
  .chat{top:72px!important;bottom:0!important;height:auto!important;min-height:0!important}
}

/* Restore some presence to each game row without losing the useful feed density. */
@media(min-width:901px){
  #lobbyList{gap:10px!important;padding:10px 0!important}
  .lobby{height:94px!important}
  .lobby .offer img{width:64px!important;height:64px!important}
}

/* Picks are visible under the player names. The winner gets a clear green treatment at result time. */
.live-match-player .live-pick{display:table!important;width:max-content;margin-top:4px!important;padding:3px 5px!important;border-radius:3px!important;font:800 8px/1 DM Mono,monospace!important;letter-spacing:.07em!important}
.live-match-player .live-pick.heads{border:1px solid rgba(91,170,255,.55)!important;background:rgba(57,130,255,.12)!important;color:#74baff!important}
.live-match-player .live-pick.tails{border:1px solid rgba(255,105,116,.55)!important;background:rgba(255,68,79,.12)!important;color:#ff9aa3!important}
.lobby.flip-complete{background:linear-gradient(90deg,rgba(48,211,144,.16),#101015 52%)!important;box-shadow:inset 3px 0 #4ed393!important}
.lobby.flip-complete>.player .live-match-player.live-flip-winner{background:rgba(53,218,154,.15)!important;box-shadow:inset 0 0 0 1px rgba(78,211,147,.72),0 0 18px rgba(78,211,147,.11)!important}
.lobby.flip-complete>.player .live-match-player.live-flip-winner b,.lobby.flip-complete>.player .live-match-player.live-flip-winner small{color:#64e5ad!important}

/* The flip visibly alternates the actual Heads and Tails art even on browsers that flatten 3D transforms. */
.match-status.spinning .match-result-icon.spinning-side{width:42px!important;height:42px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;animation:gf-visible-coin-flip .24s linear infinite!important}
.flip-coin.spinning .coin-face{display:block!important;transform:none!important;backface-visibility:visible!important;transition:opacity .06s linear!important}
.flip-coin.spinning[data-visible-side="heads"] .coin-face.heads,.flip-coin.spinning[data-visible-side="tails"] .coin-face.tails{opacity:1!important}
.flip-coin.spinning[data-visible-side="heads"] .coin-face.tails,.flip-coin.spinning[data-visible-side="tails"] .coin-face.heads{opacity:0!important}

/* One strong filter control replaces the old three-link strip. */
.lobby-tools{display:flex!important;align-items:center!important;gap:10px!important}
.open-filter,.create-open{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border:1px solid rgba(190,139,255,.72)!important;border-radius:6px!important;background:linear-gradient(135deg,#a660ff,#713cd1)!important;color:#fff!important;box-shadow:0 8px 20px rgba(135,70,224,.23),inset 0 1px rgba(255,255,255,.26)!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.03em!important;cursor:pointer!important}
.create-open{min-height:40px!important;padding:0 15px!important}
.create-open:before{content:'+';display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(255,255,255,.48);border-radius:50%;font:800 15px/1 Arial,sans-serif}
.open-filter{min-height:36px!important;padding:0 13px!important;background:#1d1728!important;box-shadow:inset 0 0 0 1px rgba(188,137,255,.12)!important}
.open-filter span{font-size:15px!important;line-height:1!important;transform:rotate(90deg)}
.create-open:hover,.open-filter:hover{transform:translateY(-1px);filter:brightness(1.1)}

/* View-sized filtering UI. */
.filter-card{width:min(650px,calc(100vw - 28px))!important}
.filter-card h2{font-size:26px!important}
.filter-group{margin-top:20px;padding:15px;border:1px solid #302d37;background:#111016}
.filter-group>span{display:block;margin-bottom:11px;color:#9a90aa;font:800 9px DM Mono,monospace;letter-spacing:.12em}
.filter-ranges{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.filter-ranges button,.filter-toggle{min-height:42px;border:1px solid #3d3746;background:#191720;color:#c7c0cf;font:800 10px DM Mono,monospace;letter-spacing:.06em;cursor:pointer}
.filter-ranges button.selected,.filter-toggle.selected{border-color:#aa72fb;background:rgba(139,79,226,.2);color:#eadbff;box-shadow:inset 0 0 0 1px rgba(192,147,255,.12)}
.filter-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:0 12px}
.filter-toggle i{width:11px;height:11px;border:1px solid #88729f;background:transparent}
.filter-toggle.selected i{border-color:#b482ff;background:#a461f0;box-shadow:0 0 9px rgba(180,130,255,.5)}
.filter-preview{margin-top:12px;color:#c7a4f8;font:700 9px DM Mono,monospace;letter-spacing:.08em;text-align:center}
.filter-card .modal-actions{margin-top:18px}
.filter-card #applyFilters{border-color:#a866f3;background:#8247db;color:#fff}

/* Click-to-name weapon tooltip. */
.weapon-tooltip{position:fixed;z-index:60;max-width:180px;transform:translateX(-50%);padding:8px 10px;border:1px solid #78618f;border-radius:5px;background:#19151f;color:#f4edf9;box-shadow:0 10px 26px rgba(0,0,0,.46);font:800 10px/1 DM Mono,monospace;letter-spacing:.04em;pointer-events:none}
.weapon-tooltip:before{content:'';position:absolute;top:-5px;left:50%;width:9px;height:9px;border-top:1px solid #78618f;border-left:1px solid #78618f;background:#19151f;transform:translateX(-50%) rotate(45deg)}
.offer img,.won-items img,#replayItems img{cursor:pointer}

/* Full View result: color, winner, prize inventory, and fairness are readable at a glance. */
.viewer-card{width:min(700px,calc(100vw - 28px))!important}
.viewer-card .flip-stage{min-height:226px!important;padding:16px 0 13px!important}
.viewer-card #flipCount{margin-top:7px!important;font-size:32px!important;letter-spacing:.05em!important}
.viewer-card #flipStatus{margin-top:4px!important;font-size:11px!important;letter-spacing:.1em!important}
.viewer[data-outcome="heads"] #flipCount{color:#73b9ff!important;text-shadow:0 0 19px rgba(83,160,255,.45)!important}
.viewer[data-outcome="heads"] #flipStatus{color:#a8d1ff!important}
.viewer[data-outcome="tails"] #flipCount{color:#ff8d99!important;text-shadow:0 0 19px rgba(255,84,99,.38)!important}
.viewer[data-outcome="tails"] #flipStatus{color:#ffb2b9!important}
.viewer-card .replay-prize{display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:8px 20px;min-height:112px!important;padding:16px 18px!important}
.viewer-card .replay-prize>span{grid-column:1;color:#aaa1b2!important;font-size:10px!important;letter-spacing:.12em!important}
.viewer-card .replay-prize>b{grid-column:2;justify-self:end;color:#69e2a9!important;font:800 13px/1.2 Space Grotesk,sans-serif!important;letter-spacing:.02em!important;text-align:right}
.viewer-card #replayItems{grid-column:1 / 3;display:flex!important;align-items:center;justify-content:center;gap:12px;min-height:58px}
.viewer-card #replayItems img{width:58px!important;height:58px!important;opacity:1!important;filter:drop-shadow(0 5px 10px rgba(160,102,255,.22))!important}
.viewer-card .fairness-panel:not([hidden]){display:grid!important;grid-template-columns:auto 1fr;gap:8px 14px;margin:14px 0 0!important;padding:14px 16px!important;border-color:rgba(142,99,219,.54)!important;background:linear-gradient(135deg,rgba(120,72,198,.16),rgba(17,16,23,.9))!important}
.viewer-card .fairness-panel:not([hidden]) b{font-size:0!important}.viewer-card .fairness-panel:not([hidden]) b:after{content:'PROVABLY FAIR';font:800 10px DM Mono,monospace;letter-spacing:.11em}
.viewer-card .fairness-panel:not([hidden]) span{font-size:10px!important}.viewer-card .fairness-panel:not([hidden]) small{font-size:9px!important;line-height:1.4!important}
.viewer-card #fairnessButton{min-height:42px!important}.viewer-card #viewerJoin{min-height:42px!important}

/* Make the inline flip feel like the larger View toss instead of a static icon. */
.lobby .player.matched>.match-status.spinning{width:54px!important;min-width:54px!important}
.match-status.spinning .match-result-icon.spinning-side{width:50px!important;height:50px!important;animation:gf-inline-view-toss .65s cubic-bezier(.2,.75,.2,1) infinite!important}
@keyframes gf-inline-view-toss{0%{transform:translateY(0) rotateY(0deg) rotateZ(0deg) scale(1)}35%{transform:translateY(-10px) rotateY(480deg) rotateZ(-6deg) scale(1.12)}72%{transform:translateY(-4px) rotateY(1020deg) rotateZ(5deg) scale(1.02)}100%{transform:translateY(0) rotateY(1440deg) rotateZ(0deg) scale(1)}}

/* Create Coinflip becomes a proper selection panel rather than a plain form. */
.creator-card{width:min(700px,calc(100vw - 28px))!important;padding:28px!important}
.creator-card h2{font-size:28px!important}
.creator-card .item-picker{gap:0;margin-top:20px!important;border-color:#3b3347!important;background:#111016!important}
.creator-card .item-picker button{height:94px!important;padding:12px!important;transition:background .16s ease,box-shadow .16s ease}
.creator-card .item-picker button:hover{background:rgba(153,98,238,.11)!important}
.creator-card .item-picker button.selected{background:linear-gradient(135deg,rgba(157,91,247,.24),rgba(36,23,55,.35))!important;box-shadow:inset 3px 0 #ad72ff!important}
.creator-card .item-picker img{width:54px!important;height:54px!important;border-radius:7px!important;background:#201a2b!important}
.creator-card .item-picker span{font-size:10px!important}.creator-card .item-picker b{font-size:11px!important;color:#d3b4ff!important}
.creator-card .creator-total{margin-top:10px;padding:17px 0!important;border-top:1px solid #342c41;border-bottom:1px solid #342c41}
.creator-card .create-submit{margin-top:15px!important;padding:15px 17px!important;border-radius:6px!important;background:linear-gradient(135deg,#a45ef6,#713bd0)!important;font-size:11px!important;box-shadow:0 10px 24px rgba(123,62,210,.25)}

/* Keep Chat aligned to the board and give the balance token proper visual weight. */
@media(min-width:901px){
  .chat{top:106px!important;bottom:0!important}
  .balance b em{width:30px!important;height:30px!important;background-size:174%!important}
}

/* A clean compact pot: label above, then token and value on one centered line. */
.lobby>.pot{display:grid!important;grid-template-columns:auto auto!important;grid-template-rows:auto auto!important;align-content:center!important;justify-content:center!important;align-items:center!important;gap:3px 6px!important;min-width:0!important;text-align:center!important}
.lobby>.pot:before{content:'TOTAL POT'!important;grid-column:1 / 3!important;grid-row:1!important;color:#a59bae!important;font:800 8px/1 DM Mono,monospace!important;letter-spacing:.1em!important}
.lobby>.pot em{grid-column:1!important;grid-row:2!important;width:18px!important;height:18px!important;margin:0!important;vertical-align:0!important}
.lobby>.pot .pot-amount{grid-column:2!important;grid-row:2!important;color:#c693ff!important;font:800 19px/1 Space Grotesk,sans-serif!important;white-space:nowrap!important}

/* Outcome colour is the winner colour: Heads blue, Tails red. */
.lobby.flip-complete[data-outcome="heads"]{background:linear-gradient(90deg,rgba(75,155,255,.18),#101015 52%)!important;box-shadow:inset 3px 0 #67adff!important}
.lobby.flip-complete[data-outcome="tails"]{background:linear-gradient(90deg,rgba(255,82,95,.17),#101015 52%)!important;box-shadow:inset 3px 0 #ff6875!important}
.lobby.flip-complete[data-outcome="heads"]>.player .live-match-player.live-flip-winner{background:rgba(76,153,255,.14)!important;box-shadow:inset 0 0 0 1px rgba(100,177,255,.78),0 0 18px rgba(86,156,255,.13)!important}
.lobby.flip-complete[data-outcome="tails"]>.player .live-match-player.live-flip-winner{background:rgba(255,74,88,.14)!important;box-shadow:inset 0 0 0 1px rgba(255,120,131,.78),0 0 18px rgba(255,79,96,.12)!important}
.lobby.flip-complete[data-outcome="heads"]>.player .live-match-player.live-flip-winner b,.lobby.flip-complete[data-outcome="heads"]>.player .live-match-player.live-flip-winner small,.lobby[data-outcome="heads"] .match-status.result span{color:#75b9ff!important}
.lobby.flip-complete[data-outcome="tails"]>.player .live-match-player.live-flip-winner b,.lobby.flip-complete[data-outcome="tails"]>.player .live-match-player.live-flip-winner small,.lobby[data-outcome="tails"] .match-status.result span{color:#ff98a2!important}
.past-game:has(.outcome.heads) .matchup-player.winner b,.past-game:has(.outcome.heads) .matchup-player.winner small{color:#75b9ff!important}.past-game:has(.outcome.tails) .matchup-player.winner b,.past-game:has(.outcome.tails) .matchup-player.winner small{color:#ff98a2!important}

/* The bottom of the game feed gets breathing room after Past Games. */
.game-list:after{content:'';display:block;height:88px;flex:0 0 88px}
.past-games{padding-bottom:72px!important}

/* Two-control filter panel: value input and Open/All selector. */
.filter-card-simple .filter-group{padding:18px!important}
.filter-card-simple .filter-group small{display:block;margin-top:9px;color:#91889f;font:600 9px DM Mono,monospace}
.filter-value-input{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;height:54px;border:1px solid #4a4058;background:#121017}
.filter-value-input:focus-within{border-color:#ad73ff;box-shadow:0 0 0 2px rgba(167,108,252,.12)}
.filter-value-input em{display:grid;place-items:center;height:100%;border-right:1px solid #3c3448;background:#211a2d;color:#d7b6ff;font:800 13px Space Grotesk,sans-serif;font-style:normal}
.filter-value-input input{width:100%;height:100%;border:0;outline:0;background:transparent;color:#f2ebfa;padding:0 14px;font:700 15px Space Grotesk,sans-serif}
.filter-value-input input::placeholder{color:#777080}
.filter-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-mode button{height:46px;border:1px solid #3d3746;background:#191720;color:#c7c0cf;font:800 10px DM Mono,monospace;letter-spacing:.07em;cursor:pointer}.filter-mode button.selected{border-color:#aa72fb;background:rgba(139,79,226,.2);color:#eadbff;box-shadow:inset 0 0 0 1px rgba(192,147,255,.12)}
.filter-card-simple #setSimpleFilters{border-color:#a866f3;background:#8247db;color:#fff}

/* Coinflip filter — one calm, useful panel rather than stacked purple blocks. */
.filter-card.filter-card-simple{width:min(610px,calc(100vw - 28px))!important;padding:26px!important;border-top-color:#9b67ea!important;background:#121116!important}
.filter-card-simple>.close{top:16px!important;right:18px!important;width:28px!important;height:28px!important;padding:0!important;border:0!important;border-radius:5px!important;background:transparent!important;color:#bcb4c7!important;font:700 25px/26px Arial,sans-serif!important;cursor:pointer!important}
.filter-card-simple>.close:hover{background:#211d29!important;color:#f6f0fc!important}
.filter-card-simple .filter-card-head{display:block!important;padding:0 44px 0 0!important;border:0!important;background:transparent!important}
.filter-card-simple .filter-card-head p{margin:0 0 7px!important;color:#b58cea!important;font:800 9px/1 "DM Mono",monospace!important;letter-spacing:.13em!important}
.filter-card-simple .filter-card-head h2{margin:0!important;color:#f4f1f7!important;font:700 27px/1 "Space Grotesk",Inter,sans-serif!important;letter-spacing:-.045em!important}
.filter-card-simple .filter-card-head>small{display:block!important;margin-top:8px!important;color:#948d9d!important;font:500 12px/1.4 Inter,"Segoe UI",sans-serif!important}
.filter-card-simple .filter-group{margin-top:19px!important;padding:0!important;border:0!important;background:transparent!important}
.filter-card-simple .filter-group>span{margin:0 0 8px!important;color:#a9a1b4!important;font:800 9px/1 "DM Mono",monospace!important;letter-spacing:.11em!important}
.filter-card-simple .filter-value-input{height:52px!important;border:1px solid #383142!important;border-radius:6px!important;background:#0e0d12!important;overflow:hidden!important;transition:border-color .16s ease,box-shadow .16s ease!important}
.filter-card-simple .filter-value-input:focus-within{border-color:#9865e3!important;box-shadow:0 0 0 3px rgba(153,101,227,.12)!important}
.filter-card-simple .filter-value-input em{width:54px!important;border-right:1px solid #383142!important;background:#18141f!important;color:#c79aff!important;font:800 10px/1 "DM Mono",monospace!important;letter-spacing:.04em!important}
.filter-card-simple .filter-value-input input{color:#f2edf7!important;padding:0 16px!important;font:700 15px/1 "Space Grotesk",Inter,sans-serif!important}
.filter-card-simple .filter-value-input input::placeholder{color:#777080!important}
.filter-card-simple .filter-group>small{margin-top:7px!important;color:#827a8d!important;font:500 10px/1.3 Inter,"Segoe UI",sans-serif!important}
.filter-card-simple .filter-mode{gap:8px!important}
.filter-card-simple .filter-mode button{display:flex!important;min-height:58px!important;height:auto!important;align-items:flex-start!important;justify-content:center!important;flex-direction:column!important;padding:10px 13px!important;border:1px solid #36303e!important;border-radius:6px!important;background:#101015!important;color:#aaa3b1!important;font:inherit!important;letter-spacing:0!important;text-align:left!important;transition:border-color .16s ease,background-color .16s ease,color .16s ease!important}
.filter-card-simple .filter-mode button:hover{border-color:#625571!important;background:#17131d!important;color:#ddd5e7!important}
.filter-card-simple .filter-mode button b{font:800 10px/1 "DM Mono",monospace!important;letter-spacing:.07em!important}
.filter-card-simple .filter-mode button small{display:block!important;margin-top:5px!important;color:#787180!important;font:500 10px/1 Inter,"Segoe UI",sans-serif!important}
.filter-card-simple .filter-mode button.selected{border-color:#a36bed!important;background:#241837!important;color:#f0e8ff!important;box-shadow:inset 0 0 0 1px rgba(199,151,255,.13),0 0 18px rgba(120,71,200,.10)!important}
.filter-card-simple .filter-mode button.selected small{color:#c0a6e8!important}
.filter-card-simple .modal-actions{margin-top:22px!important;padding-top:16px!important;border-top:1px solid #28242f!important;gap:9px!important}
.filter-card-simple .modal-actions button{min-height:42px!important;padding:0 15px!important;border:1px solid #3d3548!important;border-radius:6px!important;background:#15131a!important;color:#bdb5c7!important;font:800 10px/1 "DM Mono",monospace!important;letter-spacing:.06em!important}
.filter-card-simple .modal-actions #resetSimpleFilters:hover{border-color:#746383!important;color:#f0eaf5!important}
.filter-card-simple .modal-actions #setSimpleFilters{border-color:#a46aec!important;background:#8c58de!important;color:#fff!important;box-shadow:0 7px 19px rgba(130,78,219,.22)!important}
.filter-card-simple .modal-actions #setSimpleFilters:hover{background:#9d68ec!important}
.filter-card-simple .modal-actions #setSimpleFilters span{margin-left:6px!important;font-size:14px!important;vertical-align:-1px!important}

/* More legible header account controls. */
@media(min-width:901px){
  .balance{gap:9px!important}.balance small{color:#dacded!important;font-size:10px!important;text-shadow:0 0 10px rgba(206,170,255,.12)}
  .balance strong{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;margin:0!important;padding:0!important;line-height:1!important;transform:none!important}
  .account{gap:9px!important}.account span{font-size:14px!important}.account small{margin-top:4px!important;color:#d3bce9!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.1em!important}
  .account-arrow{display:grid!important;place-items:center;width:24px!important;height:30px!important;color:#d9bdff!important;font:800 18px/1 Arial,sans-serif!important;transform:translateY(-1px)!important}
}

/* Chat shares the exact board rectangle, rather than floating at a different height. */
@media(min-width:901px){
  .columns{grid-template-columns:minmax(0,1fr) 480px!important;align-items:stretch!important}
  .chat{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;grid-column:2!important;grid-row:1!important;width:auto!important;height:100%!important;min-height:0!important;max-height:none!important;align-self:stretch!important}
}
@media(min-width:901px) and (max-width:1150px){.columns{grid-template-columns:minmax(0,1fr) 350px!important}}

/* Keep the live-board result focused on the actual winner, not the entire row. */
.lobby.flip-complete,.lobby.flip-complete[data-outcome="heads"],.lobby.flip-complete[data-outcome="tails"]{background:#101015!important;box-shadow:none!important}
.lobby.flip-complete>.player .live-match-player.live-flip-winner,.lobby.flip-complete[data-outcome="heads"]>.player .live-match-player.live-flip-winner,.lobby.flip-complete[data-outcome="tails"]>.player .live-match-player.live-flip-winner{background:transparent!important;box-shadow:none!important}
.lobby.flip-complete[data-outcome="heads"]>.player .live-match-player.live-flip-winner img{border-color:#71b6ff!important;box-shadow:0 0 0 2px rgba(87,162,255,.16),0 0 13px rgba(87,162,255,.28)!important}
.lobby.flip-complete[data-outcome="tails"]>.player .live-match-player.live-flip-winner img{border-color:#ff8b98!important;box-shadow:0 0 0 2px rgba(255,92,108,.15),0 0 13px rgba(255,92,108,.26)!important}

/* The inline toss carries the same blue/red face swap and lift as the View animation. */
.lobby .player.matched>.match-status.spinning{width:58px!important;min-width:58px!important;height:56px!important;overflow:visible!important}
.match-live-toss{position:relative;display:block;width:52px;height:52px;filter:drop-shadow(0 4px 7px rgba(0,0,0,.5));animation:gf-mini-view-toss 1.05s cubic-bezier(.2,.72,.2,1) infinite}
.match-live-toss .live-toss-face{position:absolute;inset:0;display:block;width:52px!important;height:52px!important;object-fit:contain!important;background:transparent!important;border:0!important;border-radius:0!important}
.match-live-toss .live-toss-face.heads{animation:gf-show-heads .22s steps(1,end) infinite}.match-live-toss .live-toss-face.tails{animation:gf-show-tails .22s steps(1,end) infinite}
@keyframes gf-show-heads{0%,49%{opacity:1}50%,100%{opacity:0}}@keyframes gf-show-tails{0%,49%{opacity:0}50%,100%{opacity:1}}
@keyframes gf-mini-view-toss{0%{transform:translateY(0) rotateY(0deg) rotateZ(0) scale(1)}38%{transform:translateY(-11px) rotateY(720deg) rotateZ(-7deg) scale(1.13)}74%{transform:translateY(-4px) rotateY(1440deg) rotateZ(5deg) scale(1.03)}100%{transform:translateY(0) rotateY(1800deg) rotateZ(0) scale(1)}}

/* Pot is intentionally just the token and value; its column header already names it. */
.lobby>.pot{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:0!important}
.lobby>.pot:before{display:none!important}
.lobby>.pot em{width:19px!important;height:19px!important;flex:0 0 auto!important}
.lobby>.pot .pot-amount{color:#c693ff!important;font:800 20px/1 Space Grotesk,sans-serif!important}

/* Tighter feed rhythm, visible separators, and a modest end buffer. */
@media(min-width:901px){
  #lobbyList{gap:5px!important;padding:5px 0!important}
  .lobby{height:86px!important;border-bottom:1px solid #2a2731!important}
  .past-games{min-height:0!important;padding-bottom:34px!important}
  .past-game{min-height:78px!important;border-bottom:1px solid #2a2731!important}
  .game-list:after{height:34px!important;flex-basis:34px!important}
}

/* Create Coinflip uses the same calm panel language as Filter. */
.creator-card{width:min(650px,calc(100vw - 28px))!important;padding:24px!important}
.creator-card .item-picker{border-color:#302d37!important;background:#111016!important}.creator-card .item-picker button{height:82px!important;background:#191720!important}.creator-card .item-picker button.selected{background:rgba(139,79,226,.2)!important;box-shadow:inset 0 0 0 1px rgba(192,147,255,.22)!important}.creator-card .item-picker img{width:44px!important;height:44px!important}.creator-card .create-submit{border-color:#a866f3!important;background:#8247db!important;box-shadow:none!important}

/* Make the live-count and total-open figures read as real header stats. */
.lobby-heading #lobbyCount{margin-left:12px!important;padding-left:0!important;color:#f1ebfa!important;font:800 14px/1 Space Grotesk,sans-serif!important;letter-spacing:0!important;text-shadow:0 0 12px rgba(203,159,255,.16)}
.live-total{margin-left:14px!important;padding-left:15px!important;border-left-color:#4a4255!important;color:#d3c8dc!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.1em!important}
.live-total strong{display:inline-flex!important;align-items:center!important;gap:5px!important;color:#d4a5ff!important;font:800 19px/1 Space Grotesk,sans-serif!important;text-shadow:0 0 13px rgba(184,112,255,.23)}
.live-total em{width:18px!important;height:18px!important;margin:0!important;background-image:url('assets/godlyflip-token.png')!important;background-size:174%!important;background-position:center!important;background-color:transparent!important;color:transparent!important}

/* Finished View result is a readable result strip, rather than one centered column. */
.viewer[data-outcome] .flip-stage{grid-template-columns:150px minmax(0,1fr)!important;grid-template-rows:1fr auto!important;justify-items:start!important;align-items:center!important;padding:20px 32px!important;column-gap:22px!important}
.viewer[data-outcome] .flip-coin{grid-column:1!important;grid-row:1 / 3!important;justify-self:center!important;align-self:center!important}
.viewer[data-outcome] #flipCount{grid-column:2!important;grid-row:1!important;align-self:end!important;justify-self:start!important;margin:0!important;font-size:34px!important}
.viewer[data-outcome] #flipStatus{grid-column:2!important;grid-row:2!important;align-self:start!important;justify-self:start!important;margin:3px 0 0!important;font-size:10px!important}
.viewer[data-outcome="heads"] .replay-player.winner{border-color:rgba(104,180,255,.76)!important;background:rgba(76,150,255,.1)!important}.viewer[data-outcome="heads"] .replay-player.winner b,.viewer[data-outcome="heads"] .replay-player.winner small{color:#75b9ff!important}
.viewer[data-outcome="tails"] .replay-player.winner{border-color:rgba(255,126,138,.76)!important;background:rgba(255,74,88,.1)!important}.viewer[data-outcome="tails"] .replay-player.winner b,.viewer[data-outcome="tails"] .replay-player.winner small{color:#ff98a2!important}

/* A smooth in-row toss: faces crossfade instead of blinking in hard steps. */
.match-live-toss{animation:gf-mini-view-toss .95s cubic-bezier(.2,.72,.2,1) infinite!important;will-change:transform}
.match-live-toss .live-toss-face{will-change:opacity,transform}
.match-live-toss .live-toss-face.heads{animation:gf-smooth-heads .48s ease-in-out infinite!important}.match-live-toss .live-toss-face.tails{animation:gf-smooth-tails .48s ease-in-out infinite!important}
@keyframes gf-smooth-heads{0%,40%{opacity:1;transform:scale(1)}50%,90%{opacity:0;transform:scale(.92)}100%{opacity:1;transform:scale(1)}}
@keyframes gf-smooth-tails{0%,40%{opacity:0;transform:scale(.92)}50%,90%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.92)}}

/* Final result stays genuinely centred, without duplicating the winner line. */
.viewer[data-outcome] .flip-stage{grid-template-columns:1fr!important;grid-template-rows:auto auto!important;align-content:center!important;justify-items:center!important;align-items:center!important;gap:9px!important;min-height:226px!important;padding:16px 0!important;column-gap:0!important}
.viewer[data-outcome] .flip-coin{grid-column:1!important;grid-row:1!important;justify-self:center!important;align-self:center!important}
.viewer[data-outcome] #flipCount{grid-column:1!important;grid-row:2!important;align-self:center!important;justify-self:center!important;margin:0!important;font-size:34px!important}
.viewer[data-outcome] #flipStatus{display:none!important}

/* The View flip uses a continuous toss and soft red/blue face swap. */
.flip-coin.spinning .coin-sides{animation:gf-view-smooth-toss 1.6s cubic-bezier(.22,.75,.24,1) infinite!important;will-change:transform}
.flip-coin.spinning .coin-face{display:block!important;transform:none!important;backface-visibility:visible!important;will-change:opacity,transform}
.flip-coin.spinning .coin-face.heads{animation:gf-view-smooth-heads .52s ease-in-out infinite!important}
.flip-coin.spinning .coin-face.tails{animation:gf-view-smooth-tails .52s ease-in-out infinite!important}
@keyframes gf-view-smooth-toss{0%{transform:translateY(0) rotateY(0deg) rotateZ(0deg) scale(1)}38%{transform:translateY(-19px) rotateY(720deg) rotateZ(-5deg) scale(1.1)}72%{transform:translateY(-9px) rotateY(1440deg) rotateZ(4deg) scale(1.035)}100%{transform:translateY(0) rotateY(2160deg) rotateZ(0deg) scale(1)}}
@keyframes gf-view-smooth-heads{0%,39%{opacity:1;transform:scale(1)}50%,89%{opacity:0;transform:scale(.94)}100%{opacity:1;transform:scale(1)}}
@keyframes gf-view-smooth-tails{0%,39%{opacity:0;transform:scale(.94)}50%,89%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.94)}}

/* Bigger GF mark/value, visually balanced in the Pot column. */
.lobby>.pot{height:100%!important;align-self:stretch!important;gap:8px!important;transform:translateY(-2px)!important}
.lobby>.pot em{width:26px!important;height:26px!important;background-size:182%!important;filter:drop-shadow(0 0 6px rgba(176,105,255,.36))!important}
.lobby>.pot .pot-amount{font:800 23px/1 Space Grotesk,sans-serif!important;letter-spacing:-.02em!important;text-shadow:0 0 14px rgba(190,118,255,.25)!important}

/* The Fairness control is a readable action, rather than tiny footer text. */
.viewer-card #fairnessButton{min-height:46px!important;font:800 12px/1 DM Mono,monospace!important;letter-spacing:.11em!important}
.viewer-card .fairness-panel:not([hidden]) b:after{font-size:11px!important}

/* More breathing room and a legible GodlyFlip masthead. */
@media(min-width:901px){
  header{height:124px!important;min-height:124px!important}
  .top-brand{gap:15px!important;font-size:20px!important;letter-spacing:.055em!important}
  .top-brand img{width:66px!important;height:66px!important;border-radius:14px!important}
  .workspace{padding-top:0!important}
  .page-title{height:102px!important;min-height:102px!important;align-items:center!important}
  .page-title h1{font-size:38px!important}
  .page-title p{font-size:12px!important;margin-bottom:8px!important}
  .list-head{height:72px!important;min-height:72px!important;padding:0 24px!important}
}

/* Create matches the quiet Filter control instead of using a bright purple CTA. */
.lobby-heading .create-open,.create-open{border-color:#665f70!important;background:#1a1820!important;color:#eee9f4!important;box-shadow:inset 0 0 0 1px rgba(219,208,232,.05)!important;text-shadow:none!important}
.lobby-heading .create-open:before{border-color:#6c6575!important;background:transparent!important;color:#eee9f4!important}
.lobby-heading .create-open:hover,.create-open:hover{border-color:#a097ab!important;background:#211e28!important;box-shadow:none!important;filter:none!important}
.creator-card{background:#17151d!important;border-color:#3c3845!important;box-shadow:0 24px 70px rgba(0,0,0,.52)!important}
.creator-card .item-picker button.selected{background:#1d1a23!important;box-shadow:inset 2px 0 #dad4e1!important}
.creator-card .create-submit{border-color:#615a6a!important;background:#211e28!important;color:#f0ebf5!important;box-shadow:none!important}
.creator-card .create-submit:hover{border-color:#a097ab!important;background:#2a2631!important}

/* Total Open is a real header stat, not faint auxiliary text. */
.live-total{gap:9px!important;color:#cfc6d9!important;font-size:10px!important}
.live-total strong{gap:7px!important;color:#e0b4ff!important;font-size:23px!important;text-shadow:0 0 16px rgba(188,111,255,.34)!important}
.live-total strong b{font:800 23px/1 Space Grotesk,sans-serif!important;letter-spacing:-.025em!important}
.live-total em{width:24px!important;height:24px!important;background-size:182%!important;filter:drop-shadow(0 0 6px rgba(184,109,255,.4))!important}

/* A countdown is neutral: no previous red/blue result can leak into it. */
.lobby .player.matched>.match-status.countdown{color:#f8f6fb!important;text-shadow:0 0 10px rgba(255,255,255,.16)!important;background:transparent!important;border-color:transparent!important}

/* Past results align precisely: coin in Open's position, prizes in Weapons in Play. */
@media(min-width:1151px){
  .past-game{grid-template-columns:minmax(240px,1.15fr) minmax(240px,1.05fr) 130px 128px 160px!important;column-gap:16px!important;min-height:86px!important;padding:0 18px!important}
  .past-game .matchup{grid-column:1!important;display:flex!important;align-items:center!important;min-width:0!important;margin:0!important;padding:0!important;gap:15px!important}
  .past-game .outcome{order:5!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;justify-items:center!important;align-content:center!important;gap:3px!important;width:58px!important;min-width:58px!important;margin-left:auto!important}
  .past-game .outcome>span{grid-column:1!important;grid-row:1!important;margin:0!important;font-size:8px!important;line-height:1!important}
  .past-game .outcome>img{grid-column:1!important;grid-row:2!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;object-fit:contain!important}
  .past-game>.past-offer{grid-column:2!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;height:100%!important;overflow:visible!important}
  .past-game>.past-offer img{width:54px!important;height:54px!important;margin-right:-14px!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important}
  .past-game> b{grid-column:3!important;justify-self:center!important;margin:0!important}
  .past-game>.expiry{grid-column:4!important;justify-self:center!important;margin:0!important}
  .past-game>.past-view{grid-column:5!important;justify-self:center!important;margin:0!important}
}

/* The landed coin itself is exactly at the stage centre; its label sits below it. */
.viewer[data-outcome] .flip-stage{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;place-items:center!important;min-height:236px!important;padding:0!important;gap:0!important}
.viewer[data-outcome] .flip-coin{grid-column:1!important;grid-row:1!important;place-self:center!important}
.viewer[data-outcome] #flipCount{grid-column:1!important;grid-row:1!important;place-self:center!important;margin:0!important;transform:translateY(78px)!important}

/* Slower, smoother two-sided View toss with a soft landing. */
.flip-coin.spinning .coin-sides{animation:gf-view-cinematic-toss 1.75s cubic-bezier(.18,.78,.24,1) infinite!important}
.flip-coin.spinning .coin-face.heads{animation:gf-view-smooth-heads .58s ease-in-out infinite!important}
.flip-coin.spinning .coin-face.tails{animation:gf-view-smooth-tails .58s ease-in-out infinite!important}
@keyframes gf-view-cinematic-toss{0%{transform:translateY(0) rotateY(0deg) rotateZ(0deg) scale(1)}32%{transform:translateY(-18px) rotateY(420deg) rotateZ(-5deg) scale(1.085)}68%{transform:translateY(-15px) rotateY(1080deg) rotateZ(5deg) scale(1.055)}100%{transform:translateY(0) rotateY(1440deg) rotateZ(0deg) scale(1)}}

/* Past Games begins at the same x-position and uses the same player scale as live rows. */
@media(min-width:1151px){
  .past-games{padding-left:0!important;padding-right:0!important}
  .past-game .matchup-player img{width:43px!important;height:43px!important}
  .past-game .matchup-player b{font-size:14px!important}
  .past-game .matchup-player small{font-size:9px!important}
}

/* Countdowns are always white. Outcome colour is introduced only after landing. */
.viewer:not([data-outcome]) #flipCount{color:#f8f6fb!important;text-shadow:0 0 10px rgba(255,255,255,.14)!important}

/* Centre the actual coin, then set the result label beneath it without moving the coin upward. */
.viewer[data-outcome] .flip-coin{position:relative!important;top:34px!important}
.viewer[data-outcome] #flipCount{transform:translateY(78px)!important}

/* Soft final landing: freeze the spin frame and ease it onto the winning face. */
.flip-coin.landed{animation:gf-view-soft-land .56s cubic-bezier(.18,.86,.24,1) both!important}
@keyframes gf-view-soft-land{0%{transform:translateY(-2px) scale(1)}58%{transform:translateY(2px) scale(1.045)}100%{transform:translateY(0) scale(1)}}

/* Restore the compact desktop top bar; its height now matches the fixed app frame. */
@media(min-width:901px){
  header{height:72px!important;min-height:72px!important}
  .top-brand{gap:13px!important;font-size:17px!important;letter-spacing:.045em!important}
  .top-brand img{width:54px!important;height:54px!important;border-radius:12px!important}
  .page-title{height:66px!important;min-height:66px!important}
  .page-title h1{font-size:31px!important}
  .page-title p{font-size:11px!important;margin-bottom:5px!important}
  .list-head{height:61px!important;min-height:61px!important;padding:0 22px!important}
}

/* The in-row toss is one continuous red/blue motion, with a soft result arrival. */
.match-live-toss{animation:gf-front-smooth-toss 1.35s cubic-bezier(.2,.76,.24,1) infinite!important}
.match-live-toss .live-toss-face.heads{animation:gf-front-heads 1.35s ease-in-out infinite!important}
.match-live-toss .live-toss-face.tails{animation:gf-front-tails 1.35s ease-in-out infinite!important}
@keyframes gf-front-smooth-toss{0%{transform:translateY(0) rotateY(0deg) rotateZ(0deg) scale(1)}42%{transform:translateY(-11px) rotateY(420deg) rotateZ(-5deg) scale(1.11)}76%{transform:translateY(-4px) rotateY(820deg) rotateZ(4deg) scale(1.035)}100%{transform:translateY(0) rotateY(1080deg) rotateZ(0deg) scale(1)}}
@keyframes gf-front-heads{0%,36%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.97)}64%,86%{opacity:0;transform:scale(.94)}100%{opacity:1;transform:scale(1)}}
@keyframes gf-front-tails{0%,36%{opacity:0;transform:scale(.94)}50%{opacity:.5;transform:scale(.97)}64%,86%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.94)}}
.lobby .player.matched>.match-status.result{animation:gf-front-result-land .38s cubic-bezier(.18,.86,.24,1) both!important}
@keyframes gf-front-result-land{0%{opacity:0;transform:translateY(-5px) scale(.84)}65%{opacity:1;transform:translateY(1px) scale(1.07)}100%{opacity:1;transform:translateY(0) scale(1)}}

/* Only the actual avatar/name is a profile target, not the rest of the player column. */
.lobby .player{cursor:default!important}
.lobby .player>img,.lobby .player>span{cursor:pointer!important}

/* Total Open gets the same visual weight as the larger pot values. */
.live-total{padding:8px 13px 8px 16px!important;border-left-color:#6a5c7d!important;background:linear-gradient(90deg,rgba(169,98,241,.12),transparent)!important}
.live-total{color:#f0eaf6!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.11em!important}
.live-total strong,.live-total strong b{font:800 27px/1 Space Grotesk,sans-serif!important;color:#e4b9ff!important;text-shadow:0 0 18px rgba(190,113,255,.42)!important}
.live-total em{width:28px!important;height:28px!important;background-size:186%!important;filter:drop-shadow(0 0 7px rgba(187,111,255,.45))!important}

/* Create keeps Filter's dark body with its purple outline, without the filled purple button. */
.lobby-heading .create-open,.create-open{border-color:#a778ed!important;background:#1d1728!important;color:#f5effb!important;box-shadow:inset 0 0 0 1px rgba(188,137,255,.14)!important}
.lobby-heading .create-open:before{border-color:#aa79f3!important;color:#d8b8ff!important}
.lobby-heading .create-open:hover,.create-open:hover{border-color:#cfacff!important;background:#281d38!important}

/* Completed rows use the exact same asset/value scale as active rows. */
@media(min-width:1151px){
  .past-game{min-height:86px!important;height:86px!important}
  .past-game .matchup-player img{width:48px!important;height:48px!important}
  .past-game .matchup-player b{font-size:15px!important}
  .past-game .matchup-player small{font-size:11px!important}
  .past-game .outcome{width:64px!important;min-width:64px!important}
  .past-game .outcome>img{width:44px!important;height:44px!important}
  .past-game>.past-offer img{width:64px!important;height:64px!important;margin-right:-17px!important}
  .past-game> b{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;color:#c693ff!important;font:800 23px/1 Space Grotesk,sans-serif!important;letter-spacing:-.02em!important;text-shadow:0 0 14px rgba(190,118,255,.25)!important}
  .past-game> b em{width:26px!important;height:26px!important;background-size:182%!important;vertical-align:0!important;filter:drop-shadow(0 0 6px rgba(176,105,255,.36))!important}
}

/* Pin the result coin's centre to the actual centre of the View stage. */
.viewer[data-outcome] .flip-stage{position:relative!important}
.viewer[data-outcome] .flip-coin{position:absolute!important;left:50%!important;top:50%!important;margin:-50px 0 0 -50px!important}
.viewer[data-outcome] #flipCount{position:absolute!important;left:0!important;right:0!important;top:calc(50% + 68px)!important;margin:0!important;text-align:center!important;transform:none!important}

/* Balanced Total Open: a clear label, without an oversized number card. */
.live-total{padding:0 0 0 15px!important;border-left-color:#4a4255!important;background:transparent!important;color:#eee8f3!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.1em!important}
.live-total strong,.live-total strong b{font:800 20px/1 Space Grotesk,sans-serif!important;color:#dcb0ff!important;text-shadow:0 0 13px rgba(184,112,255,.25)!important}
.live-total em{width:22px!important;height:22px!important;background-size:178%!important;filter:drop-shadow(0 0 5px rgba(184,109,255,.33))!important}

/* Past game columns: player pair + picked coin share the Player column, and
   exactly the prize items occupy Weapons in Play.  Keeping both grid items
   explicit prevents completed rows from wrapping their coin or items below. */
@media(min-width:1151px){
  .past-game>.matchup{grid-column:1!important;grid-row:1!important;justify-self:start!important}
  .past-game>.outcome{grid-column:1!important;grid-row:1!important;order:initial!important;justify-self:end!important;align-self:center!important;margin:0!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;justify-items:center!important;align-content:center!important;gap:4px!important;width:64px!important;min-width:64px!important}
  .past-game>.outcome>span{grid-column:1!important;grid-row:1!important;margin:0!important;font-size:8px!important;line-height:1!important}
  .past-game>.outcome>img{grid-column:1!important;grid-row:2!important;width:44px!important;height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;object-fit:contain!important}
  .past-game>.past-offer{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;height:100%!important;overflow:visible!important}
  .past-game>.past-offer img{width:64px!important;height:64px!important;margin-right:-17px!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important}
}

/* The clean, static history markup is the source of truth.  It matches the
   live board columns exactly and leaves deliberate space between every item. */
#pastGames{display:none!important}
.past-games-fixed{display:grid!important;padding-bottom:72px!important}
@media(min-width:1151px){
  .past-games-fixed .past-game{grid-template-columns:minmax(240px,1.15fr) minmax(240px,1.05fr) 130px 128px 160px!important;column-gap:16px!important;min-height:94px!important;height:94px!important;padding:0 18px!important}
  .past-games-fixed .past-game>.past-offer{gap:16px!important}
  .past-games-fixed .past-game>.past-offer img{width:56px!important;height:56px!important;margin:0!important}
}
@media(max-width:1150px){.past-games-fixed .past-game>.past-offer{gap:10px!important}.past-games-fixed .past-game>.past-offer img{margin:0!important}}

/* Live offers use a clean gap too — item art should never overlap. */
.lobby .offer{gap:10px!important}
.lobby .offer img{margin:0!important}
@media(max-width:1150px){.lobby .offer{gap:7px!important}.lobby .offer img{margin:0!important}}

/* Filter is centred in the board header and opens a real game-finder overlay. */
.lobby-tools #openFilters{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:4!important;min-height:40px!important;padding:0 18px!important;border:1px solid #a778ed!important;border-radius:6px!important;background:#1d1728!important;color:#f5effb!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.08em!important;box-shadow:inset 0 0 0 1px rgba(188,137,255,.14)!important}
@media(min-width:1151px){.list-head{position:sticky!important}.list-head .lobby-tools{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;z-index:8!important}}
.filter-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(5,4,8,.72);backdrop-filter:blur(3px)}.filter-overlay[hidden]{display:none!important}.bootstrap-filter{display:grid;gap:18px;width:min(670px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow:auto;padding:24px;border:1px solid #4d3970;border-top:2px solid #a76eff;background:#17151e;box-shadow:0 28px 90px rgba(0,0,0,.7);color:#eee8f5;font:700 10px/1.2 DM Mono,monospace;letter-spacing:.07em}.bootstrap-filter>header{display:flex;align-items:start;justify-content:space-between;height:auto!important;min-height:0!important;border:0!important}.bootstrap-filter header p{margin:0 0 7px;color:#b78cf4;font:800 9px/1 DM Mono,monospace;letter-spacing:.12em}.bootstrap-filter h2{margin:0;color:#f4effa;font:800 28px/1 Space Grotesk,sans-serif;letter-spacing:-.045em}.bootstrap-filter .filter-close{width:34px;height:34px;border:0;background:transparent;color:#ddd4e9;font:700 28px/1 Arial,sans-serif;cursor:pointer}.bootstrap-filter fieldset{margin:0;border:1px solid #3d3747;padding:15px}.bootstrap-filter legend{padding:0 7px;color:#b7adca;font:800 9px/1 DM Mono,monospace;letter-spacing:.11em}.filter-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bootstrap-filter label{display:grid;gap:8px;color:#aaa1b8;font:800 8px/1 DM Mono,monospace;letter-spacing:.08em}.bootstrap-filter input,.bootstrap-filter select{width:100%;height:42px;border:1px solid #4a4355;background:#100f15;color:#f3eef8;padding:0 12px;outline:none;font:700 13px Space Grotesk,sans-serif}.bootstrap-filter input:focus,.bootstrap-filter select:focus{border-color:#a86ef8;box-shadow:0 0 0 2px rgba(168,110,248,.14)}.filter-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.filter-options label{display:block;position:relative;cursor:pointer}.filter-options input{position:absolute;opacity:0;pointer-events:none}.filter-options span{display:grid;place-items:center;min-height:42px;border:1px solid #48414f;background:#1d1a23;color:#b8afc4;font:800 9px/1 DM Mono,monospace;letter-spacing:.06em}.filter-options input:checked+span{border-color:#ad78f5;background:#2b1f40;color:#f5effd;box-shadow:inset 0 0 0 1px rgba(203,169,255,.18)}.bootstrap-filter footer{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;height:auto!important;padding:0;border:0;background:transparent}.bootstrap-filter footer button{height:44px;border:1px solid #655478;background:#211c29;color:#e9e1f1;font:800 10px/1 DM Mono,monospace;letter-spacing:.06em;cursor:pointer}.bootstrap-filter footer button[type="submit"]{border-color:#a96ef8;background:#8a4ce0;color:#fff;box-shadow:0 8px 20px rgba(131,70,218,.22)}.bootstrap-filter footer button:hover{filter:brightness(1.09)}@media(max-width:600px){.filter-overlay{padding:10px}.bootstrap-filter{width:100%;padding:18px;gap:14px}.bootstrap-filter h2{font-size:24px}.filter-values,.filter-options{grid-template-columns:1fr}.bootstrap-filter fieldset{padding:12px}.bootstrap-filter footer{grid-template-columns:1fr}}

/* Matched players now evenly fill the former Player/Open region: player, VS,
   player, then the independent countdown/result slot. */
@media(min-width:1151px){
  .lobby .player.matched{display:grid!important;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 72px!important;align-items:center!important;column-gap:12px!important;width:100%!important}
  .lobby .player.matched>.live-match-player{display:flex!important;align-items:center!important;justify-self:stretch!important;min-width:0!important;margin:0!important;padding:3px 5px!important}
  .lobby .player.matched>.live-match-player span{min-width:0!important}
  .lobby .player.matched>.live-match-player b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .lobby .player.matched>i{display:grid!important;place-items:center!important;margin:0!important;color:#a79bad!important;font:800 10px/1 DM Mono,monospace!important}
  .lobby .player.matched>.match-status{grid-column:4!important;justify-self:end!important;margin:0!important}
}
@media(max-width:1150px){
  .lobby .player.matched{display:grid!important;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 48px!important;align-items:center!important;column-gap:6px!important;width:100%!important}
  .lobby .player.matched>.live-match-player{min-width:0!important;margin:0!important;padding:2px!important}
  .lobby .player.matched>i{display:grid!important;place-items:center!important;margin:0!important}
  .lobby .player.matched>.match-status{grid-column:4!important;justify-self:end!important;margin:0!important}
}

/* A compact fallback filter panel, used only if the enhanced dialog has not loaded. */
.bootstrap-filter{position:fixed;right:28px;top:128px;z-index:80;display:grid;gap:10px;width:230px;padding:14px;border:1px solid #7352a0;background:#17131e;box-shadow:0 16px 42px rgba(0,0,0,.46);color:#e9e1f1;font:800 9px/1.2 DM Mono,monospace;letter-spacing:.07em}
.bootstrap-filter[hidden]{display:none!important}.bootstrap-filter label{display:grid;gap:6px}.bootstrap-filter input[type="text"],.bootstrap-filter input:not([type]){box-sizing:border-box;width:100%;height:32px;border:1px solid #494052;background:#100e15;color:#f4eff8;padding:0 9px;font:700 11px Manrope,sans-serif}.bootstrap-filter label:has(input[type="checkbox"]){display:flex;align-items:center;gap:8px}.bootstrap-filter button{height:34px;border:1px solid #9b68e7;background:#2a1d3b;color:#f8f2ff;font:800 9px/1 DM Mono,monospace;cursor:pointer}

/* Taller board controls: there is room for the Open Games controls to breathe. */
@media(min-width:901px){
  .list-head{height:82px!important;min-height:82px!important}
  .lobby-heading,.lobby-tools{min-height:82px!important;align-items:center!important}
  .lobby-tools #openFilters,.lobby-heading .create-open{min-height:46px!important}
}

/* The result never changes its centre when it changes from 3/2/1 to a coin. */
@media(min-width:1151px){
  .lobby .player.matched{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 72px!important;column-gap:12px!important}
  .lobby .player.matched>.live-match-player:first-child{justify-content:flex-end!important}
  .lobby .player.matched>.live-match-player.opponent{justify-content:flex-start!important}
  .lobby .player.matched>.match-status,.lobby .player.matched>.match-status.result{grid-column:4!important;justify-self:center!important;place-self:center!important;width:72px!important;min-width:72px!important;height:56px!important;margin:0!important;display:grid!important;place-items:center!important;text-align:center!important}
  .lobby .player.matched>.match-status.result{grid-template-rows:10px 42px!important;gap:3px!important}
  .past-games-fixed .past-game .matchup{display:grid!important;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;width:100%!important}
  .past-games-fixed .past-game .matchup-player:first-child{justify-self:end!important}
  .past-games-fixed .past-game .matchup-player:last-child{justify-self:start!important}
  .past-games-fixed .past-game .versus{display:grid!important;place-items:center!important;margin:0!important}
}
@media(max-width:1150px){
  .lobby .player.matched>.match-status,.lobby .player.matched>.match-status.result{justify-self:center!important;place-self:center!important;margin:0!important}
}

/* Supplied inventory catalog: searchable, named, valued, and comfortable at every size. */
.creator-card{width:min(880px,calc(100vw - 28px))!important}
.creator-card .catalog-picker{display:block!important;max-height:min(56vh,520px);overflow:auto;margin-top:18px!important;padding:0!important;border:1px solid #383340!important;background:#111016!important}
.catalog-search{position:sticky;top:0;z-index:2;display:block;padding:12px;background:#17141d;border-bottom:1px solid #383340}
.catalog-search:before{content:'SEARCH ITEMS';display:block;margin:0 0 5px;color:#aaa1b5;font:700 8px/1 DM Mono,monospace;letter-spacing:.12em}.catalog-search small{display:block;margin:0 0 8px;color:#d4a5ff;font:700 8px/1 DM Mono,monospace;letter-spacing:.08em}
.catalog-search input{box-sizing:border-box;width:100%;height:36px;border:1px solid #4b4354;border-radius:4px;outline:0;background:#0f0e14;color:#f5efff;padding:0 11px;font:700 11px Manrope,sans-serif}
.catalog-search input:focus{border-color:#a865ec;box-shadow:0 0 0 2px rgba(168,101,236,.12)}
.catalog-search input::placeholder{color:#81788c}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#302b37}
.catalog-grid[data-empty="true"]{display:block;padding:30px;text-align:center;color:#aaa1b5;font:700 11px DM Mono,monospace}
.creator-card .catalog-item{position:relative;display:grid!important;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;height:74px!important;padding:9px 11px!important;border:0!important;border-radius:0!important;background:#16141b!important;color:#f5f0fb;text-align:left!important;box-shadow:none!important}
.creator-card .catalog-item:hover{background:#211d29!important}.creator-card .catalog-item.selected{background:linear-gradient(90deg,rgba(136,75,219,.27),rgba(36,28,47,.62))!important;box-shadow:inset 2px 0 #bc83ff!important}
.creator-card .catalog-item img{width:48px!important;height:48px!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important}
.catalog-item>span{display:grid;gap:4px;min-width:0}.catalog-item>span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f5effc;font:800 11px/1.1 Space Grotesk,sans-serif!important;letter-spacing:0!important}.catalog-item>span small{color:#a89cb8;font:700 8px/1 DM Mono,monospace!important;letter-spacing:.1em}.catalog-item>strong{color:#d4a5ff;font:800 12px/1 Space Grotesk,sans-serif;white-space:nowrap;text-shadow:0 0 12px rgba(179,102,255,.18)}
@media(max-width:700px){.creator-card{width:calc(100vw - 18px)!important;padding:17px!important}.creator-card .catalog-picker{max-height:58vh}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-card .catalog-item{grid-template-columns:38px minmax(0,1fr);height:68px!important;padding:8px!important}.creator-card .catalog-item img{width:38px!important;height:38px!important}.catalog-item>strong{grid-column:2;font-size:10px}.catalog-item>span{gap:3px}.catalog-item>span b{font-size:9px!important}.catalog-item>span small{font-size:7px!important}}

/* Compact match pairs: VS sits between the two actual players, while the
   Open/countdown/result slot stays in the gap directly before item art. */
@media(min-width:1151px){
  .lobby .player.matched{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:16px!important;width:100%!important;min-width:0!important}
  .lobby .player.matched>.live-match-player{display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;margin:0!important;padding:3px 5px!important}
  .lobby .player.matched>i{display:block!important;flex:0 0 auto!important;margin:0!important;color:#a79bad!important;font:800 10px/1 DM Mono,monospace!important}
  .lobby .player.matched>.match-status,.lobby .player.matched>.match-status.result{display:grid!important;place-items:center!important;flex:0 0 72px!important;width:72px!important;min-width:72px!important;height:56px!important;margin:0 0 0 auto!important;padding:0!important;text-align:center!important}
  .lobby .player.matched>.match-status.result{grid-template-rows:10px 42px!important;gap:3px!important}
  .past-games-fixed .past-game .matchup{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:16px!important;width:auto!important;min-width:0!important}
  .past-games-fixed .past-game .matchup-player{justify-self:auto!important}
  .past-games-fixed .past-game .versus{display:block!important;flex:0 0 auto!important;margin:0!important}
}

/* The base tooltip stays on top of cards/modals and remains readable even if
   the enhanced script is interrupted. */
.bootstrap-tooltip{position:fixed!important;z-index:999!important;max-width:180px!important;padding:8px 10px!important;border:1px solid #8d65c6!important;border-radius:4px!important;background:#14101c!important;color:#fbf7ff!important;font:800 10px/1.2 DM Mono,monospace!important;letter-spacing:.04em!important;box-shadow:0 10px 24px rgba(0,0,0,.48)!important;pointer-events:none!important;transform:translateX(-50%)!important}
.bootstrap-tooltip[hidden]{display:none!important}

/* Four evenly spaced anchors in the Player column:
   player one → VS → player two → Open/result.  This intentionally moves the
   second player into half of the former blank area and keeps VS at the exact
   midpoint between both player cards.  Past Games uses the same anchors. */
@media(min-width:1151px){
  .lobby .player.matched{display:grid!important;grid-template-columns:160px minmax(34px,1fr) 24px minmax(34px,1fr) 160px minmax(34px,1fr) 72px!important;align-items:center!important;column-gap:0!important;width:100%!important}
  .lobby .player.matched>.live-match-player{width:160px!important;max-width:160px!important}
  .lobby .player.matched>.live-match-player:first-child{grid-column:1!important;justify-content:flex-start!important}
  .lobby .player.matched>i{grid-column:3!important;display:grid!important;place-items:center!important}
  .lobby .player.matched>.live-match-player.opponent{grid-column:5!important;justify-content:flex-start!important}
  .lobby .player.matched>.match-status,.lobby .player.matched>.match-status.result{grid-column:7!important;justify-self:center!important;margin:0!important}

  .past-games-fixed .past-game .matchup{display:grid!important;grid-template-columns:max-content minmax(30px,1fr) max-content minmax(30px,1fr) max-content!important;align-items:center!important;column-gap:0!important;width:calc(100% - 80px)!important}
  .past-games-fixed .past-game .matchup-player:first-child{grid-column:1!important;justify-self:start!important}
  .past-games-fixed .past-game .versus{grid-column:3!important;display:grid!important;place-items:center!important}
  .past-games-fixed .past-game .matchup-player:last-child{grid-column:5!important;justify-self:start!important}
}

/* Past Games is the same seven-anchor Player layout as an open game.  Flatten
   the old wrapper only on desktop so each profile, VS, opponent, and coin has
   a shared column across every history row instead of drifting per name. */
@media(min-width:1151px){
  .past-games-fixed .past-game{display:grid!important;grid-template-columns:160px minmax(28px,.333fr) 24px minmax(28px,.333fr) 160px minmax(28px,.333fr) 64px 20px minmax(310px,1.5fr) 20px 130px 20px 105px 20px 142px!important;column-gap:0!important;align-items:center!important;padding:0 18px!important}
  .past-games-fixed .past-game>.matchup{display:contents!important}
  .past-games-fixed .past-game .matchup-player{display:flex!important;align-items:center!important;width:160px!important;max-width:160px!important;min-width:0!important;margin:0!important;padding:0!important;text-align:left!important}
  .past-games-fixed .past-game .matchup-player:first-child{grid-column:1!important;grid-row:1!important;justify-self:start!important}
  .past-games-fixed .past-game .versus{grid-column:3!important;grid-row:1!important;display:grid!important;place-items:center!important;margin:0!important;text-align:center!important}
  .past-games-fixed .past-game .matchup-player:last-child{grid-column:5!important;grid-row:1!important;justify-self:start!important}
  .past-games-fixed .past-game>.outcome{grid-column:7!important;grid-row:1!important;justify-self:center!important;align-self:center!important;margin:0!important}
  .past-games-fixed .past-game>.past-offer{grid-column:9!important;grid-row:1!important;justify-self:center!important}
  .past-games-fixed .past-game> b{grid-column:11!important;grid-row:1!important;justify-self:center!important}
  .past-games-fixed .past-game>.expiry{grid-column:13!important;grid-row:1!important;justify-self:center!important}
  .past-games-fixed .past-game>.past-view{grid-column:15!important;grid-row:1!important;justify-self:center!important}
}

/* History literally reuses the live table: the five outside columns are the
   same Player / Weapons / Pot / Chance / Action tracks.  Its coin now lives
   inside the Player matchup in the exact old Open slot. */
@media(min-width:1151px){
  .past-games-fixed .past-game{grid-template-columns:minmax(240px,1.15fr) minmax(240px,1.05fr) 130px 128px 160px!important;column-gap:16px!important}
  .past-games-fixed .past-game>.matchup{grid-column:1!important;grid-row:1!important;display:grid!important;grid-template-columns:160px minmax(28px,1fr) 24px minmax(28px,1fr) 160px minmax(28px,1fr) 64px!important;align-items:center!important;column-gap:0!important;width:100%!important;min-width:0!important}
  .past-games-fixed .past-game .matchup-player{display:flex!important;align-items:center!important;width:160px!important;max-width:160px!important;min-width:0!important;margin:0!important;padding:0!important;text-align:left!important}
  .past-games-fixed .past-game .matchup-player:first-child{grid-column:1!important;grid-row:1!important;justify-self:start!important}
  .past-games-fixed .past-game .versus{grid-column:3!important;grid-row:1!important;display:grid!important;place-items:center!important;margin:0!important}
  .past-games-fixed .past-game .matchup-player:nth-of-type(2){grid-column:5!important;grid-row:1!important;justify-self:start!important}
  .past-games-fixed .past-game .matchup>.outcome{grid-column:7!important;grid-row:1!important;display:grid!important;justify-self:center!important;align-self:center!important;margin:0!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;justify-items:center!important;gap:4px!important;width:64px!important;min-width:64px!important}
  .past-games-fixed .past-game .matchup>.outcome>span{grid-column:1!important;grid-row:1!important;margin:0!important}
  .past-games-fixed .past-game .matchup>.outcome>img{grid-column:1!important;grid-row:2!important;width:44px!important;height:44px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;object-fit:contain!important}
  .past-games-fixed .past-game>.past-offer{grid-column:2!important;grid-row:1!important;justify-self:center!important}
  .past-games-fixed .past-game> b{grid-column:3!important;grid-row:1!important;justify-self:center!important}
  .past-games-fixed .past-game>.expiry{grid-column:4!important;grid-row:1!important;justify-self:center!important}
  .past-games-fixed .past-game>.past-view{grid-column:5!important;grid-row:1!important;justify-self:center!important}
}

/* Keep the Open/result slot visually centred in the breathing room between
   the competitor block and Weapons in Play; VS is larger without shifting its
   grid lane in either live or completed rows. */
@media(min-width:1151px){
  .lobby .player:not(.matched)>strong{position:relative!important;left:clamp(24px,2vw,42px)!important}
  .lobby .player.matched>.match-status{position:relative!important;left:clamp(24px,2vw,42px)!important}
  .past-games-fixed .past-game .matchup>.outcome{position:relative!important;left:clamp(24px,2vw,42px)!important}
  .lobby .player.matched>i,.past-games-fixed .past-game .versus{font-size:14px!important;line-height:1!important;letter-spacing:.1em!important;color:#c6b9d1!important;text-shadow:0 0 10px rgba(198,171,238,.15)!important}
}

/* Use the existing row height instead of empty air: bigger identities and
   outcomes, while retaining the established column alignment. */
@media(min-width:1151px){
  .lobby .player>img,.lobby .player.matched>.live-match-player img{width:56px!important;height:56px!important}
  .lobby .player b,.lobby .player.matched>.live-match-player b{font-size:17px!important}
  .lobby .player small,.lobby .player.matched>.live-match-player small{font-size:12px!important}
  .lobby .player:not(.matched)>strong{font:800 12px/1 DM Mono,monospace!important;letter-spacing:.06em!important;color:#f2ebfa!important}
  .lobby .player.matched>.match-status.countdown{font-size:23px!important}
  .lobby .player.matched>.match-status.result{grid-template-rows:12px 50px!important;width:76px!important;min-width:76px!important;height:66px!important}
  .match-status.result span{font-size:11px!important}
  .match-status.result .match-result-icon{width:50px!important;height:50px!important}
  .match-live-toss,.match-live-toss .live-toss-face{width:58px!important;height:58px!important}

  .past-games-fixed .past-game .matchup-player img{width:54px!important;height:54px!important}
  .past-games-fixed .past-game .matchup-player b{font-size:17px!important}
  .past-games-fixed .past-game .matchup-player small{font-size:11px!important}
  .past-games-fixed .past-game .matchup>.outcome{width:72px!important;min-width:72px!important;grid-template-rows:12px 50px!important}
  .past-games-fixed .past-game .matchup>.outcome>span{font-size:10px!important}
  .past-games-fixed .past-game .matchup>.outcome>img{width:50px!important;height:50px!important}
}

/* Open games explain the actual eligible join range instead of showing a
   generic equal-odds placeholder. */
.chance.join-range{display:grid!important;grid-template-columns:1fr!important;align-content:center!important;justify-items:center!important;gap:5px!important;min-height:48px!important;text-align:center!important;color:#f3edf9!important}
.chance.join-range:after{display:none!important}.chance.join-range>small{color:#bba9ca!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.1em!important;white-space:nowrap}.chance.join-range b{display:block!important;color:#f8f3fd!important;font:800 18px/1 Space Grotesk,sans-serif!important;letter-spacing:-.04em!important;white-space:nowrap;text-shadow:0 0 13px rgba(174,108,246,.18)!important}

/* Final filter finder overrides: it belongs in the visual centre, not as a corner popover. */
.lobby-tools #openFilters{min-height:40px!important;padding:0 18px!important;letter-spacing:.08em!important}
@media(min-width:1151px){.list-head{position:sticky!important}.list-head .lobby-tools{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;z-index:8!important}}
.filter-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(5,4,8,.72);backdrop-filter:blur(3px)}
.filter-overlay[hidden]{display:none!important}
.bootstrap-filter{position:relative!important;right:auto!important;top:auto!important;z-index:auto!important;display:grid;gap:18px;width:min(670px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow:auto;padding:24px;border:1px solid #4d3970;border-top:2px solid #a76eff;background:#17151e;box-shadow:0 28px 90px rgba(0,0,0,.7);color:#eee8f5;font:700 10px/1.2 DM Mono,monospace;letter-spacing:.07em}
.bootstrap-filter>header{display:flex;align-items:start;justify-content:space-between;height:auto!important;min-height:0!important;border:0!important}
.bootstrap-filter header p{margin:0 0 7px;color:#b78cf4;font:800 9px/1 DM Mono,monospace;letter-spacing:.12em}.bootstrap-filter h2{margin:0;color:#f4effa;font:800 28px/1 Space Grotesk,sans-serif;letter-spacing:-.045em}.bootstrap-filter .filter-close{width:34px;height:34px;border:0;background:transparent;color:#ddd4e9;font:700 28px/1 Arial,sans-serif;cursor:pointer}
.bootstrap-filter fieldset{margin:0;border:1px solid #3d3747;padding:15px}.bootstrap-filter legend{padding:0 7px;color:#b7adca;font:800 9px/1 DM Mono,monospace;letter-spacing:.11em}.filter-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bootstrap-filter label{display:grid;gap:8px;color:#aaa1b8;font:800 8px/1 DM Mono,monospace;letter-spacing:.08em}.bootstrap-filter input,.bootstrap-filter select{width:100%;height:42px;border:1px solid #4a4355;background:#100f15;color:#f3eef8;padding:0 12px;outline:none;font:700 13px Space Grotesk,sans-serif}.bootstrap-filter input:focus,.bootstrap-filter select:focus{border-color:#a86ef8;box-shadow:0 0 0 2px rgba(168,110,248,.14)}
.filter-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.filter-options label{display:block;position:relative;cursor:pointer}.filter-options input{position:absolute;opacity:0;pointer-events:none}.filter-options span{display:grid;place-items:center;min-height:42px;border:1px solid #48414f;background:#1d1a23;color:#b8afc4;font:800 9px/1 DM Mono,monospace;letter-spacing:.06em}.filter-options input:checked+span{border-color:#ad78f5;background:#2b1f40;color:#f5effd;box-shadow:inset 0 0 0 1px rgba(203,169,255,.18)}
.bootstrap-filter footer{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;height:auto!important;padding:0;border:0;background:transparent}.bootstrap-filter footer button{height:44px;border:1px solid #655478;background:#211c29;color:#e9e1f1;font:800 10px/1 DM Mono,monospace;letter-spacing:.06em;cursor:pointer}.bootstrap-filter footer button[type="submit"]{border-color:#a96ef8;background:#8a4ce0;color:#fff;box-shadow:0 8px 20px rgba(131,70,218,.22)}.bootstrap-filter footer button:hover{filter:brightness(1.09)}
@media(max-width:600px){.filter-overlay{padding:10px}.bootstrap-filter{width:100%;padding:18px;gap:14px}.bootstrap-filter h2{font-size:24px}.filter-values,.filter-options{grid-template-columns:1fr}.bootstrap-filter fieldset{padding:12px}.bootstrap-filter footer{grid-template-columns:1fr}}

/* Keep the Filter trigger in its header corner; only its finder dialog is centred. */
@media(min-width:1151px){.list-head .lobby-tools{position:static!important;left:auto!important;transform:none!important;margin-left:auto!important}}
.filter-options span{min-height:46px!important;font-size:11px!important}.bootstrap-filter footer button{font-size:11px!important}

/* A fixed icon lane makes every pot scan cleanly, regardless of amount width. */
@media(min-width:1151px){.lobby .pot{justify-self:stretch!important;display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;width:100%!important;min-width:0!important}.lobby .pot:before{left:0!important}.lobby .pot em{grid-column:1!important;grid-row:1!important;margin:0!important}.lobby .pot .pot-amount{grid-column:2!important;grid-row:1!important}.past-games-fixed .past-game>.past-pot{grid-column:3!important;grid-row:1!important;justify-self:stretch!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important;min-width:0!important}.past-games-fixed .past-pot>.pot{position:relative!important;display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;width:100%!important;margin:0!important;padding-top:12px!important}.past-games-fixed .past-pot>.pot:before{left:0!important}.past-games-fixed .past-pot>.pot em{grid-column:1!important;grid-row:1!important;margin:0!important}.past-games-fixed .past-pot>.pot .pot-amount{grid-column:2!important;grid-row:1!important}.past-games-fixed .past-time{margin-left:30px!important;color:#9d94aa!important;font:700 9px/1 DM Mono,monospace!important;letter-spacing:.04em!important;white-space:nowrap}.past-games-fixed .history-chance{grid-column:4!important;grid-row:1!important;display:grid!important;justify-items:center!important;gap:4px!important;text-align:center!important}.past-games-fixed .history-chance b{color:#f2ecf8!important;font:800 17px/1 Space Grotesk,sans-serif!important;letter-spacing:-.04em!important;white-space:nowrap}.past-games-fixed .history-chance small{color:#aa9fba!important;font:800 8px/1 DM Mono,monospace!important;letter-spacing:.08em!important;white-space:nowrap}.past-games-fixed .past-game>.expiry{display:none!important}.player>.profile-hitbox{flex:0 0 auto!important;width:max-content!important;cursor:pointer!important}.player>.profile-hitbox:hover b{color:#c99bff!important}}

/* Finished-game metadata: same board anchors as live rows, with time below View. */
@media(min-width:1151px){.past-games-fixed .past-game>.past-pot-value{grid-column:3!important;grid-row:1!important;justify-self:stretch!important;display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:center!important;gap:4px!important;width:100%!important;margin:0!important;padding-top:14px!important;font-size:22px!important;letter-spacing:-.045em!important}.past-games-fixed .past-game>.past-pot-value:before{left:0!important}.past-games-fixed .past-game>.past-pot-value em{grid-column:1!important;grid-row:1!important;width:24px!important;height:24px!important;margin:0!important}.past-games-fixed .past-game>.past-pot-value .pot-amount{grid-column:2!important;grid-row:1!important}.past-games-fixed .history-chance{grid-column:4!important;grid-row:1!important;display:grid!important;place-items:center!important;gap:5px!important;min-width:0!important;text-align:center!important}.past-games-fixed .history-chance b{font-size:19px!important}.past-games-fixed .history-chance small{font-size:9px!important;color:#c1b7d0!important}.past-games-fixed .past-actions{grid-column:5!important;grid-row:1!important;display:grid!important;justify-items:center!important;align-content:center!important;gap:8px!important;min-width:0!important}.past-games-fixed .past-actions .past-view{justify-self:center!important;min-width:68px!important;min-height:40px!important}.past-games-fixed .past-actions .past-time{color:#aaa0b8!important;font:700 9px/1 DM Mono,monospace!important;letter-spacing:.06em!important;white-space:nowrap!important}.past-games-fixed .past-game>.matchup{grid-template-columns:160px minmax(40px,1fr) 36px minmax(40px,1fr) 160px minmax(38px,.55fr) 76px!important;justify-items:center!important}.past-games-fixed .past-game .matchup-player:first-child{justify-self:start!important}.past-games-fixed .past-game .matchup-player:nth-of-type(2){justify-self:start!important}.past-games-fixed .past-game .versus{justify-self:center!important}.lobby .pot{grid-template-columns:26px minmax(0,1fr)!important;gap:4px!important;font-size:22px!important}.lobby .pot em{width:24px!important;height:24px!important}}

/* Static history fallback: odds and elapsed time remain present before any JS enhancement. */
@media(min-width:1151px){.past-games-fixed .past-game>.history-chance{grid-column:4!important;grid-row:1!important;display:grid!important;place-items:center!important;gap:5px!important;text-align:center!important}.past-games-fixed .past-game>.history-chance b{font:800 19px/1 Space Grotesk,sans-serif!important;color:#f2ecf8!important;letter-spacing:-.04em!important;white-space:nowrap}.past-games-fixed .past-game>.history-chance small{color:#c1b7d0!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.08em!important;white-space:nowrap}.past-games-fixed .past-game>.past-view{grid-column:5!important;grid-row:1!important;justify-self:center!important;align-self:center!important}.past-games-fixed .past-game>.expiry{grid-column:5!important;grid-row:1!important;display:block!important;justify-self:center!important;align-self:end!important;margin:0 0 16px!important;color:#aaa0b8!important;font:700 9px/1 DM Mono,monospace!important;letter-spacing:.06em!important;white-space:nowrap!important}.past-games-fixed .past-game>.past-pot-value{font-size:24px!important;grid-template-columns:30px minmax(0,1fr)!important;gap:3px!important}.past-games-fixed .past-game>.past-pot-value em{width:26px!important;height:26px!important}.lobby .pot{font-size:24px!important;grid-template-columns:28px minmax(0,1fr)!important;gap:3px!important}.lobby .pot em{width:26px!important;height:26px!important}}

/* Creator inventory: large real-item cards, a sticky search, and its own scroll area. */
.creator-card{width:min(1160px,calc(100vw - 36px))!important;max-height:90dvh!important;padding:30px!important;display:flex!important;flex-direction:column!important}.creator-card>p{font-size:10px!important}.creator-card>h2{font-size:34px!important;letter-spacing:-.05em!important}.creator-card .close{right:16px!important;top:10px!important;font-size:32px!important}.creator-card .catalog-picker{display:block!important;max-height:min(60dvh,620px)!important;overflow:auto!important;margin:22px 0 0!important;border:1px solid #3d3748!important;background:#100f15!important;scrollbar-color:#7651a7 #15131a!important;scrollbar-width:thin!important}.creator-card .catalog-search{position:sticky!important;top:0!important;z-index:4!important;display:block!important;padding:16px!important;border-bottom:1px solid #3d3748!important;background:#18151f!important;box-shadow:0 8px 18px rgba(0,0,0,.3)!important}.creator-card .catalog-search:before{content:'SEARCH INVENTORY'!important;margin:0 0 8px!important;color:#b796e8!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.13em!important}.creator-card .catalog-search small{margin:0 0 10px!important;color:#9b8aac!important;font-size:9px!important}.creator-card .catalog-search input{height:46px!important;border:1px solid #554b62!important;border-radius:4px!important;background:#0e0d12!important;padding:0 14px!important;color:#f4eff9!important;font:700 14px Space Grotesk,sans-serif!important}.creator-card .catalog-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(175px,1fr))!important;gap:10px!important;padding:14px!important;background:transparent!important}.creator-card .catalog-grid[data-empty="true"]{display:block!important;min-height:180px!important;padding:64px 20px!important;color:#b6a9c4!important;text-align:center!important}.creator-card .catalog-item{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:108px auto auto!important;justify-items:center!important;align-content:center!important;gap:6px!important;height:178px!important;min-width:0!important;padding:12px!important;border:1px solid #383241!important;border-radius:7px!important;background:linear-gradient(145deg,#1b1821,#141218)!important;color:#f5f0fb!important;text-align:center!important;transition:border-color .15s ease,transform .15s ease,background .15s ease!important}.creator-card .catalog-item:hover{border-color:#8f67c4!important;background:linear-gradient(145deg,#241d2d,#17131e)!important;transform:translateY(-2px)!important}.creator-card .catalog-item.selected{border-color:#b67aff!important;background:linear-gradient(145deg,rgba(136,75,219,.34),#21182d)!important;box-shadow:inset 0 0 0 1px rgba(210,177,255,.23),0 0 20px rgba(132,72,220,.13)!important}.creator-card .catalog-item img{width:106px!important;height:106px!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important}.creator-card .catalog-item>span{display:grid!important;justify-items:center!important;gap:4px!important;min-width:0!important}.creator-card .catalog-item>span b{max-width:100%;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#f6f1fb!important;font:800 14px/1.05 Space Grotesk,sans-serif!important;letter-spacing:-.02em!important}.creator-card .catalog-item>span small{color:#a896b8!important;font:800 8px/1 DM Mono,monospace!important;letter-spacing:.1em!important}.creator-card .catalog-item>strong{color:#d5a7ff!important;font:800 14px/1 Space Grotesk,sans-serif!important;text-shadow:0 0 12px rgba(179,102,255,.2)!important}.creator-card .creator-total{flex:0 0 auto!important;min-height:66px!important;margin:14px 0 0!important;padding:14px 2px!important;border-top:1px solid #3d3748!important;border-bottom:1px solid #3d3748!important}.creator-card .creator-total span{font-size:11px!important;color:#b8adca!important}.creator-card .creator-total>b{font-size:26px!important}.creator-card .creator-total button{font-size:10px!important}.creator-card .create-submit{flex:0 0 auto!important;min-height:52px!important;margin-top:14px!important;font-size:12px!important;letter-spacing:.06em!important}
@media(max-width:700px){.creator-card{width:calc(100vw - 18px)!important;max-height:94dvh!important;padding:19px!important}.creator-card>h2{font-size:28px!important}.creator-card .catalog-picker{max-height:57dvh!important;margin-top:16px!important}.creator-card .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:9px!important}.creator-card .catalog-item{grid-template-rows:82px auto auto!important;height:146px!important;padding:8px!important}.creator-card .catalog-item img{width:80px!important;height:80px!important}.creator-card .catalog-item>span b{font-size:11px!important}.creator-card .catalog-item>strong{font-size:12px!important}.creator-card .catalog-search input{height:42px!important}.creator-card .creator-total{min-height:58px!important}.creator-card .creator-total>b{font-size:22px!important}}

/* History shows the final amount without repeating the Open Games “TOTAL POT” label. */
@media(min-width:1151px){.past-games-fixed .past-game>.past-pot-value:before{content:none!important}}

/* The dialog stays large; only the real inventory grid scrolls. */
.creator-card{height:min(90dvh,860px)!important;max-height:none!important}.creator-card .catalog-picker{flex:1 1 auto!important;min-height:0!important;max-height:none!important}.creator-card .catalog-grid{padding-bottom:20px!important}
@media(max-width:700px){.creator-card{height:94dvh!important}.creator-card .catalog-picker{max-height:none!important}}

/* The catalog reuses the old picker container, so explicitly reset its
   two-row thumbnail rule.  Each large card owns a separate art/name/value lane. */
.creator-card .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:12px!important;padding:16px!important}.creator-card .catalog-item{position:relative!important;overflow:hidden!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:132px 34px 24px!important;justify-items:center!important;align-items:center!important;align-content:center!important;gap:5px!important;height:224px!important;padding:13px!important}.creator-card .catalog-item img{grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:center!important;display:block!important;width:128px!important;height:128px!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}.creator-card .catalog-item>span{grid-column:1!important;grid-row:2!important;align-self:center!important;width:100%!important;min-height:0!important}.creator-card .catalog-item>span b{display:block!important;width:100%!important;line-height:1.15!important;font-size:15px!important}.creator-card .catalog-item>span small{display:block!important;margin-top:4px!important}.creator-card .catalog-item>strong{grid-column:1!important;grid-row:3!important;align-self:center!important;font-size:15px!important;line-height:1!important}
@media(max-width:700px){.creator-card .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:10px!important}.creator-card .catalog-item{grid-template-rows:94px 29px 20px!important;height:166px!important;padding:9px!important}.creator-card .catalog-item img{width:92px!important;height:92px!important}.creator-card .catalog-item>span b{font-size:12px!important}.creator-card .catalog-item>strong{font-size:13px!important}}

/* Creator desktop deliberately shows only two inventory cards across.  The
   selection drawer scrolls, so every item gets enough room to be inspected. */
@media(min-width:701px){.creator-card .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:320px!important;align-content:start!important;gap:16px!important;padding:18px!important}.creator-card .catalog-item{height:320px!important;min-height:320px!important;grid-template-rows:210px 48px 28px!important;padding:16px!important}.creator-card .catalog-item img{width:200px!important;height:200px!important}.creator-card .catalog-item>span b{font-size:18px!important}.creator-card .catalog-item>span small{font-size:10px!important;margin-top:6px!important}.creator-card .catalog-item>strong{font-size:18px!important}}

/* Final creator density: four readable inventory cards across, without the
   heavy dark tile background behind every item. */
@media(min-width:701px){.creator-card .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:236px!important;gap:12px!important;padding:16px!important}.creator-card .catalog-item{height:236px!important;min-height:236px!important;grid-template-rows:154px 42px 24px!important;padding:12px!important;background:transparent!important;border-color:rgba(117,101,137,.48)!important;box-shadow:none!important}.creator-card .catalog-item:hover{background:rgba(137,94,197,.09)!important;border-color:#9068be!important}.creator-card .catalog-item.selected{background:rgba(128,73,202,.13)!important;border-color:#b57dff!important;box-shadow:inset 0 0 0 1px rgba(204,169,255,.17)!important}.creator-card .catalog-item img{width:148px!important;height:148px!important}.creator-card .catalog-item>span b{font-size:15px!important}.creator-card .catalog-item>span small{font-size:9px!important;margin-top:4px!important}.creator-card .catalog-item>strong{font-size:15px!important}}

/* The supplied RGBA art can carry a dark exported backdrop. Screen blending
   lets the transparent item art sit directly on the inventory without a box. */
.creator-card .catalog-item img{background:transparent!important;mix-blend-mode:normal!important;filter:none!important}

/* Header controls: My Games is an instant personal-game toggle beside Filter. */
.lobby-tools #myGames{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 18px!important;border:1px solid #625075!important;border-radius:6px!important;background:#17131d!important;color:#ded3eb!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.08em!important;cursor:pointer}.lobby-tools #myGames:hover{border-color:#a778ed!important;background:#21192b!important}.lobby-tools #myGames.active{border-color:#b579ff!important;background:#2b1d41!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(205,169,255,.2),0 0 16px rgba(140,79,224,.15)!important}
@media(min-width:901px){.balance{gap:10px!important}.balance small{font-size:11px!important;letter-spacing:.1em!important}.balance b{font-size:22px!important}.balance b em{width:24px!important;height:24px!important}.balance strong{width:30px!important;height:30px!important;font-size:22px!important}}

/* Completed-result ticker directly below the Open Games controls. */
.recent-flips{display:flex!important;align-items:center!important;gap:18px!important;min-height:42px!important;padding:0 18px!important;overflow-x:auto!important;border-bottom:1px solid #2a2731!important;background:linear-gradient(90deg,#111018,rgba(17,16,24,.68))!important;scrollbar-width:none!important}.recent-flips::-webkit-scrollbar{display:none}.recent-label{flex:0 0 auto!important;color:#a79ab8!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.12em!important}.recent-result{display:inline-flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;white-space:nowrap!important;color:#cfc5da!important}.recent-result i{display:grid!important;place-items:center!important;width:14px!important;color:#d9acff!important;font:900 14px/1 Space Grotesk,sans-serif!important;text-shadow:0 0 9px rgba(191,120,255,.45)!important}.recent-result:not(.featured) i{color:#71677c!important;font-size:12px!important;text-shadow:none!important}.recent-result b{font:800 10px/1 Space Grotesk,sans-serif!important;color:#dcd5e5!important}.recent-result small{font:700 9px/1 DM Mono,monospace!important;color:#958b9f!important}.recent-result em{display:inline-block!important;width:15px!important;height:15px!important;padding:0!important;border-radius:50%!important;background:url('assets/godlyflip-token.png') center/170% no-repeat!important;color:transparent!important;font-size:0!important;vertical-align:middle!important}.recent-result strong{color:#c693ff!important;font:800 12px/1 Space Grotesk,sans-serif!important;text-shadow:0 0 10px rgba(167,94,247,.2)!important}
@media(max-width:700px){.recent-flips{min-height:38px!important;padding:0 12px!important;gap:13px!important}.recent-label{font-size:8px!important}.recent-result b{font-size:9px!important}.recent-result small{font-size:8px!important}.recent-result strong{font-size:11px!important}}

/* Readable completed-flip strip, plus textual player ranks until rank art is supplied. */
.recent-flips{min-height:52px!important;gap:24px!important;padding:0 22px!important}.recent-label{font-size:11px!important}.recent-result{gap:8px!important}.recent-result i{width:18px!important;font-size:18px!important}.recent-result:not(.featured) i{font-size:15px!important}.recent-result b{font-size:13px!important}.recent-result small{font-size:11px!important}.recent-result em{width:19px!important;height:19px!important}.recent-result strong{font-size:16px!important}
.lobby .player>span,.lobby .live-match-player>span,.past-game .matchup-player>span{display:grid!important;align-content:center!important;gap:3px!important}.player-rank{display:block!important;margin:0!important;color:#cba2ff!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.075em!important;text-transform:uppercase!important;text-shadow:0 0 10px rgba(186,123,255,.18)!important}.player-rank[data-rank="rookie"]{color:#9db2d4!important}.player-rank[data-rank="prospect"]{color:#8cb8ff!important}.player-rank[data-rank="challenger"]{color:#86dfce!important}.player-rank[data-rank="contender"]{color:#caa0ff!important}.player-rank[data-rank="champion"]{color:#ffcc7e!important}.player-rank[data-rank="titan"]{color:#ff9dd6!important}.lobby .player>span>small:not(.player-rank),.lobby .live-match-player>span>small:not(.player-rank),.past-game .matchup-player>span>small:not(.player-rank){margin:0!important}
@media(max-width:700px){.recent-flips{min-height:46px!important;padding:0 14px!important;gap:16px!important}.recent-label{font-size:9px!important}.recent-result b{font-size:11px!important}.recent-result small{font-size:9px!important}.recent-result em{width:16px!important;height:16px!important}.recent-result strong{font-size:13px!important}.player-rank{font-size:8px!important}}

/* Header totals and match ranges need the same readable weight as the wallet. */
@media(min-width:901px){
  .live-total{min-height:38px!important;gap:10px!important;padding-left:17px!important;font-size:11px!important;letter-spacing:.11em!important}
  .live-total strong,.live-total strong b{font-size:24px!important;letter-spacing:-.04em!important}
  .live-total em{width:25px!important;height:25px!important;background-size:180%!important}
  .chance.join-range{gap:7px!important;min-height:64px!important}
  .chance.join-range>small{font-size:11px!important;letter-spacing:.11em!important;color:#d2bdeb!important;text-shadow:0 0 10px rgba(176,106,255,.18)!important}
  .chance.join-range b{font-size:22px!important;letter-spacing:-.045em!important;text-shadow:0 0 16px rgba(183,111,255,.3)!important}
  .account>span{display:grid!important;align-content:center!important;gap:3px!important;min-width:0!important}
  .account>span>b{display:block!important;color:#f1ecf7!important;font:800 15px/1 Space Grotesk,sans-serif!important;white-space:nowrap!important}
  .account small{display:block!important;margin:0!important;font:800 8px/1 DM Mono,monospace!important;letter-spacing:.1em!important}
  .account .account-rank{color:#ffcc7e!important;text-shadow:0 0 10px rgba(255,188,92,.17)!important}
  .account .account-level{color:#d8c7eb!important}
}
@media(max-width:900px){.account .account-rank{display:none!important}}

/* Recent finishes arrive with a soft live sweep: animated, but never a noisy marquee. */
@keyframes recent-reveal{0%{opacity:0;transform:translateY(7px);filter:blur(2px)}65%{opacity:1;transform:translateY(-1px);filter:blur(0)}100%{opacity:1;transform:translateY(0)}}
@keyframes recent-sheen{0%,18%{transform:translateX(-125%)}42%,100%{transform:translateX(125%)}}
@keyframes recent-spark{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.22);opacity:1}}
.recent-flips{position:relative!important;isolation:isolate!important}.recent-flips:after{content:'';position:absolute;z-index:-1;inset:0;width:38%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(183,119,255,.11),transparent);transform:translateX(-125%);animation:recent-sheen 8s cubic-bezier(.2,.8,.2,1) infinite!important}.recent-label,.recent-result{animation:recent-reveal .48s cubic-bezier(.2,.8,.2,1) both!important}.recent-result:nth-of-type(2){animation-delay:.1s!important}.recent-result:nth-of-type(3){animation-delay:.2s!important}.recent-result:nth-of-type(4){animation-delay:.3s!important}.recent-result.featured i{animation:recent-spark 2.7s ease-in-out infinite!important}

/* Zoom-safe desktop: once the side chat would squeeze the board, give the
   board the full row. This keeps all player, item, range, and action columns visible. */
@media(min-width:1151px) and (max-width:1420px){
  main{padding:0 clamp(18px,2.4vw,34px)!important}
  .workspace{max-width:none!important}
  .columns{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .game-list{min-width:0!important}
  .chat{grid-column:1!important;grid-row:auto!important;width:100%!important;height:420px!important;min-height:420px!important;margin:0!important}
  .labels,.lobby{grid-template-columns:minmax(300px,1.25fr) minmax(260px,1fr) 120px 150px 132px!important;gap:12px!important}
  .lobby{height:102px!important;padding:0 16px!important}
  .player{min-width:0!important}.live-match-player{min-width:0!important}.live-match-player>span{min-width:0!important}
  .lobby .offer img{width:62px!important;height:62px!important;margin-right:-28px!important}
  .lobby .pot{font-size:21px!important}.lobby .actions{gap:6px!important}.lobby .actions button{min-width:60px!important}
  .chance.join-range>small{font-size:10px!important}.chance.join-range b{font-size:20px!important}
}
@media(prefers-reduced-motion:reduce){.recent-flips:after,.recent-label,.recent-result,.recent-result.featured i{animation:none!important}}

/* A join range and live weighted odds are the same primary value treatment. */
@media(min-width:901px){.chance.join-range b,.lobby .chance.match-odds b{font-weight:700!important;font-size:22px!important}.lobby .chance.match-odds small{font-weight:700!important}}
@media(min-width:1151px) and (max-width:1420px){.chance.join-range b,.lobby .chance.match-odds b{font-size:20px!important}}

/* Keep Recent visibly alive: its glow exits before restarting, so the loop has no on-screen jump. */
@keyframes recent-live-sweep{0%{transform:translateX(-145%);opacity:0}7%{opacity:.9}93%{opacity:.9}100%{transform:translateX(420%);opacity:0}}
@keyframes recent-live-breathe{0%,100%{transform:translateY(0);color:#cfc5da}50%{transform:translateY(-2px);color:#f0e6fb}}
.recent-flips{overflow:hidden!important}.recent-flips:after{z-index:0!important;width:28%!important;background:linear-gradient(90deg,transparent,rgba(205,151,255,.24),rgba(205,151,255,.09),transparent)!important;animation:recent-live-sweep 5.8s linear infinite!important}.recent-label,.recent-result{position:relative!important;z-index:1!important}.recent-result{animation:recent-live-breathe 4.8s ease-in-out infinite!important}.recent-result:nth-of-type(2){animation-delay:.2s!important}.recent-result:nth-of-type(3){animation-delay:.8s!important}.recent-result:nth-of-type(4){animation-delay:1.4s!important}.recent-result small{font-size:13px!important;color:#beb3ca!important;font-weight:800!important;letter-spacing:.025em!important}
@media(max-width:700px){.recent-result small{font-size:10px!important}}

/* Real live ticker: repeated event groups cross the row in a seamless loop. */
@keyframes recent-ticker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-20%,0,0)}}
.recent-flips{gap:18px!important;overflow:hidden!important}.recent-flips:after{display:none!important}.recent-marquee{position:relative!important;flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)!important}.recent-track{display:flex!important;width:max-content!important;will-change:transform!important;animation:recent-ticker 28s linear infinite!important}.recent-cycle{display:flex!important;align-items:center!important;gap:28px!important;flex:0 0 auto!important;padding-right:28px!important}.recent-cycle .recent-result{animation:none!important;transform:none!important}.recent-marquee:hover .recent-track{animation-play-state:paused!important}.recent-result.featured i{animation:recent-spark 2.3s ease-in-out infinite!important}
@media(max-width:700px){.recent-flips{gap:12px!important}.recent-cycle{gap:18px!important;padding-right:18px!important}.recent-track{animation-duration:22s!important}}

/* GodlyFlip live-feed finish: each moving result is a lit event chip, not bare text. */
@keyframes recent-chip-float{0%,100%{transform:translateY(0);border-color:rgba(121,101,148,.44);box-shadow:inset 0 1px rgba(255,255,255,.035),0 0 0 rgba(168,96,255,0)}42%{transform:translateY(-3px);border-color:rgba(201,153,255,.8);box-shadow:inset 0 1px rgba(255,255,255,.12),0 0 18px rgba(163,92,255,.2)}}
@keyframes recent-chip-shine{0%,18%{transform:translateX(-180%);opacity:0}32%{opacity:.72}56%,100%{transform:translateX(360%);opacity:0}}
@keyframes recent-live-diamond{0%,100%{transform:rotate(0) scale(1);filter:drop-shadow(0 0 2px rgba(213,159,255,.2))}50%{transform:rotate(180deg) scale(1.22);filter:drop-shadow(0 0 9px rgba(213,159,255,.78))}}
.recent-flips{min-height:58px!important;padding:0 22px!important;background:linear-gradient(90deg,#111018 0%,#16111d 48%,#111018 100%)!important;border-bottom-color:#3c3149!important}.recent-label{display:inline-flex!important;align-items:center!important;gap:8px!important;color:#d3b1ff!important;font-size:11px!important;text-shadow:0 0 12px rgba(191,121,255,.32)!important}.recent-label:before{content:'✦';display:inline-grid;place-items:center;color:#d6aaff;font:900 16px/1 Space Grotesk,sans-serif;animation:recent-live-diamond 2.8s ease-in-out infinite!important}.recent-track{animation-duration:17s!important}.recent-cycle{gap:18px!important;padding-right:18px!important}.recent-cycle .recent-result{position:relative!important;display:inline-flex!important;min-height:36px!important;padding:0 12px!important;border:1px solid rgba(121,101,148,.44)!important;border-radius:7px!important;background:linear-gradient(135deg,rgba(43,34,56,.88),rgba(21,18,28,.96))!important;overflow:hidden!important;isolation:isolate!important;animation:recent-chip-float 3.9s ease-in-out infinite!important;animation-delay:var(--ticker-delay)!important}.recent-cycle .recent-result:after{content:'';position:absolute;z-index:-1;top:0;bottom:0;width:32%;background:linear-gradient(90deg,transparent,rgba(218,174,255,.45),transparent);transform:translateX(-180%);animation:recent-chip-shine 4.8s ease-in-out infinite!important;animation-delay:var(--ticker-delay)!important}.recent-cycle .recent-result.featured{border-color:rgba(194,142,255,.88)!important;background:linear-gradient(135deg,rgba(76,47,110,.76),rgba(29,20,40,.97))!important}.recent-cycle .recent-result b{font-size:14px!important;color:#f1eafa!important}.recent-cycle .recent-result small{font-size:12px!important;color:#d0c0df!important}.recent-cycle .recent-result strong{font-size:17px!important}.recent-cycle .recent-result em{width:20px!important;height:20px!important}.recent-cycle .recent-result i{width:16px!important;font-size:15px!important}.recent-cycle .recent-result.featured i{animation:recent-spark 1.8s ease-in-out infinite!important}
@media(max-width:700px){.recent-flips{min-height:50px!important;padding:0 13px!important}.recent-label:before{font-size:13px!important}.recent-cycle .recent-result{min-height:32px!important;padding:0 9px!important}.recent-cycle .recent-result b{font-size:11px!important}.recent-cycle .recent-result small{font-size:10px!important}.recent-cycle .recent-result strong{font-size:13px!important}.recent-cycle .recent-result em{width:16px!important;height:16px!important}}
.recent-cycle .recent-result>*{position:relative!important;z-index:1!important}.recent-cycle .recent-result:after{z-index:0!important}

/* Stable Recent cards: always active, but never sliding away like a plain marquee. */
@keyframes recent-aurora-drift{0%,100%{transform:translate3d(-12%,-10%,0) rotate(-6deg);opacity:.32}48%{transform:translate3d(108%,16%,0) rotate(8deg);opacity:.72}}
@keyframes recent-card-life{0%,100%{transform:translateY(0);border-color:rgba(128,105,157,.48);box-shadow:inset 0 1px rgba(255,255,255,.05),0 0 0 rgba(176,104,255,0)}46%{transform:translateY(calc(var(--lift) * -1));border-color:rgba(211,163,255,.84);box-shadow:inset 0 1px rgba(255,255,255,.15),0 0 22px rgba(172,97,255,.25)}}
@keyframes recent-entry{from{opacity:0;transform:translateY(11px) scale(.94);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes recent-exit{to{opacity:0;transform:translateY(-8px) scale(.96);filter:blur(3px)}}
.recent-flips{overflow:hidden!important;isolation:isolate!important}.recent-flips:after{display:block!important;z-index:0!important;width:42%!important;height:170%!important;top:-35%!important;bottom:auto!important;opacity:.58!important;background:radial-gradient(circle at 50% 50%,rgba(174,103,255,.19),rgba(109,68,189,.06) 46%,transparent 70%)!important;animation:recent-aurora-drift 13s ease-in-out infinite alternate!important}.recent-label,.recent-feed{position:relative!important;z-index:1!important}.recent-feed{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;flex:1 1 auto!important;overflow:hidden!important}.recent-feed .recent-result{position:relative!important;display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:38px!important;padding:0 14px!important;flex:0 1 auto!important;border:1px solid rgba(128,105,157,.48)!important;border-radius:8px!important;background:linear-gradient(135deg,rgba(47,37,62,.9),rgba(19,16,27,.97))!important;overflow:hidden!important;isolation:isolate!important;animation:recent-card-life var(--motion-duration) ease-in-out infinite!important;white-space:nowrap!important}.recent-feed .recent-result:after{content:''!important;position:absolute!important;z-index:0!important;inset:-25% auto -25% -30%!important;width:44%!important;background:linear-gradient(90deg,transparent,rgba(230,193,255,.5),rgba(181,113,255,.12),transparent)!important;animation:recent-aurora-drift var(--shine-duration) cubic-bezier(.32,.03,.2,1) infinite!important}.recent-feed .recent-result>*{position:relative!important;z-index:1!important}.recent-feed .recent-result b{font-size:14px!important}.recent-feed .recent-result small{font-size:14px!important;font-weight:800!important;color:#e3d6f1!important}.recent-feed .recent-result strong{font-size:18px!important}.recent-feed .recent-result em{width:21px!important;height:21px!important}.recent-feed .recent-result.is-entering{animation:recent-entry .56s cubic-bezier(.2,.9,.2,1) both!important}.recent-feed .recent-result.is-leaving{pointer-events:none!important;animation:recent-exit .5s ease-in both!important}.recent-feed .recent-result.featured{border-color:rgba(204,150,255,.9)!important;background:linear-gradient(135deg,rgba(87,54,125,.78),rgba(27,19,39,.98))!important}
@media(max-width:700px){.recent-feed{gap:8px!important;overflow-x:auto!important;scrollbar-width:none!important}.recent-feed::-webkit-scrollbar{display:none}.recent-feed .recent-result{min-height:32px!important;padding:0 9px!important;gap:5px!important}.recent-feed .recent-result b,.recent-feed .recent-result small{font-size:10px!important}.recent-feed .recent-result strong{font-size:13px!important}.recent-feed .recent-result em{width:16px!important;height:16px!important}}

/* Recent remains lively without boxing each win into a visible tile. */
@keyframes recent-text-life{0%,100%{transform:translateY(0);filter:brightness(1)}46%{transform:translateY(calc(var(--lift) * -1));filter:brightness(1.16) drop-shadow(0 0 8px rgba(187,116,255,.26))}}
.recent-feed .recent-result{padding:0 3px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;animation:recent-text-life var(--motion-duration) ease-in-out infinite!important}.recent-feed .recent-result:after{opacity:.56!important}.recent-feed .recent-result.featured{border:0!important;background:transparent!important}.recent-feed .recent-result.is-entering{animation:recent-entry .56s cubic-bezier(.2,.9,.2,1) both!important}.recent-feed .recent-result.is-leaving{animation:recent-exit .5s ease-in both!important}

/* Keep the single long ambient sweep; remove the short shine streak on each result. */
.recent-feed .recent-result:after{display:none!important}

/* Create Coinflip: selection has an intentional, compact confirmation rather
   than rebuilding the entire inventory grid. The range control keeps the 3%
   cap clear before the flip is opened. */
@keyframes catalog-select-confirm{0%{transform:scale(1);box-shadow:inset 0 0 0 1px rgba(182,122,255,.22),0 0 0 rgba(163,91,246,0)}48%{transform:scale(1.018);box-shadow:inset 0 0 0 1px rgba(190,136,255,.46),0 10px 24px rgba(156,83,239,.26)}100%{transform:scale(1);box-shadow:inset 0 0 0 1px rgba(182,122,255,.3),0 0 0 rgba(163,91,246,0)}}
@keyframes catalog-deselect-confirm{0%{transform:scale(1);opacity:1}48%{transform:scale(.992);opacity:.88}100%{transform:scale(1);opacity:1}}
.creator-card .catalog-item{will-change:transform,filter!important;transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease,transform .22s ease!important}.creator-card .catalog-item.is-selecting{animation:catalog-select-confirm .42s cubic-bezier(.2,.86,.24,1.2)!important}.creator-card .catalog-item.is-deselecting{animation:catalog-deselect-confirm .34s cubic-bezier(.2,.76,.28,1)!important}.creator-card .catalog-item.selected img{transform:scale(1.045) rotate(-1deg)!important;filter:drop-shadow(0 7px 9px rgba(179,102,255,.22))!important}.creator-card .catalog-item img{transition:transform .25s cubic-bezier(.2,.8,.2,1),filter .25s ease!important}
.creator-card .creator-total button#clearOffer{min-height:38px!important;padding:0 14px!important;border:1px solid #705b85!important;border-radius:5px!important;background:#211a2a!important;color:#e1cff7!important;font:800 13px/1 Space Grotesk,sans-serif!important;letter-spacing:.045em!important}.creator-card .creator-total button#clearOffer:hover{border-color:#b781ff!important;background:#2b2039!important;color:#fff!important}
.creator-settings{flex:0 0 auto!important;display:grid!important;gap:12px!important;margin-top:12px!important;padding:14px 16px!important;border:1px solid #3d3748!important;border-radius:7px!important;background:linear-gradient(135deg,rgba(34,27,43,.82),rgba(20,18,26,.94))!important}.creator-settings header,.creator-setting-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}.creator-settings header>div,.creator-setting-row>div:first-child{display:grid!important;gap:4px!important;min-width:0!important}.creator-settings header b,.creator-setting-row b{color:#eee5f7!important;font:800 11px/1 Space Grotesk,sans-serif!important;letter-spacing:.055em!important}.creator-settings header small,.creator-setting-row small{color:#a99db9!important;font:700 9px/1.25 DM Mono,monospace!important;letter-spacing:.045em!important}.creator-settings header>span{flex:0 0 auto!important;color:#cda9ff!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.07em!important}.tolerance-choices{display:grid!important;grid-template-columns:repeat(3,minmax(62px,1fr))!important;gap:6px!important;flex:0 0 auto!important}.tolerance-choices button{display:grid!important;justify-items:center!important;gap:3px!important;min-height:42px!important;padding:6px 9px!important;border:1px solid #51475d!important;border-radius:5px!important;background:#17131d!important;color:#c9bdd8!important;cursor:pointer!important;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease!important}.tolerance-choices button:hover{border-color:#9369c5!important;transform:translateY(-1px)!important}.tolerance-choices button.active{border-color:#b77cff!important;background:linear-gradient(135deg,rgba(133,75,214,.38),rgba(50,33,72,.84))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(216,183,255,.18),0 0 14px rgba(151,87,239,.13)!important}.tolerance-choices button b{font-size:12px!important;color:inherit!important}.tolerance-choices button small{font-size:8px!important;color:inherit!important;opacity:.78!important}.creator-match-preview{display:grid!important;grid-template-columns:auto auto minmax(0,1fr)!important;align-items:baseline!important;gap:9px!important;padding-top:11px!important;border-top:1px solid rgba(108,94,126,.42)!important}.creator-match-preview small{color:#bba5d8!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.07em!important}.creator-match-preview b{color:#f2eaff!important;font:800 17px/1 Space Grotesk,sans-serif!important;letter-spacing:-.035em!important;white-space:nowrap!important}.creator-match-preview span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#a99db9!important;font:700 9px/1 DM Mono,monospace!important;letter-spacing:.03em!important}
@media(max-width:700px){.creator-card .creator-total button#clearOffer{min-height:34px!important;padding:0 10px!important;font-size:11px!important}.creator-settings{gap:10px!important;margin-top:10px!important;padding:12px!important}.creator-settings header,.creator-setting-row{align-items:flex-start!important;flex-direction:column!important;gap:9px!important}.tolerance-choices{width:100%!important;grid-template-columns:repeat(3,1fr)!important}.creator-match-preview{grid-template-columns:1fr!important;gap:5px!important}.creator-match-preview span{white-space:normal!important}.creator-match-preview b{font-size:16px!important}}

/* Softer dark base, supplied rank crests, and a stable creator interaction. */
html,body,.app{background:#121118!important}
main{background:linear-gradient(180deg,#15131a 0%,#121118 34%,#121118 100%)!important}
header,.list-head,.labels{background:#17151e!important}
.game-list,.chat{background:#17151e!important}
#lobbyList,.past-games{background:#15131b!important}
.lobby,.past-game{background:#18161f!important}
.player-rank{display:inline-flex!important;align-items:center!important;gap:5px!important}
.player-rank .rank-icon{display:block!important;width:15px!important;height:15px!important;flex:0 0 15px!important;object-fit:contain!important;filter:drop-shadow(0 0 4px rgba(182,122,255,.28))!important}
.messages article>div>b{display:inline-flex!important;align-items:center!important;gap:5px!important}
.chat-rank-icon{display:inline-block!important;width:16px!important;height:16px!important;flex:0 0 16px!important;object-fit:contain!important;filter:drop-shadow(0 0 5px rgba(182,122,255,.28))!important}
.account .account-rank{display:inline-flex!important;align-items:center!important;gap:4px!important}
.account-rank-icon{display:block!important;width:13px!important;height:13px!important;object-fit:contain!important;filter:drop-shadow(0 0 4px rgba(255,203,126,.24))!important}
.creator-card .catalog-search:before{font-size:11px!important}
.creator-card .catalog-search small{font-size:11px!important;letter-spacing:.1em!important}
.creator-card .catalog-item:focus{outline:none!important}
.creator-card .catalog-item:focus-visible{outline:2px solid rgba(178,119,255,.84)!important;outline-offset:-2px!important}
.creator-card .catalog-item.selected{box-shadow:inset 0 0 0 1px rgba(181,121,255,.34),0 8px 20px rgba(143,75,222,.15)!important}
.creator-card .catalog-item.is-selecting,.creator-card .catalog-item.is-deselecting{filter:none!important}
.creator-card .catalog-item.selected img{filter:drop-shadow(0 7px 9px rgba(167,93,243,.24))!important}
.creator-card .creator-total em{width:31px!important;height:31px!important;margin-right:5px!important;background-size:178%!important;vertical-align:-9px!important}
.creator-card .creator-total button#clearOffer{font-size:14px!important;letter-spacing:.055em!important}

/* Rank marks are tiny inline identity accents, never second avatar tiles. */
.lobby .player .player-rank,.lobby .live-match-player .player-rank,.past-games-fixed .matchup-player .player-rank{display:inline-flex!important;align-items:center!important;align-self:start!important;gap:4px!important;min-width:0!important;max-width:100%!important;margin:1px 0 0!important;overflow:visible!important;white-space:nowrap!important;font-size:9px!important;line-height:1.1!important}
.lobby .player .player-rank img.rank-icon,.lobby .live-match-player .player-rank img.rank-icon,.past-games-fixed .matchup-player .player-rank img.rank-icon{display:inline-block!important;width:13px!important;height:13px!important;min-width:13px!important;max-width:13px!important;min-height:13px!important;max-height:13px!important;margin:0!important;padding:0!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 0 3px rgba(182,122,255,.28))!important}
.lobby .player>span,.lobby .live-match-player>span,.past-games-fixed .matchup-player>span{min-width:0!important;overflow:hidden!important}
.messages article>div>b{gap:4px!important;white-space:nowrap!important}
.messages article>div>b .chat-rank-icon{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;margin:0!important;padding:0!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 0 3px rgba(182,122,255,.25))!important}

/* Zoom-safe board: at tight desktop widths, keep the entire game row readable
   and move the full chat panel below it instead of allowing horizontal clipping. */
@media(min-width:1301px) and (max-width:1680px){
  .columns{grid-template-columns:minmax(0,1fr) 320px!important;gap:16px!important}
  .chat{width:auto!important}
  .labels,.lobby{grid-template-columns:minmax(330px,1.32fr) minmax(220px,1fr) 106px 126px 138px!important;column-gap:10px!important}
  .lobby{padding:0 15px!important}
  .lobby .player.matched{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 58px!important;column-gap:7px!important}
  .lobby .player.matched>.live-match-player{width:auto!important;max-width:none!important}
}
@media(min-width:901px) and (max-width:1300px){
  html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
  .app,main{height:auto!important;min-height:100dvh!important;overflow:visible!important}
  main{display:block!important;padding:0 18px!important}
  .workspace{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .page-title{height:74px!important;min-height:74px!important}
  .columns{display:grid!important;height:auto!important;overflow:visible!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto 500px!important;gap:16px!important}
  .game-list{grid-column:1!important;grid-row:1!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .chat{position:static!important;grid-column:1!important;grid-row:2!important;width:100%!important;height:500px!important;min-height:500px!important;max-height:none!important;overflow:hidden!important}
  .game-list .list-head{position:sticky!important;top:0!important;z-index:8!important}
  .game-list .labels{position:sticky!important;top:61px!important;z-index:7!important}
  .labels,.lobby{grid-template-columns:minmax(360px,1.45fr) minmax(180px,.95fr) 100px 125px 138px!important;column-gap:10px!important}
  .lobby{height:92px!important;padding:0 15px!important}
  .lobby .player.matched{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 56px!important;column-gap:7px!important}
  .lobby .player.matched>.live-match-player{width:auto!important;max-width:none!important}
  .lobby .player>img,.lobby .live-match-player>img{width:42px!important;height:42px!important}
  .lobby .offer img{width:58px!important;height:58px!important}
}

/* Final zoom guardrail.  Do not give the player lane fixed pixel cards at
   zoomed desktop sizes: every column flexes together and remains inside the
   game board.  The player identity is deliberately the flexible lane, so
   its name/rank/level can shorten before the outcome, pot, or actions move. */
@media(min-width:1301px) and (max-width:1680px){
  .labels,.lobby{
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(78px,.43fr) minmax(108px,.7fr) minmax(124px,.72fr)!important;
    gap:10px!important;
  }
  .lobby .player.matched{
    grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 54px!important;
    gap:6px!important;
  }
  .lobby .player.matched>.match-status{left:0!important}
}
@media(min-width:901px) and (max-width:1300px){
  .labels,.lobby{
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(58px,.42fr) minmax(100px,.68fr) minmax(116px,.72fr)!important;
    gap:8px!important;
  }
  .lobby .player.matched{
    grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 50px!important;
    gap:5px!important;
  }
  .lobby .player.matched>.match-status{left:0!important}
  .lobby .player>img,.lobby .player.matched>.live-match-player>img{width:36px!important;height:36px!important}
  .lobby .player b,.lobby .player.matched>.live-match-player b{font-size:14px!important}
  .lobby .player small,.lobby .player.matched>.live-match-player small{font-size:10px!important}
  .lobby .offer img{width:50px!important;height:50px!important;margin-right:-22px!important}
  .lobby .pot{font-size:18px!important;grid-template-columns:22px minmax(0,1fr)!important}
  .lobby .pot em{width:21px!important;height:21px!important}
  .lobby .actions{gap:5px!important}
  .lobby .actions button{min-width:52px!important;padding:9px 6px!important}

  .past-games-fixed .past-game{
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(84px,.56fr) minmax(102px,.68fr) minmax(88px,.52fr)!important;
    gap:8px!important;
    min-height:90px!important;
    height:90px!important;
    padding:0 15px!important;
  }
  .past-games-fixed .past-game>.matchup{
    grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 52px!important;
    gap:5px!important;
    width:100%!important;
  }
  .past-games-fixed .past-game .matchup-player{width:auto!important;max-width:none!important;min-width:0!important}
  .past-games-fixed .past-game .matchup-player img{width:40px!important;height:40px!important}
  .past-games-fixed .past-game .matchup-player b{font-size:14px!important}
  .past-games-fixed .past-game .matchup-player small{font-size:10px!important}
  .past-games-fixed .past-game .matchup>.outcome{left:0!important;width:52px!important;min-width:52px!important}
  .past-games-fixed .past-game .matchup>.outcome>img{width:38px!important;height:38px!important}
  .past-games-fixed .past-game>.past-offer img{width:44px!important;height:44px!important}
  .past-games-fixed .past-game>.past-pot-value{font-size:18px!important;grid-template-columns:22px minmax(0,1fr)!important;padding-top:0!important}
  .past-games-fixed .past-game>.past-pot-value em{width:21px!important;height:21px!important}
  .past-games-fixed .past-game>.history-chance b{font-size:15px!important}
  .past-games-fixed .past-game>.history-chance small{font-size:7px!important}
  .past-games-fixed .past-game>.past-view{min-width:52px!important;min-height:34px!important}
  .past-games-fixed .past-game>.expiry{display:block!important;margin:0 0 8px!important;font-size:7px!important}
}

/* The rank is metadata beside the identity, never a second profile card. */
.lobby .player>span>.player-rank,
.lobby .live-match-player>span>.player-rank,
.past-games-fixed .matchup-player>span>.player-rank{
  display:flex!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  height:14px!important;
  min-height:14px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font:800 9px/14px DM Mono,monospace!important;
  letter-spacing:.04em!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.lobby .player>span>.player-rank .rank-icon,
.lobby .live-match-player>span>.player-rank .rank-icon,
.past-games-fixed .matchup-player>span>.player-rank .rank-icon{
  display:block!important;
  flex:0 0 13px!important;
  width:13px!important;
  height:13px!important;
  min-width:13px!important;
  min-height:13px!important;
  max-width:13px!important;
  max-height:13px!important;
  margin:0 4px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  transform:none!important;
}

/* Rank art belongs on the username line.  There is no standalone rank card
   or written rank label in a game row; the full title remains in the tooltip. */
.lobby .player>span>b.has-rank-icon,
.lobby .live-match-player>span>b.has-rank-icon,
.past-games-fixed .matchup-player>span>b.has-rank-icon{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.lobby .player>span>b.has-rank-icon>.identity-name,
.lobby .live-match-player>span>b.has-rank-icon>.identity-name,
.past-games-fixed .matchup-player>span>b.has-rank-icon>.identity-name{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.lobby .player>span>b.has-rank-icon>.rank-icon,
.lobby .live-match-player>span>b.has-rank-icon>.rank-icon,
.past-games-fixed .matchup-player>span>b.has-rank-icon>.rank-icon{
  display:block!important;
  flex:0 0 19px!important;
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  min-height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  transform:none!important;
}
.messages article>div>b .chat-rank-icon{order:2!important;width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;margin-left:3px!important;margin-right:0!important}

/* Keep the Create Coinflip total as one atomic value.  Clearing an offer must
   never let the token drop onto its own line or detach from the amount. */
.creator-card .creator-total{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content max-content!important;
  align-items:center!important;
  gap:12px!important;
}
.creator-card .creator-total>span{min-width:0!important}
.creator-card .creator-total>b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  margin:0!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.creator-card .creator-total>b em{
  display:block!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  vertical-align:0!important;
}
.creator-card .creator-total>b strong{display:block!important;line-height:1!important}
.creator-card .creator-total #clearOffer{margin:0!important;white-space:nowrap!important}

/* Final Create Coinflip summary: the token and amount are a dedicated flex
   unit, so their alignment is independent of every legacy b/em rule. */
.creator-card .creator-total{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
.creator-card .creator-total>#selectionCount{flex:1 1 auto!important;min-width:0!important}
.creator-card .creator-total>.creator-amount{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  color:#c693ff!important;
  font:800 26px/1 Space Grotesk,sans-serif!important;
}
.creator-card .creator-total>.creator-amount em{
  display:block!important;
  flex:0 0 29px!important;
  width:29px!important;
  height:29px!important;
  margin:0!important;
  padding:0!important;
  vertical-align:0!important;
}
.creator-card .creator-total>.creator-amount strong{display:block!important;margin:0!important;line-height:1!important}
.creator-card .creator-total>#clearOffer{flex:0 0 auto!important;margin:0!important}

/* Inventory card controls: six readable cards on a wide picker, plus a real
   sort control alongside search.  The idle treatment has depth without
   putting a fake background behind the transparent item art. */
.creator-card .catalog-search{display:grid!important;gap:9px!important}
.creator-card .catalog-search-controls{display:grid!important;grid-template-columns:minmax(0,1fr) 180px!important;gap:10px!important;align-items:center!important}
.creator-card .catalog-search-controls input,.creator-card .catalog-search-controls select{
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  border:1px solid #554b62!important;
  border-radius:5px!important;
  background:#0e0d12!important;
  color:#f4eff9!important;
  padding:0 14px!important;
  font:700 13px Space Grotesk,sans-serif!important;
  outline:0!important;
}
.creator-card .catalog-search-controls select{cursor:pointer!important;appearance:auto!important}
.creator-card .catalog-search-controls input:focus,.creator-card .catalog-search-controls select:focus{border-color:#b97eff!important;box-shadow:0 0 0 3px rgba(175,111,248,.14)!important}
@media(min-width:901px){
  .creator-card{width:min(1380px,calc(100vw - 34px))!important}
  .creator-card .catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:198px!important;gap:12px!important;padding:15px!important}
  .creator-card .catalog-item{
    min-height:198px!important;
    height:198px!important;
    grid-template-rows:116px 38px 20px!important;
    gap:5px!important;
    padding:11px!important;
    border:1px solid rgba(119,103,140,.55)!important;
    border-radius:8px!important;
    background:radial-gradient(circle at 50% 0,rgba(167,103,255,.12),transparent 52%),linear-gradient(145deg,rgba(31,27,38,.98),rgba(20,18,25,.98))!important;
    box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 20px rgba(0,0,0,.12)!important;
    isolation:isolate!important;
    transform:translateZ(0)!important;
  }
  .creator-card .catalog-item::before{content:''!important;position:absolute!important;inset:1px!important;z-index:-1!important;border-radius:7px!important;background:linear-gradient(135deg,rgba(220,192,255,.06),transparent 35%,rgba(90,49,150,.08))!important;opacity:.9!important;transition:opacity .22s ease!important}
  .creator-card .catalog-item::after{content:''!important;position:absolute!important;inset:-45% -70%!important;z-index:-1!important;background:linear-gradient(105deg,transparent 44%,rgba(239,222,255,.12) 50%,transparent 56%)!important;transform:translateX(-42%) rotate(10deg)!important;transition:transform .62s cubic-bezier(.2,.7,.2,1)!important}
  .creator-card .catalog-item:hover{border-color:#b17be9!important;background:radial-gradient(circle at 50% 0,rgba(188,119,255,.2),transparent 52%),linear-gradient(145deg,rgba(39,31,50,.99),rgba(22,18,30,.99))!important;box-shadow:inset 0 0 0 1px rgba(219,190,255,.12),0 15px 25px rgba(0,0,0,.2),0 0 20px rgba(139,79,220,.12)!important;transform:translateY(-3px)!important}
  .creator-card .catalog-item:hover::after{transform:translateX(42%) rotate(10deg)!important}
  .creator-card .catalog-item.selected{border-color:#c194ff!important;background:radial-gradient(circle at 50% 0,rgba(194,125,255,.3),transparent 55%),linear-gradient(145deg,rgba(62,38,91,.97),rgba(27,20,39,.99))!important;box-shadow:inset 0 0 0 1px rgba(230,209,255,.3),0 14px 28px rgba(137,73,224,.22)!important}
  .creator-card .catalog-item img{width:112px!important;height:112px!important;filter:drop-shadow(0 12px 9px rgba(0,0,0,.28))!important}
  .creator-card .catalog-item>span b{font-size:14px!important}
  .creator-card .catalog-item>strong{font-size:14px!important}
}
@keyframes catalog-card-pick{0%{transform:scale(1)}42%{transform:scale(1.035) translateY(-2px)}100%{transform:scale(1)}}
.creator-card .catalog-item.is-selecting{animation:catalog-card-pick .42s cubic-bezier(.18,.84,.22,1.15)!important}

/* Coin-side selection lives with the value tolerance, keeping the creator
   setup clear before the final Create Coinflip action. */
.creator-side-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
.creator-side-row>div:first-child{display:grid!important;gap:4px!important;min-width:0!important}
.creator-side-row b{color:#eee5f7!important;font:800 11px/1 Space Grotesk,sans-serif!important;letter-spacing:.055em!important}
.creator-side-row small{color:#a99db9!important;font:700 9px/1.25 DM Mono,monospace!important;letter-spacing:.045em!important}
.side-choices{display:grid!important;grid-template-columns:repeat(2,minmax(82px,1fr))!important;gap:6px!important;flex:0 0 auto!important}
.side-choices button{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:42px!important;padding:6px 10px!important;border:1px solid #51475d!important;border-radius:5px!important;background:#17131d!important;color:#d7cce6!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.06em!important;cursor:pointer!important;transition:border-color .18s ease,background .18s ease,transform .18s ease!important}
.side-choices button:hover{border-color:#956cc8!important;transform:translateY(-1px)!important}.side-choices button.active{border-color:#bb82ff!important;background:#2b1e41!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(225,201,255,.18),0 0 14px rgba(151,87,239,.13)!important}
.side-choices img{width:24px!important;height:24px!important;object-fit:contain!important;background:transparent!important}

/* Zoom-safe player lanes. Both identities remain visible, VS stays between
   them, and the Open/result lane stops drifting toward the weapon column. */
@media(min-width:901px) and (max-width:1680px){
  .labels,.lobby{grid-template-columns:minmax(0,1.62fr) minmax(0,.7fr) minmax(64px,.4fr) minmax(110px,.62fr) minmax(108px,.56fr)!important;gap:9px!important}
  .lobby{height:104px!important;padding:0 14px!important}
  .lobby .player.matched{display:grid!important;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 62px!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important}
  .lobby .player.matched>.live-match-player{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-width:0!important;width:auto!important;max-width:none!important;margin:0!important;padding:3px 0!important}
  .lobby .player.matched>.live-match-player>img{grid-column:1!important;width:48px!important;height:48px!important}
  .lobby .player.matched>.live-match-player>span{grid-column:2!important;display:grid!important;gap:3px!important;min-width:0!important;width:100%!important;overflow:hidden!important}
  .lobby .player.matched>.live-match-player>span>b{min-width:0!important;width:100%!important;overflow:hidden!important}
  .lobby .player.matched>.live-match-player>span>b .identity-name{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .lobby .player.matched>.live-match-player>span>small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .lobby .player.matched>i{grid-column:2!important;justify-self:center!important;font-size:13px!important}
  .lobby .player.matched>.live-match-player:first-child{grid-column:1!important;justify-self:stretch!important}
  .lobby .player.matched>.live-match-player.opponent{grid-column:3!important;justify-self:stretch!important}
  .lobby .player.matched>.match-status,.lobby .player.matched>.match-status.result{grid-column:4!important;position:static!important;left:auto!important;justify-self:center!important;place-self:center!important;width:62px!important;min-width:62px!important;height:60px!important;margin:0!important}
  .lobby .player.matched>.match-status.result{display:grid!important;grid-template-rows:12px 46px!important;justify-items:center!important;align-content:center!important;gap:2px!important}
  .lobby .player.matched>.match-status.result .match-result-icon{width:46px!important;height:46px!important}
  .lobby .player:not(.matched)>strong{position:static!important;left:auto!important;justify-self:center!important}
  .past-games-fixed .past-game>.matchup{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 62px!important;gap:8px!important}
  .past-games-fixed .past-game .matchup-player{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:8px!important;min-width:0!important;width:auto!important;max-width:none!important}
  .past-games-fixed .past-game .matchup-player>img{width:48px!important;height:48px!important}.past-games-fixed .past-game .matchup-player>span{min-width:0!important;overflow:hidden!important}.past-games-fixed .past-game .matchup-player>span>b{min-width:0!important;overflow:hidden!important}.past-games-fixed .past-game .matchup-player>span>b .identity-name{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .past-games-fixed .past-game .versus{font-size:13px!important}.past-games-fixed .past-game .matchup>.outcome{position:static!important;left:auto!important;justify-self:center!important;width:62px!important;min-width:62px!important}.past-games-fixed .past-game .matchup>.outcome>img{width:46px!important;height:46px!important}
}
@media(max-width:900px){
  .creator-card .catalog-search-controls{grid-template-columns:1fr!important}
  .creator-card .creator-total{gap:9px!important}.creator-card .creator-total>.creator-amount{font-size:22px!important}.creator-card .creator-total>.creator-amount em{flex-basis:24px!important;width:24px!important;height:24px!important}
  .creator-side-row{align-items:flex-start!important;flex-direction:column!important;gap:9px!important}.side-choices{width:100%!important}
}

/* The board header is a proper set of large dashboard sections rather than
   two small clusters separated by unused space.  The roomy treatment stays
   desktop-only so zoomed and tablet layouts can continue to condense safely. */
@media(min-width:1151px){
  .game-list .list-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 270px!important;
    align-items:stretch!important;
    gap:0!important;
    height:106px!important;
    min-height:106px!important;
    padding:0!important;
    overflow:hidden!important;
    background:linear-gradient(105deg,#1a1821 0%,#17151e 52%,#15131c 100%)!important;
  }
  .game-list .lobby-heading{
    display:grid!important;
    grid-template-columns:1.04fr .95fr 1.24fr 1.34fr!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    min-height:106px!important;
    height:106px!important;
    gap:0!important;
  }
  .game-list .lobby-heading>b,
  .game-list .lobby-heading>#lobbyCount,
  .game-list .lobby-heading>.live-total,
  .game-list .lobby-heading>.create-open{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    min-height:106px!important;
    height:106px!important;
    margin:0!important;
    border-right:1px solid rgba(130,116,153,.27)!important;
  }
  .game-list .lobby-heading>b{
    justify-content:flex-start!important;
    padding:0 clamp(22px,2vw,34px)!important;
    color:#f5f0fa!important;
    font:800 clamp(16px,1.05vw,20px)/1 Space Grotesk,sans-serif!important;
    letter-spacing:-.035em!important;
    white-space:nowrap!important;
  }
  .game-list .lobby-heading>#lobbyCount{
    justify-content:center!important;
    padding:0 22px!important;
    color:#e5ddec!important;
    font:800 clamp(14px,.94vw,17px)/1 Space Grotesk,sans-serif!important;
    letter-spacing:-.02em!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  .game-list .lobby-heading>.live-total{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    justify-content:start!important;
    align-content:center!important;
    column-gap:13px!important;
    padding:0 clamp(22px,2vw,36px)!important;
    border-left:0!important;
    color:#cfc3dc!important;
    font:800 clamp(10px,.67vw,12px)/1 DM Mono,monospace!important;
    letter-spacing:.11em!important;
    white-space:nowrap!important;
  }
  .game-list .lobby-heading>.live-total strong{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    min-width:0!important;
    color:#cf9bff!important;
    font:800 clamp(24px,1.75vw,31px)/1 Space Grotesk,sans-serif!important;
    letter-spacing:-.055em!important;
    text-shadow:0 0 18px rgba(185,107,255,.27)!important;
  }
  .game-list .lobby-heading>.live-total strong em{width:27px!important;height:27px!important;flex:0 0 27px!important}
  .game-list .lobby-heading>.create-open{
    justify-content:center!important;
    align-self:stretch!important;
    min-height:106px!important;
    padding:0 clamp(22px,2.4vw,42px)!important;
    border-top:0!important;
    border-bottom:0!important;
    border-radius:0!important;
    background:radial-gradient(circle at 50% 50%,rgba(151,91,232,.17),transparent 62%),#191620!important;
    color:#f3edf9!important;
    font:800 clamp(12px,.78vw,15px)/1 DM Mono,monospace!important;
    letter-spacing:.055em!important;
    box-shadow:inset 0 0 0 1px rgba(198,152,255,.045)!important;
    white-space:nowrap!important;
  }
  .game-list .lobby-heading>.create-open:before{width:23px!important;height:23px!important;font-size:21px!important;line-height:20px!important}
  .game-list .lobby-heading>.create-open:hover{background:radial-gradient(circle at 50% 50%,rgba(169,104,255,.27),transparent 65%),#211a2d!important;transform:none!important}
  .game-list .lobby-tools{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    width:270px!important;
    min-height:106px!important;
    height:106px!important;
    margin:0!important;
    gap:0!important;
  }
  .game-list .lobby-tools #myGames,
  .game-list .lobby-tools #openFilters{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:106px!important;
    height:106px!important;
    margin:0!important;
    padding:0 14px!important;
    border:0!important;
    border-left:1px solid rgba(130,116,153,.27)!important;
    border-radius:0!important;
    background:#17151e!important;
    box-shadow:none!important;
    color:#ddd3e9!important;
    font:800 11px/1 DM Mono,monospace!important;
    letter-spacing:.095em!important;
    white-space:nowrap!important;
  }
  .game-list .lobby-tools #myGames:hover,
  .game-list .lobby-tools #openFilters:hover{background:#211b2b!important;color:#fff!important}
  .game-list .lobby-tools #myGames.active{background:#271d37!important;color:#fff!important;box-shadow:inset 0 -3px #b57dff!important}
  .game-list .lobby-tools #openFilters{border-right:1px solid rgba(130,116,153,.27)!important;color:#e9dcfa!important}
  .game-list .labels{top:106px!important}
}

/* Refine the expanded desktop bar: preserve the original compact height and
   let the sections use the width as a clean stats rail, not oversized tiles. */
@media(min-width:1151px){
  .game-list .list-head{
    grid-template-columns:minmax(0,1fr) 246px!important;
    height:82px!important;
    min-height:82px!important;
    background:#17151e!important;
  }
  .game-list .lobby-heading{
    grid-template-columns:1.08fr .94fr 1.22fr 1.32fr!important;
    min-height:82px!important;
    height:82px!important;
  }
  .game-list .lobby-heading>b,
  .game-list .lobby-heading>#lobbyCount,
  .game-list .lobby-heading>.live-total{
    min-height:82px!important;
    height:82px!important;
    border-right-color:rgba(116,103,135,.22)!important;
  }
  .game-list .lobby-heading>b{
    padding:0 clamp(20px,1.7vw,30px)!important;
    font-size:17px!important;
  }
  .game-list .lobby-heading>#lobbyCount{
    justify-content:flex-start!important;
    padding:0 clamp(19px,1.6vw,28px)!important;
    font-size:14px!important;
    text-align:left!important;
  }
  .game-list .lobby-heading>.live-total{
    column-gap:10px!important;
    padding:0 clamp(19px,1.7vw,30px)!important;
    font-size:10px!important;
  }
  .game-list .lobby-heading>.live-total strong{gap:6px!important;font-size:24px!important}
  .game-list .lobby-heading>.live-total strong em{width:24px!important;height:24px!important;flex-basis:24px!important}
  .game-list .lobby-heading>.create-open{
    align-self:center!important;
    justify-self:stretch!important;
    min-height:46px!important;
    height:46px!important;
    margin:0 clamp(16px,1.8vw,30px)!important;
    padding:0 18px!important;
    border:1px solid #986bd3!important;
    border-radius:6px!important;
    background:#1c1725!important;
    box-shadow:inset 0 0 0 1px rgba(199,155,255,.1)!important;
    font-size:11px!important;
  }
  .game-list .lobby-heading>.create-open:hover{background:#261d33!important}
  .game-list .lobby-tools{
    width:246px!important;
    min-height:82px!important;
    height:82px!important;
  }
  .game-list .lobby-tools #myGames,
  .game-list .lobby-tools #openFilters{
    align-self:center!important;
    min-height:46px!important;
    height:46px!important;
    margin:0 8px!important;
    padding:0 12px!important;
    border:1px solid #725388!important;
    border-radius:6px!important;
    background:#1b1721!important;
    font-size:10px!important;
  }
  .game-list .lobby-tools #myGames{margin-left:13px!important}
  .game-list .lobby-tools #openFilters{margin-right:13px!important}
  .game-list .lobby-tools #myGames:hover,
  .game-list .lobby-tools #openFilters:hover{background:#251c30!important}
  .game-list .labels{top:82px!important}
}

/* Total Open reads as one balanced, high-value stat rather than a tiny label
   beside an oversized figure. */
@media(min-width:1151px){
  .game-list .lobby-heading>.live-total{
    column-gap:12px!important;
    font-size:12px!important;
    letter-spacing:.105em!important;
  }
  .game-list .lobby-heading>.live-total strong{gap:7px!important;font-size:28px!important}
  .game-list .lobby-heading>.live-total strong em{width:27px!important;height:27px!important;flex-basis:27px!important}
}

/* Inventory controls make the ordering explicit and provide a practical
   all-items / weapons / pets view without changing selection state. */
.creator-card .catalog-search-controls{grid-template-columns:minmax(0,1fr) 190px 142px!important;align-items:end!important}
.creator-card .catalog-control{display:grid!important;gap:6px!important;min-width:0!important}
.creator-card .catalog-control>small{margin:0!important;color:#bfa9d7!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.1em!important}
.creator-card .catalog-control select{width:100%!important;min-width:0!important}
@media(max-width:900px){.creator-card .catalog-search-controls{grid-template-columns:1fr 1fr!important}.creator-card .catalog-search-controls>input{grid-column:1/-1!important}.creator-card .catalog-control{width:100%!important}}
@media(max-width:520px){.creator-card .catalog-search-controls{grid-template-columns:1fr!important}.creator-card .catalog-search-controls>input{grid-column:auto!important}}

/* The selector controls live in their own visible bar above the card gallery.
   This styles both the enhanced inventory picker and its resilient fallback. */
.creator-card .catalog-search-controls{display:block!important}
.creator-card .catalog-search-controls input{display:block!important;width:100%!important}
.creator-card .catalog-toolbar{
  display:grid!important;
  grid-template-columns:minmax(196px,1fr) minmax(150px,.7fr)!important;
  gap:12px!important;
  align-items:end!important;
  padding:12px 18px!important;
  border-top:1px solid rgba(122,105,146,.38)!important;
  border-bottom:1px solid rgba(122,105,146,.5)!important;
  background:linear-gradient(90deg,rgba(31,26,42,.96),rgba(23,20,31,.96))!important;
}
.creator-card .catalog-toolbar::before{
  content:'SORT & FILTER'!important;
  grid-column:1/-1!important;
  color:#caa4ff!important;
  font:800 10px/1 DM Mono,monospace!important;
  letter-spacing:.13em!important;
}
.creator-card .catalog-toolbar .catalog-control{display:grid!important;gap:7px!important;min-width:0!important}
.creator-card .catalog-toolbar .catalog-control>small{margin:0!important;color:#d7c9e9!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.1em!important}
.creator-card .catalog-toolbar select{
  width:100%!important;
  min-width:0!important;
  height:43px!important;
  border:1px solid #68507f!important;
  border-radius:5px!important;
  background:#0e0d12!important;
  color:#f7f0ff!important;
  padding:0 13px!important;
  font:700 13px Space Grotesk,sans-serif!important;
  cursor:pointer!important;
}
.creator-card .catalog-toolbar select:focus{border-color:#c68aff!important;box-shadow:0 0 0 3px rgba(175,111,248,.14)!important;outline:0!important}
@media(max-width:620px){.creator-card .catalog-toolbar{grid-template-columns:1fr!important;padding:12px!important}}

/* The compact header's Create control should sit just inside the stat rail,
   rather than looking taller than the two adjacent header stats. */
@media(min-width:1151px){
  .game-list .lobby-heading>.create-open{min-height:42px!important;height:42px!important}
}

/* Final surface polish: Open and Past rows share the same softer charcoal.
   Outcome/winner accents still layer on top of this common base. */
:root{--bg:#0c0b10!important;--panel:#121117!important;--line:#2b2732!important}
html,body{background:#0c0b10!important}
.game-list,.chat{background:#121117!important}
.lobby:not(.flip-complete),.past-games-fixed .past-game,#pastGames .past-game{background:#121117!important}

/* The creator arrow is a real forward action, not a tiny glyph. */
.creator-card .create-submit>b{display:inline-grid!important;place-items:center!important;min-width:31px!important;font:700 25px/1 Arial,sans-serif!important;transform:translateY(-1px)!important}

/* Only chat identities open profiles; messages themselves remain normal text. */
.messages .chat-profile-hitbox{cursor:pointer!important;outline:0!important}
.messages img.chat-profile-hitbox{transition:filter .16s ease,transform .16s ease!important}
.messages img.chat-profile-hitbox:hover,.messages img.chat-profile-hitbox:focus-visible{filter:brightness(1.22) drop-shadow(0 0 8px rgba(179,109,255,.46))!important;transform:translateY(-1px)!important}
.messages b.chat-profile-hitbox{transition:color .16s ease,text-shadow .16s ease!important}
.messages b.chat-profile-hitbox:hover,.messages b.chat-profile-hitbox:focus-visible,.recent-profile-hitbox:hover,.recent-profile-hitbox:focus-visible{color:#f0dcff!important;text-shadow:0 0 11px rgba(188,113,255,.45)!important;outline:0!important}
.recent-profile-hitbox{cursor:pointer!important}

/* Authored 60fps flip video, shown only after the neutral countdown. */
.flip-coin{position:relative!important;overflow:visible!important}
.premium-flip-media{position:absolute!important;inset:50% auto auto 50%!important;display:block!important;width:112px!important;height:112px!important;max-width:none!important;margin:-56px 0 0 -56px!important;opacity:0!important;pointer-events:none!important;object-fit:contain!important;background:transparent!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.46))!important;transform:scale(.93)!important;transition:opacity .2s ease,transform .22s cubic-bezier(.2,.85,.25,1)!important}
.flip-coin.premium-spin{opacity:1!important;transform:none!important;animation:none!important}
.flip-coin.premium-spin .coin-sides{opacity:0!important;animation:none!important}
.flip-coin.premium-spin .premium-flip-media{opacity:1!important;transform:scale(1)!important}
.flip-coin.premium-outro .premium-flip-media{opacity:0!important;transform:scale(1.035)!important;transition-duration:.26s!important}
.flip-coin.landed .premium-flip-media{display:none!important}
@media(max-width:700px){.premium-flip-media{width:96px!important;height:96px!important;margin:-48px 0 0 -48px!important}}

/* Match the prominent submit control with a label that is equally easy to
   scan; the arrow remains a separate, clear forward affordance. */
.creator-card .create-submit{font-size:15px!important;letter-spacing:.05em!important}
.creator-card .create-submit>b{font-size:28px!important}
@media(max-width:700px){.creator-card .create-submit{font-size:13px!important}.creator-card .create-submit>b{font-size:24px!important}}

/* Keep the primary label centred in the entire action bar; the arrow is a
   separate edge affordance rather than part of the label's layout. */
.creator-card .create-submit{position:relative!important;display:block!important;text-align:center!important;padding:0 74px!important}
.creator-card .create-submit>b{position:absolute!important;right:30px!important;top:50%!important;transform:translateY(-52%)!important}
@media(max-width:700px){.creator-card .create-submit{padding:0 58px!important}.creator-card .create-submit>b{right:20px!important}}

/* The row's View action is always above player/status layers and remains a
   clear pointer target at every responsive layout. */
.lobby .actions{position:relative!important;z-index:20!important;pointer-events:auto!important}
.lobby .actions .view{position:relative!important;z-index:21!important;pointer-events:auto!important;cursor:pointer!important}

/* Viewer safety layer: it stays above the fixed chat and any list overlay. */
#viewer.modal.show{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:1000!important}

/* Replay actions have the same visual weight. */
.viewer-card #viewerJoin,.viewer-card #fairnessButton{min-height:46px!important;font:800 12px/1 DM Mono,monospace!important;letter-spacing:.11em!important}

/* Real two-sided fallback when a browser cannot decode the supplied WebM. */
.flip-coin.safety-spin{animation:none!important}
.flip-coin.safety-spin .coin-sides{display:block!important;animation:godlyflip-safe-toss .14s linear infinite!important}
.flip-coin.safety-spin .premium-flip-media{display:none!important}
@keyframes godlyflip-safe-toss{from{transform:rotateY(0deg) scale(.94)}to{transform:rotateY(1440deg) scale(.94)}}

/* A View should make both competitors instantly readable.  The wider cards
   give names, avatars, and picked sides their own clear visual space. */
.viewer-card{width:min(760px,calc(100vw - 28px))!important}
.viewer-card .replay-players{grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr)!important;gap:16px!important;margin:20px 0 16px!important}
.viewer-card .replay-players>strong{display:grid!important;place-items:center!important;min-width:62px!important;color:#bba7d7!important;font:800 13px/1 DM Mono,monospace!important;letter-spacing:.11em!important;text-shadow:0 0 12px rgba(183,121,255,.24)!important}
.viewer-card .replay-player{grid-template-columns:58px minmax(0,1fr) 46px!important;grid-template-rows:1fr!important;min-height:78px!important;padding:11px 15px!important;gap:0 12px!important;border-color:#40374b!important;background:linear-gradient(135deg,#18151e,#111015)!important}
.viewer-card .replay-player>img{grid-column:1!important;grid-row:1!important;width:56px!important;height:56px!important;padding:4px!important;border-color:#4b3d5b!important;background:#241d30!important}
.viewer-card .replay-player b{grid-column:2!important;grid-row:1!important;align-self:center!important;font-size:17px!important;letter-spacing:-.01em!important}
.viewer-card .replay-player small{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important}
.viewer-card .replay-player small img{width:40px!important;height:40px!important;filter:drop-shadow(0 0 9px rgba(138,95,255,.28))!important}
@media(max-width:700px){.viewer-card{width:min(650px,calc(100vw - 20px))!important}.viewer-card .replay-players{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)!important;gap:8px!important;margin:15px 0 12px!important}.viewer-card .replay-players>strong{min-width:34px!important;font-size:10px!important}.viewer-card .replay-player{grid-template-columns:43px minmax(0,1fr) 31px!important;min-height:64px!important;padding:8px!important;gap:0 7px!important}.viewer-card .replay-player>img{width:42px!important;height:42px!important;padding:3px!important}.viewer-card .replay-player b{font-size:12px!important}.viewer-card .replay-player small img{width:28px!important;height:28px!important}}

/* Profile identity and tip action stay compact within the existing modal. */
.profile-card .profile-head{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;gap:13px!important;align-items:center!important;margin:17px 0!important}.profile-card .profile-head>img{grid-column:1!important;width:64px!important;height:64px!important;border-radius:50%!important}.profile-identity{min-width:0!important}.profile-name-line{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}.profile-card .profile-name-line h2{margin:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.profile-card #profileRank{display:block!important;width:27px!important;height:27px!important;flex:0 0 27px!important;object-fit:contain!important;filter:drop-shadow(0 0 6px rgba(183,112,255,.34))!important}.profile-card #tipPlayer{min-height:34px!important;padding:0 12px!important;border:1px solid #9f65ef!important;background:linear-gradient(135deg,#362154,#241633)!important;color:#f5edff!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.09em!important;cursor:pointer!important}.profile-card #tipPlayer:hover{border-color:#d7b2ff!important;box-shadow:0 0 15px rgba(164,100,244,.26)!important}.profile-card .profile-identity #profileLevel{margin-top:4px!important}.profile-card .profile-stats{margin-top:4px!important}
@media(max-width:520px){.profile-card .profile-head{grid-template-columns:52px minmax(0,1fr) auto!important;gap:9px!important}.profile-card .profile-head>img{width:52px!important;height:52px!important}.profile-card .profile-name-line h2{font-size:21px!important}.profile-card #profileRank{width:22px!important;height:22px!important;flex-basis:22px!important}.profile-card #tipPlayer{padding:0 9px!important;font-size:9px!important}}

/* The WebM fades into a two-sided deceleration before resolving on a face. */
.flip-coin.settle-spin,.flip-coin.handoff-spin{opacity:1!important;animation:none!important;transform:none!important}.flip-coin.settle-spin .premium-flip-media,.flip-coin.handoff-spin .premium-flip-media{opacity:0!important;transform:scale(.97)!important;transition:opacity .22s ease,transform .22s ease!important}.flip-coin.settle-spin .coin-sides,.flip-coin.handoff-spin .coin-sides{opacity:1!important;display:block!important;transform-style:preserve-3d!important}.flip-coin.settle-spin .coin-face,.flip-coin.handoff-spin .coin-face{display:block!important;backface-visibility:hidden!important}.flip-coin.settle-spin .coin-sides{animation:gf-premium-settle var(--settle-duration,1800ms) cubic-bezier(.11,.68,.22,1) both!important}.flip-coin.handoff-spin.heads .coin-sides{animation:gf-premium-land-heads .72s cubic-bezier(.14,.8,.2,1) both!important}.flip-coin.handoff-spin.tails .coin-sides{animation:gf-premium-land-tails .72s cubic-bezier(.14,.8,.2,1) both!important}
@keyframes gf-premium-settle{0%{transform:rotateY(0deg) rotateZ(3deg) scale(1)}25%{transform:rotateY(1260deg) rotateZ(-5deg) scale(1.09)}58%{transform:rotateY(1860deg) rotateZ(4deg) scale(1.02)}82%{transform:rotateY(2100deg) rotateZ(-2deg) scale(.99)}100%{transform:rotateY(2160deg) rotateZ(0) scale(1)}}
@keyframes gf-premium-land-heads{0%{transform:rotateY(0deg) rotateZ(0) scale(1)}52%{transform:rotateY(520deg) rotateZ(3deg) scale(1.08)}100%{transform:rotateY(720deg) rotateZ(0) scale(1)}}
@keyframes gf-premium-land-tails{0%{transform:rotateY(0deg) rotateZ(0) scale(1)}52%{transform:rotateY(640deg) rotateZ(-3deg) scale(1.08)}100%{transform:rotateY(900deg) rotateZ(0) scale(1)}}

/* The authored WebM includes generous transparent framing. Scale its visual
   content to the same presence as the real landed coin and outcome label. */
.viewer-card .flip-stage.is-countdown,.viewer-card .flip-stage.is-spinning,.viewer-card .flip-stage.is-result{min-height:270px!important}.viewer-card .flip-stage.is-spinning .flip-coin,.viewer-card .flip-stage.is-result .flip-coin{width:150px!important;height:150px!important;margin:-75px 0 0 -75px!important}.viewer-card .premium-flip-media{width:150px!important;height:150px!important;margin:-75px 0 0 -75px!important}.viewer-card .flip-coin.premium-spin .premium-flip-media{transform:scale(1.5)!important}.viewer-card .flip-stage.is-spinning #flipStatus{top:calc(50% + 112px)!important}.viewer-card .flip-stage.is-result #flipCount{top:calc(50% + 100px)!important;font-size:35px!important}
@media(max-width:700px){.viewer-card .flip-stage.is-countdown,.viewer-card .flip-stage.is-spinning,.viewer-card .flip-stage.is-result{min-height:232px!important}.viewer-card .flip-stage.is-spinning .flip-coin,.viewer-card .flip-stage.is-result .flip-coin{width:120px!important;height:120px!important;margin:-60px 0 0 -60px!important}.viewer-card .premium-flip-media{width:120px!important;height:120px!important;margin:-60px 0 0 -60px!important}.viewer-card .flip-coin.premium-spin .premium-flip-media{transform:scale(1.38)!important}.viewer-card .flip-stage.is-spinning #flipStatus{top:calc(50% + 91px)!important}.viewer-card .flip-stage.is-result #flipCount{top:calc(50% + 82px)!important;font-size:29px!important}}

/* Replay state is deliberately explicit so countdown, video and landed
   outcome all share the exact same centre instead of inherited grid offsets. */
#viewer .close{z-index:20!important;cursor:pointer!important;font-size:31px!important;line-height:1!important;padding:8px!important}
.viewer-card .flip-stage.is-countdown,.viewer-card .flip-stage.is-spinning,.viewer-card .flip-stage.is-result{position:relative!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;place-items:center!important;min-height:250px!important;padding:0!important;gap:0!important}
.viewer-card .flip-stage.is-countdown .flip-coin{display:none!important}
.viewer-card .flip-stage.is-countdown #flipCount{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;font-size:44px!important;line-height:1!important}
.viewer-card .flip-stage.is-countdown #flipStatus{position:absolute!important;left:0!important;right:0!important;top:calc(50% + 35px)!important;text-align:center!important}
.viewer-card .flip-stage.is-spinning .flip-coin,.viewer-card .flip-stage.is-result .flip-coin{position:absolute!important;left:50%!important;top:50%!important;width:132px!important;height:132px!important;margin:-66px 0 0 -66px!important;transform:none!important}
.viewer-card .flip-stage.is-spinning #flipCount{display:none!important}
.viewer-card .flip-stage.is-spinning #flipStatus{position:absolute!important;left:0!important;right:0!important;top:calc(50% + 87px)!important;text-align:center!important}
.viewer-card .flip-stage.is-result #flipCount{position:absolute!important;left:0!important;right:0!important;top:calc(50% + 76px)!important;margin:0!important;text-align:center!important;font-size:29px!important;line-height:1!important}
.viewer-card .flip-stage.is-result #flipStatus{display:none!important}
.viewer-card .premium-flip-media{width:132px!important;height:132px!important;margin:-66px 0 0 -66px!important}
.viewer-card .replay-prize{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;gap:10px!important}
.viewer-card .replay-prize>b{grid-column:1!important;justify-self:stretch!important;text-align:center!important}
.viewer-card #replayItems{grid-column:1!important;display:grid!important;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)!important;align-items:stretch!important;gap:10px!important;width:100%!important;min-height:74px!important}
.stake-tray{min-width:0!important;padding:8px 10px!important;border:1px solid #3e3548!important;background:#131117!important}
.stake-tray.left{border-color:rgba(92,148,255,.38)!important}.stake-tray.right{border-color:rgba(255,113,127,.35)!important}
.stake-head{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#c4bdcf!important;font:800 9px/1.2 DM Mono,monospace!important;letter-spacing:.08em!important}
.stake-items{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:48px!important;margin-top:6px!important;overflow:hidden!important}
.stake-items img{width:43px!important;height:43px!important;object-fit:contain!important;background:transparent!important;filter:drop-shadow(0 4px 6px rgba(0,0,0,.38))!important;transition:transform .18s ease!important}.stake-items img:hover{transform:translateY(-2px) scale(1.1)!important}
.stake-more{flex:0 0 30px!important;width:30px!important;height:30px!important;padding:0!important;border:1px solid #635474!important;border-radius:50%!important;background:#211a2d!important;color:#f1eaff!important;font:800 11px/1 DM Mono,monospace!important;cursor:pointer!important}
.stake-empty{color:#9f95af!important;font:800 10px/1.2 DM Mono,monospace!important;letter-spacing:.06em!important}.stake-vs{display:grid!important;place-items:center!important;color:#bba7d7!important;font:800 11px/1 DM Mono,monospace!important;letter-spacing:.08em!important}
.stake-tray.expanded .stake-items{flex-wrap:wrap!important;overflow:visible!important;height:auto!important;max-height:126px!important}.stake-tray.expanded{position:relative!important;z-index:4!important}
@media(max-width:700px){.viewer-card .flip-stage.is-countdown,.viewer-card .flip-stage.is-spinning,.viewer-card .flip-stage.is-result{min-height:216px!important}.viewer-card .flip-stage.is-spinning .flip-coin,.viewer-card .flip-stage.is-result .flip-coin{width:108px!important;height:108px!important;margin:-54px 0 0 -54px!important}.viewer-card .premium-flip-media{width:108px!important;height:108px!important;margin:-54px 0 0 -54px!important}.viewer-card #replayItems{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)!important;gap:5px!important}.stake-tray{padding:7px!important}.stake-items{gap:3px!important}.stake-items img{width:34px!important;height:34px!important}.stake-more{flex-basis:26px!important;width:26px!important;height:26px!important}.stake-head{font-size:8px!important}}

/* Custom two-sided toss: fast opening revolutions, then a visible slow-down
   and a soft landing on the actual deterministic result.  The supplied WebM
   is deliberately not shown because it always resolves to a red face. */
.flip-coin.custom-spin,.flip-coin.custom-land{opacity:1!important;transform:none!important;animation:none!important;overflow:visible!important}
.flip-coin.custom-spin .coin-sides,.flip-coin.custom-land .coin-sides{display:block!important;opacity:1!important;transform-style:preserve-3d!important;will-change:transform}
.flip-coin.custom-spin .coin-face,.flip-coin.custom-land .coin-face{display:block!important;backface-visibility:hidden!important;transform-style:preserve-3d!important}
.flip-coin.custom-spin .coin-sides{animation:gf-custom-toss var(--custom-spin-duration,2200ms) cubic-bezier(.13,.74,.18,1) both!important}
.flip-coin.custom-land.heads .coin-sides{animation:gf-custom-land-heads .82s cubic-bezier(.18,.82,.22,1) both!important}
.flip-coin.custom-land.tails .coin-sides{animation:gf-custom-land-tails .82s cubic-bezier(.18,.82,.22,1) both!important}
@keyframes gf-custom-toss{0%{transform:translate3d(0,2px,0) rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(.90)}16%{transform:translate3d(0,-24px,0) rotateX(10deg) rotateY(570deg) rotateZ(8deg) scale(1.10)}34%{transform:translate3d(0,-42px,0) rotateX(-12deg) rotateY(900deg) rotateZ(-7deg) scale(1.07)}53%{transform:translate3d(0,-54px,0) rotateX(8deg) rotateY(1120deg) rotateZ(5deg) scale(1.03)}70%{transform:translate3d(0,-40px,0) rotateX(-6deg) rotateY(1280deg) rotateZ(-4deg) scale(1.01)}84%{transform:translate3d(0,-19px,0) rotateX(3deg) rotateY(1380deg) rotateZ(2deg) scale(1)}94%{transform:translate3d(0,-5px,0) rotateX(-1deg) rotateY(1425deg) rotateZ(-1deg) scale(1)}100%{transform:translate3d(0,0,0) rotateX(0deg) rotateY(1440deg) rotateZ(0deg) scale(1)}}
@keyframes gf-custom-land-heads{0%{transform:translate3d(0,0,0) rotateY(0deg) rotateZ(0deg) scale(1)}38%{transform:translate3d(0,-7px,0) rotateY(174deg) rotateZ(2deg) scale(1.075)}72%{transform:translate3d(0,2px,0) rotateY(340deg) rotateZ(-1deg) scale(1.018)}100%{transform:translate3d(0,0,0) rotateY(360deg) rotateZ(0deg) scale(1)}}
@keyframes gf-custom-land-tails{0%{transform:translate3d(0,0,0) rotateY(0deg) rotateZ(0deg) scale(1)}38%{transform:translate3d(0,-7px,0) rotateY(260deg) rotateZ(-2deg) scale(1.075)}72%{transform:translate3d(0,2px,0) rotateY(510deg) rotateZ(1deg) scale(1.018)}100%{transform:translate3d(0,0,0) rotateY(540deg) rotateZ(0deg) scale(1)}}

/* Stake trays always occupy equal halves of the viewer.  The narrow middle
   rail prevents the opponent side from escaping the modal at any zoom. */
.viewer-card .replay-prize,.viewer-card #replayItems{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}
.viewer-card #replayItems{grid-template-columns:calc((100% - 46px)/2) 26px calc((100% - 46px)/2)!important;gap:10px!important;overflow:visible!important}
.viewer-card #replayItems>.stake-tray{box-sizing:border-box!important;min-width:0!important;width:100%!important;max-width:100%!important}
.viewer-card #replayItems>.stake-vs{width:26px!important;min-width:26px!important;color:#d2bee9!important;font-size:12px!important}
@media(max-width:700px){.viewer-card #replayItems{grid-template-columns:calc((100% - 36px)/2) 26px calc((100% - 36px)/2)!important;gap:5px!important}}

/* Tip follows the stat grid and uses exactly the same full content width. */
.profile-card .profile-head{grid-template-columns:64px minmax(0,1fr)!important}
.profile-card #tipPlayer{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;min-height:44px!important;margin:12px 0 0!important;padding:0 14px!important;font-size:11px!important}
@media(max-width:520px){.profile-card .profile-head{grid-template-columns:52px minmax(0,1fr)!important}.profile-card #tipPlayer{min-height:41px!important}}

/* Inline rank crests are artwork, not buttons or avatar tiles.  Override all
   older generic image styling so they never inherit a round or boxed backing. */
img.rank-icon,img.chat-rank-icon,img.account-rank-icon,.profile-card #profileRank{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  box-sizing:content-box!important;
}
.lobby .player>span>b.has-rank-icon,.lobby .live-match-player>span>b.has-rank-icon,.past-games-fixed .matchup-player>span>b.has-rank-icon,.messages article>div>b:has(.chat-rank-icon){
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Compact player profile: identity first, then the useful account context. */
#profile .profile-card{
  width:min(636px,calc(100vw - 28px))!important;
  max-width:636px!important;
  padding:20px 24px 0!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#191622,#14121a)!important;
  border:1px solid #3d344a!important;
  border-top:2px solid #a55df4!important;
}
#profile .profile-card>p{margin:0 0 14px!important;color:#c992ff!important;font:800 10px/1 DM Mono,monospace!important;letter-spacing:.13em!important}
#profile .profile-hero{display:grid!important;grid-template-columns:112px minmax(0,1fr) auto!important;align-items:center!important;gap:22px!important;min-height:112px!important}
#profile .profile-avatar{width:108px!important;height:108px!important;box-sizing:border-box!important;object-fit:cover!important;border:1px solid #a961ff!important;border-radius:50%!important;background:#21192d!important;box-shadow:0 0 18px rgba(157,83,247,.28)!important}
#profile .profile-identity{align-self:stretch!important;display:flex!important;min-width:0!important;flex-direction:column!important;justify-content:center!important}
#profile .profile-name-line{gap:10px!important;min-height:38px!important}
#profile .profile-card .profile-name-line h2{font:800 clamp(20px,2vw + 12px,27px)/1.06 Inter,Arial,sans-serif!important;color:#fbf9ff!important;letter-spacing:-.03em!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
#profile .profile-card #profileRank{width:34px!important;height:34px!important;flex:0 0 34px!important;object-fit:contain!important;filter:drop-shadow(0 0 7px rgba(177,106,255,.5))!important}
#profile .profile-level-line{display:flex!important;align-items:center!important;gap:12px!important;margin-top:8px!important;color:#bdb4c8!important;font:600 14px/1 Inter,Arial,sans-serif!important}
#profile .profile-level-line #profileLevel{margin:0!important;color:#c4bdce!important;font:600 14px/1 Inter,Arial,sans-serif!important}
#profile .profile-online{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:4px 8px!important;border-radius:999px!important;background:#152b24!important;color:#aef3c9!important;font:800 9px/1 DM Mono,monospace!important;letter-spacing:.03em!important}
#profile .profile-online i{width:6px!important;height:6px!important;border-radius:50%!important;background:#38ed93!important;box-shadow:0 0 8px rgba(56,237,147,.72)!important}
#profile .profile-xp{margin-top:15px!important;min-width:0!important}
#profile .profile-xp-track{display:block!important;position:relative!important;overflow:hidden!important;width:100%!important;height:3px!important;border-radius:999px!important;background:#2a2733!important}
#profile .profile-xp-track i{display:block!important;width:var(--xpw,0%)!important;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#9d53ef,#b569ff)!important;box-shadow:0 0 9px rgba(180,102,255,.5)!important;transition:width .42s cubic-bezier(.2,.8,.2,1)!important}
#profile .profile-xp>span:last-child{display:flex!important;justify-content:space-between!important;gap:12px!important;margin-top:7px!important;color:#aba2b6!important;font:700 10px/1 DM Mono,monospace!important;letter-spacing:.02em!important}
#profile .profile-xp b{font:700 10px/1 DM Mono,monospace!important;color:#b8afc4!important}
#profile .profile-xp small{font:700 10px/1 DM Mono,monospace!important;color:#c5bdcf!important}
#profile .profile-card #tipPlayer{align-self:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:105px!important;min-height:38px!important;margin:0!important;padding:0 14px!important;border:1px solid #9453e2!important;border-radius:5px!important;background:linear-gradient(135deg,#27183c,#1b1328)!important;color:#f6edff!important;font:800 11px/1 DM Mono,monospace!important;letter-spacing:.11em!important;cursor:pointer!important}
#profile .profile-card #tipPlayer i{color:#d18cff!important;font:18px/1 Arial,sans-serif!important;font-style:normal!important;text-shadow:0 0 8px rgba(202,125,255,.58)!important}
#profile .profile-card #tipPlayer:hover{transform:translateY(-1px)!important;border-color:#d3a7ff!important;box-shadow:0 0 16px rgba(169,92,244,.3)!important}
#profile .profile-info{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin:18px -24px 0!important;padding:14px 24px!important;border-top:1px solid #2e2936!important;background:rgba(17,15,23,.58)!important}
#profile .profile-info>div{display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:2px 18px!important;border-right:1px solid #352f3d!important}
#profile .profile-info>div:first-child{padding-left:0!important}.profile-info>div:last-child{padding-right:0!important;border-right:0!important}
#profile .profile-info>div>i{display:grid!important;place-items:center!important;color:#cfc6da!important;font:20px/1 Arial,sans-serif!important;font-style:normal!important}
#profile .profile-info span{display:grid!important;gap:4px!important;min-width:0!important}.profile-info small{color:#93899f!important;font:600 9px/1 Inter,Arial,sans-serif!important}.profile-info b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#ebe7ef!important;font:700 11px/1.1 Inter,Arial,sans-serif!important}.profile-info b em{display:inline-block!important;width:6px!important;height:6px!important;margin:0 5px 1px 0!important;border-radius:50%!important;background:#35ec91!important;box-shadow:0 0 7px rgba(53,236,145,.72)!important}
#profile .profile-stats[hidden]{display:none!important}
#profile .profile-card .close{right:9px!important;top:7px!important;color:#c4bbcf!important;font-size:27px!important}
@media(max-width:620px){#profile .profile-card{padding:18px 16px 0!important}#profile .profile-hero{grid-template-columns:78px minmax(0,1fr)!important;gap:13px!important}#profile .profile-avatar{width:76px!important;height:76px!important}#profile .profile-card .profile-name-line h2{font-size:25px!important}#profile .profile-card #profileRank{width:27px!important;height:27px!important;flex-basis:27px!important}#profile .profile-card #tipPlayer{grid-column:1/-1!important;justify-self:stretch!important;width:100%!important;min-height:36px!important;margin-top:2px!important}#profile .profile-info{margin:16px -16px 0!important;padding:12px 16px!important}#profile .profile-info>div{grid-template-columns:22px minmax(0,1fr)!important;gap:6px!important;padding:2px 9px!important}.profile-info>div>i{font-size:16px!important}.profile-info b{font-size:9px!important}.profile-info small{font-size:8px!important}}

/* Smooth transform-only toss.  The faces remain decoded and the compositor
   only moves their parent, avoiding filter, layout, and image swaps per frame. */
.flip-coin.native-toss,.flip-coin.native-land{opacity:1!important;overflow:visible!important;filter:none!important;animation:none!important}
.flip-coin.native-toss .coin-sides,.flip-coin.native-land .coin-sides{display:block!important;contain:paint!important;transform-style:preserve-3d!important;backface-visibility:hidden!important;will-change:transform!important;animation:none!important}
.flip-coin.native-toss .coin-face,.flip-coin.native-land .coin-face{display:block!important;backface-visibility:hidden!important;transform-style:preserve-3d!important;filter:none!important}
/* profile tweaks: wider card, cleaner tip icon */
#profile .profile-card{width:min(506px,calc(100vw - 28px))!important}
#profile .profile-card #tipPlayer svg{width:17px!important;height:17px!important;flex:0 0 17px!important;filter:drop-shadow(0 0 6px rgba(202,125,255,.5))!important}
/* profile tweaks 2: readable xp font, footer svg icons */
#profile .profile-xp b{font:600 12px/1 Inter,Arial,sans-serif!important;color:#d8d1e4!important}
#profile .profile-xp small{font:600 12px/1 Inter,Arial,sans-serif!important;color:#c4bdce!important}
#profile .profile-info>div>i svg{width:17px!important;height:17px!important;display:block!important}
/* profile tweak 3: bigger card overall (uniform scale of the whole modal) */
#profile .profile-card{transform:scale(1.2)!important;transform-origin:center!important}
@media(max-width:680px){#profile .profile-card{transform:none!important}}
/* open-games rank crests: a tad bigger (13 -> 16) */
.player-rank .rank-icon,.player-rank img.rank-icon,.lobby .player-rank img.rank-icon,.lobby .live-match-player .player-rank img.rank-icon,.past-games-fixed .matchup-player .player-rank img.rank-icon{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;min-height:26px!important;max-height:26px!important;flex:0 0 26px!important}
/* purple scrollbars (were default white in chrome) */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0f0e14}
::-webkit-scrollbar-thumb{background:#8c57ee;border-radius:8px;border:2px solid #0f0e14}
::-webkit-scrollbar-thumb:hover{background:#a06cf5}
html{scrollbar-color:#8c57ee #0f0e14;scrollbar-width:thin}
/* open-games header + column labels: NOT sticky -> scroll away instead of pinning/overlapping the rows */
.game-list .list-head,.game-list .labels{position:static!important;top:auto!important}
/* bigger avatar icons on live coinflips */
.lobby .player>img{width:62px!important;height:62px!important}
.lobby .live-match-player>img{width:46px!important;height:46px!important}
/* rank crest next to name in the coinflip VIEW (replay) modal -- overflow:visible so the ellipsis rule cannot clip it */
.replay-player b{display:inline-flex!important;align-items:center!important;gap:6px!important;overflow:visible!important;text-overflow:clip!important}
.replay-player .replay-rank{width:30px!important;height:30px!important;flex:0 0 30px!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;filter:drop-shadow(0 0 4px rgba(182,122,255,.3))!important}
/* very narrow (<=850): chat sidebar was squeezing the games list -> drop it so games get full width */
@media(max-width:850px){
.columns{grid-template-columns:1fr!important;display:block!important}
.chat{display:none!important}
}
/* UNIFY columns at ALL desktop widths (>=851): games + chat side-by-side with real heights. Overrides every conflicting Codex single-column/stack rule so NO width (or zoom level) collapses the games list. */
@media(min-width:851px){
.columns{display:grid!important;grid-template-columns:minmax(0,1fr) clamp(300px,23vw,430px)!important;grid-template-rows:minmax(0,1fr)!important;gap:20px!important;height:calc(100dvh - 72px)!important;min-height:0!important;overflow:hidden!important;align-items:stretch!important}
.columns>.game-list{grid-column:1!important;grid-row:1!important;height:100%!important;min-height:0!important;overflow-y:auto!important}
.columns>.chat{grid-column:2!important;grid-row:1!important;height:100%!important;min-height:0!important;max-height:none!important;width:auto!important;position:static!important;align-self:stretch!important}
}
/* (compact removed - names always show) */
/* games-list container so scaling responds to the LIST width at any zoom */
.game-list{container-type:inline-size!important;container-name:gl!important}
/* Matched-row avatar sizing ONLY. Deliberately does NOT touch display/grid-template-columns on .player.matched --
   that grid is what aligns the matched row's flip indicator + status with the open rows' OPEN badge; forcing it
   to flex misaligned every scale. We only (a) size the avatar, (b) resize .live-match-player's own avatar TRACK
   to match so the img can't overflow a 48px track and squeeze the name, (c) drop the 160px cap so the name gets
   the leftover room. Ellipsis is left intact so names still truncate cleanly when genuinely cramped. */
/* ONE KNOB: the whole user+vs+user block is scaled as a single unit via `zoom`, instead of resizing the avatar,
   name, level and crest individually (which looked disproportionate and, worse, let the block overflow the
   player column so the flip coin shoved past the OPEN badge and collided with the weapons at 130/140% zoom).
   zoom scales the element's LAYOUT box too, so the block genuinely takes less room and the coin slides back
   into place. Base size = 62px avatar so at zoom 1 it matches the open rows exactly. */
@container gl (max-width:9999px){
/* profile - VS - profile: players sized to their CONTENT (auto) so the VS sits snugly in the middle between
   them, big 62px pfps to match the open rows, and the status pinned right so it stays on the OPEN badge line.
   4 children only: .live-match-player, i(VS), .live-match-player.opponent, strong.match-status */
.game-list .lobby .player.matched{grid-template-columns:auto auto auto minmax(0,1fr)!important;align-items:center!important;column-gap:16px!important;width:100%!important;min-width:0!important}
.game-list .lobby .player.matched>.live-match-player{grid-template-columns:62px minmax(0,1fr)!important;gap:11px!important;width:auto!important;max-width:none!important;min-width:0!important;justify-self:start!important;justify-content:flex-start!important}
/* Codex forces the opponent to grid-column:5 / :3 in places; with a 4-col grid that threw it into an implicit
   5th column, leaving a huge gap after VS. Pin all four children to explicit columns so nothing can move them. */
.game-list .lobby .player.matched>.live-match-player:not(.opponent){grid-column:1!important}
.game-list .lobby .player.matched>i{grid-column:2!important;justify-self:center!important;margin:0!important}
.game-list .lobby .player.matched>.live-match-player.opponent{grid-column:3!important;justify-self:start!important;justify-content:flex-start!important}
.game-list .lobby .player.matched>.live-match-player img{width:62px!important;height:62px!important}
/* Do NOT override the status width: the original design GROUPS it with the open rows' badge
   (.lobby .player strong,.lobby .player.matched>.match-status{flex:0 0 72px;width:72px;margin-left:auto}) so
   they are the same 72px box and line up by construction. Overriding it to 78px is what knocked the outcome
   off the OPEN line. Only pin the column + centre the content so the countdown number and the coin share a slot. */
/* Outcome pinned ABSOLUTELY to the block's right edge (v104). When the player-zoom is active (cramped tiers)
   the zoomed grid items overflow their tracks in Chrome, so the block spills right of its cell and drags the
   grid-placed status with it -- the outcome ended up ~45px right of the OPEN badge at 140%. Taking the status
   OUT of the grid and pinning it absolute:right:0 anchors it to the block's own (cell-width) right edge, which
   is exactly where OPEN sits, at every zoom. Fixed width = OPEN's per tier so the coin/label/number centre on
   the OPEN line. */
.game-list .lobby .player.matched{position:relative!important}
.game-list .lobby .player.matched>.match-status{position:absolute!important;right:-40px!important;top:50%!important;bottom:auto!important;left:auto!important;transform:translateY(-50%)!important;grid-column:auto!important;justify-self:auto!important;margin:0!important;text-align:center!important;width:72px!important;min-width:72px!important;max-width:72px!important}
@media(max-width:1150px){.game-list .lobby .player.matched>.match-status{width:68px!important;min-width:68px!important;max-width:68px!important}}
@media(max-width:700px){.game-list .lobby .player.matched>.match-status{width:62px!important;min-width:62px!important;max-width:62px!important}}
/* The right-nudge that lands the outcome on the OPEN badge is NOT constant: it's -40px while the .lobby grid is
   in its wide form, but flips to 0 the instant that grid REFLOWS at the viewport 1680px breakpoint (the OPEN
   badge shifts ~40px within its cell there). It's a VIEWPORT flip, not a container one -- keying it to the
   games-list container fired at the wrong widths. Measured V per vw: -40 at 1738/1754/1884/1989, 0 at
   1468/1584/1634 -- clean split at 1680. */
@media(max-width:1680px){.game-list .lobby .player.matched>.match-status{right:0px!important}}
.game-list .lobby .player.matched .player-rank img.rank-icon{width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;min-height:20px!important;max-height:20px!important}
/* Zoom Z shrinks the block's rendered width to (column x Z), which pulls the outcome away from the column edge
   and off the OPEN line. Compensating width by 1/Z makes the block span the FULL column at any Z, so the
   outcome always lands on the OPEN badge line -- and Z is then free to be chosen purely for "as big as
   possible without clipping the names". match-status is counter-zoomed 1/Z so the outcome stays full size. */
.game-list .lobby .player.matched>.live-match-player,.game-list .lobby .player.matched>i{zoom:1}
}
@container gl (max-width:1500px){
.game-list .lobby .player.matched>.live-match-player,.game-list .lobby .player.matched>i{zoom:.88}
}
@container gl (max-width:1250px){
.game-list .lobby .player.matched>.live-match-player,.game-list .lobby .player.matched>i{zoom:.76}
}
@container gl (max-width:1050px){
.game-list .lobby .player.matched>.live-match-player,.game-list .lobby .player.matched>i{zoom:.62}
}
/* OUTCOME COLUMN ALIGNMENT (v102). The countdown NUMBER, the spinning coin and the result coin are all the
   same element (strong.match-status) with a class that changes per mode -- and each mode had a different box
   width (countdown 24px, spinning 38px, result 72px), all pinned to the right edge. Different widths pinned
   right = different centres, so the pre-result number sat ~24px right of the result coin / OPEN badge. Force
   countdown + spinning to the SAME width as the result box at each viewport tier so all three (and OPEN,
   which is also 72/68/62) share one centre and line up straight down the column. */
.game-list .lobby .player.matched>.match-status.countdown,
.game-list .lobby .player.matched>.match-status.spinning{width:72px!important;min-width:72px!important;max-width:72px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0!important}
@media(max-width:1150px){.game-list .lobby .player.matched>.match-status.countdown,.game-list .lobby .player.matched>.match-status.spinning{width:68px!important;min-width:68px!important;max-width:68px!important}}
@media(max-width:700px){.game-list .lobby .player.matched>.match-status.countdown,.game-list .lobby .player.matched>.match-status.spinning{width:62px!important;min-width:62px!important;max-width:62px!important}}

/* ===== COIN FLIP (VIEW modal) ===== a coin spinning on its axis, done with 2D scaleX (squash to
   an edge and back) rather than true 3D, so it composites and renders everywhere. JS drives scaleX
   + a translateY toss on .coin3d and cross-fades the two stacked faces at each edge crossing; the
   spin whoosh + landing clink are Web-Audio synced to it. Old CSS coin spin/filter neutralised. */
#flipCoin.flip-coin{background:none!important;border:0!important;box-shadow:none!important;filter:none!important;overflow:visible!important;width:auto!important;height:auto!important;min-height:150px;display:grid!important;place-items:center!important;animation:none!important}
#flipCoin .coin3d{width:120px;height:120px;position:relative;will-change:transform,filter;transform-origin:center center}
#flipCoin .coin3d .cface{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:50%!important;object-fit:contain!important;filter:drop-shadow(0 12px 22px rgba(0,0,0,.5))!important;transition:opacity .04s linear}
#flipCoin .coin3d .cface.tails{opacity:0}
#flipCoin.landed.heads .coin3d{filter:drop-shadow(0 0 26px rgba(62,171,255,.72))}
#flipCoin.landed.tails .coin3d{filter:drop-shadow(0 0 26px rgba(255,76,76,.68))}
.flip-stage{min-height:196px!important}

/* ===== LANDED coin + outcome-name centering (VIEW modal) =====
   The prior landed layout stacked everything in one grid cell and shoved the name down with
   translateY(78px); combined with the name's letter-spacing it read as off-centre. Rebuild it as
   a clean centred column, and compensate the trailing letter-spacing with an equal padding-left so
   the glyphs (not just the text box) sit dead-centre under the coin. */
.viewer[data-outcome] .flip-stage{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:15px!important;min-height:238px!important;padding:14px 0!important;grid-template-columns:none!important;grid-template-rows:none!important}
.viewer[data-outcome] #flipCoin{grid-column:auto!important;grid-row:auto!important;place-self:auto!important;justify-self:center!important;align-self:center!important;margin:0!important}
.viewer[data-outcome] #flipCount{grid-column:auto!important;grid-row:auto!important;place-self:auto!important;align-self:center!important;justify-self:center!important;transform:none!important;margin:0!important;text-align:center!important;letter-spacing:.05em!important;padding-left:.05em!important}
.viewer[data-outcome] #flipStatus{display:none!important}

/* ===== COIN CENTRED IN THE GLOW (spin + landed) =====
   The stage glow used to sit at 50% 42% while the coin/name were centred lower, so the coin wasn't in the
   bright particle centre. Centre the coin at the stage middle, radiate the glow FROM that point (a :before at
   50%/50% that follows the outcome colour), and drop the text below the coin absolutely so it can't push the
   coin off the glow. */
.viewer[data-outcome] .flip-stage,.viewer .flip-stage.is-spinning{position:relative!important;display:grid!important;place-items:center!important;min-height:262px!important;padding:0!important;overflow:hidden!important;background:linear-gradient(180deg,#15121c,#0f0e14)!important;grid-template-columns:none!important;grid-template-rows:none!important}
.viewer[data-outcome] .flip-stage:before,.viewer .flip-stage.is-spinning:before{content:''!important;position:absolute!important;left:50%!important;top:50%!important;width:380px!important;height:380px!important;transform:translate(-50%,-50%)!important;border-radius:50%!important;inset:auto!important;z-index:0!important;filter:blur(5px)!important;background:radial-gradient(circle,rgba(150,94,255,.30),transparent 60%)!important;transition:none!important}
.viewer[data-outcome="tails"] .flip-stage:before{background:radial-gradient(circle,rgba(255,74,92,.34),transparent 60%)!important}
.viewer[data-outcome="heads"] .flip-stage:before{background:radial-gradient(circle,rgba(79,160,255,.32),transparent 60%)!important}
.viewer[data-outcome] #flipCoin,.viewer .flip-stage.is-spinning #flipCoin{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;grid-area:auto!important;place-self:auto!important;margin:0!important;z-index:2!important}
.viewer[data-outcome] #flipCount{position:absolute!important;left:0!important;right:0!important;top:calc(50% + 76px)!important;bottom:auto!important;z-index:2!important;margin:0!important;transform:none!important;text-align:center!important;letter-spacing:.05em!important;padding-left:.05em!important}
.viewer[data-outcome] #flipStatus{display:none!important}
.viewer .flip-stage.is-spinning #flipCount{display:none!important}
.viewer .flip-stage.is-spinning #flipStatus{position:absolute!important;left:0!important;right:0!important;top:calc(50% + 96px)!important;bottom:auto!important;z-index:2!important;margin:0!important;text-align:center!important;display:block!important}

/* Beat the Codex rule .viewer-card .flip-stage.is-result/.is-spinning .flip-coin which centres via
   left:50% + margin-left:-66px (for a 132px coin) and transform:none. Our 3D coin is 120px (width:auto),
   so -66px over-shifts it 6px left AND transform:none killed our translate centering -> coin sat 6px off
   the glow/name. Match that exact context (higher specificity via #flipCoin) and centre properly. */
.viewer-card .flip-stage.is-result #flipCoin,.viewer-card .flip-stage.is-spinning #flipCoin,.viewer[data-outcome] #flipCoin{width:auto!important;margin:0!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}
/* ===== REAL 3D COIN — genuine perspective rotation (rotateX), not a 2D squash. The JS rAF spins
   .coin3d; the browser's backface-visibility reveals whichever side faces the camera, so it reads
   as a solid metal disc tumbling in space. Renders correctly in any real browser. ===== */
#flipCoin{perspective:1200px!important}
#flipCoin .coin3d{transform-style:preserve-3d!important}
#flipCoin .coin3d .cface{backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;opacity:1!important;transition:none!important;filter:none!important}
#flipCoin .coin3d .cface.heads{transform:translateZ(2px)!important}
#flipCoin .coin3d .cface.tails{transform:rotateX(180deg) translateZ(2px)!important;opacity:1!important}
/* NEVER a filter on .coin3d -- any filter forces transform-style:flat and collapses the 3D so only the
   front (heads) face shows. That was the "only shows heads" bug. The winning-side glow lives on the stage
   burst below instead, so the coin's 3D stays intact and BOTH faces render cleanly. */
#flipCoin.landed.heads .coin3d,#flipCoin.landed.tails .coin3d{filter:none!important}
/* WIN SHOCKWAVE — the radial glow bursts outward once when the outcome lands, for drama. */
@keyframes gf-win-burst{0%{opacity:.15;transform:translate(-50%,-50%) scale(.55)}42%{opacity:1;transform:translate(-50%,-50%) scale(1.24)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.viewer[data-outcome] .flip-stage:before{animation:gf-win-burst .55s cubic-bezier(.2,.8,.3,1) both!important}
/* ===== ACCOUNT MENU — opens when the header account chip is clicked ===== */
.account-arrow{transition:transform .18s ease}
.account.open .account-arrow{transform:rotate(180deg)}
.account-menu{position:fixed;z-index:6000;width:252px;background:rgba(21,18,29,.98);border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:0 20px 54px rgba(0,0,0,.55);padding:10px;color:#e9e6f2;font-family:inherit}
.account-menu[hidden]{display:none}
.account-menu .am-head{display:flex;align-items:center;gap:10px;padding:6px 6px 12px}
.account-menu .am-avatar{width:42px;height:42px;border-radius:11px;object-fit:cover;border:1px solid rgba(255,255,255,.1);flex:none}
.account-menu .am-id{min-width:0}
.account-menu .am-id b{display:block;font-size:14px;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-menu .am-sub{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#b6a6d6;text-transform:uppercase}
.account-menu .am-sub img{width:15px;height:15px;object-fit:contain;flex:none}
.account-menu .am-bal{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;margin-bottom:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px}
.account-menu .am-bal small{font-size:9px;font-weight:700;letter-spacing:.16em;color:#948aae}
.account-menu .am-bal b{font-size:13px;font-weight:800;color:#cdb3ff}
.account-menu .am-div{height:1px;background:rgba(255,255,255,.07);margin:8px 4px}
.account-menu nav{display:flex;flex-direction:column;gap:1px}
.account-menu button{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;background:none;border:0;border-radius:9px;color:#ddd8ec;font-size:12.5px;font-weight:600;text-align:left;cursor:pointer;font-family:inherit;line-height:1}
.account-menu button:hover{background:rgba(255,255,255,.06)}
.account-menu button svg{width:17px;height:17px;flex:none;color:#a892d4}
.account-menu .am-logout{margin-top:2px;color:#ff8f9a;font-weight:700}
.account-menu .am-logout svg{color:#ff8f9a}
.account-menu .am-logout:hover{background:rgba(255,92,108,.13)}
@media(max-width:560px){.account-menu{width:calc(100vw - 20px)}}
/* ===== RANK PILL in the player profile (rank name shown next to level) ===== */
#profile .profile-name-line{align-items:center!important;flex-wrap:wrap!important;row-gap:6px!important}
.profile-rank-name{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;line-height:1.5;background:rgba(190,120,255,.15);border:1px solid rgba(190,120,255,.34);color:#d3b0ff}
.profile-rank-name[hidden]{display:none}
.profile-rank-name[data-rank="titan"]{background:rgba(255,196,84,.14);border-color:rgba(255,196,84,.36);color:#ffcf7a}
.profile-rank-name[data-rank="champion"]{background:rgba(190,120,255,.15);border-color:rgba(190,120,255,.36);color:#d7b6ff}
.profile-rank-name[data-rank="contender"]{background:rgba(120,170,255,.14);border-color:rgba(120,170,255,.34);color:#accaff}
.profile-rank-name[data-rank="challenger"]{background:rgba(90,220,180,.13);border-color:rgba(90,220,180,.32);color:#92e8c8}
.profile-rank-name[data-rank="prospect"]{background:rgba(150,200,255,.12);border-color:rgba(150,200,255,.3);color:#bcd6f5}
.profile-rank-name[data-rank="rookie"]{background:rgba(205,205,215,.1);border-color:rgba(205,205,215,.26);color:#d3cfdd}
/* ===== HEADER CHIP: username + rank crest on one line, level below, no rank TEXT ===== */
.account>span{grid-template-columns:auto auto!important;justify-content:start!important;align-items:center!important;column-gap:6px!important;row-gap:2px!important}
.account>span>b{grid-column:1!important;grid-row:1!important}
.account .account-rank{grid-column:2!important;grid-row:1!important;font-size:0!important;gap:0!important;text-shadow:none!important}
.account .account-rank .account-rank-icon{width:15px!important;height:15px!important}
.account .account-level{grid-column:1 / -1!important;grid-row:2!important}
/* ===== MY FLIPS modal — recent flips + provably-fair ===== */
.g-coin{display:inline-block;width:19px;height:19px;flex:none;vertical-align:-4px;border-radius:50%;background:url("assets/godlyflip-token.png?v=1") center/167% no-repeat}
.myflips-card{position:relative;width:min(1040px,97vw);height:min(760px,92vh);display:flex;flex-direction:column;background:rgba(19,16,26,.99);border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.6);padding:24px 24px 18px;color:#e9e6f2}
/* Own overlay so the base .modal rules can't cap the card width */
#myFlips.modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:6000!important;background:rgba(6,5,11,.72)!important;grid-template-columns:none!important;grid-template-rows:none!important}
#myFlips.modal.show{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#myFlips .myflips-card{width:min(1040px,94vw)!important;max-width:none!important;margin:0!important}
/* Provably Fair — own overlay + wide box like My Flips (bypass the base modal cap) */
#provablyFair.modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:6800!important;background:rgba(6,5,11,.72)!important;grid-template-columns:none!important;grid-template-rows:none!important}
#provablyFair.modal.show{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#provablyFair .pf-card{width:min(1000px,94vw)!important;max-width:none!important;margin:0!important}
/* Flip detail — own wide overlay, and ON TOP of My Flips (was opening behind it) */
#flipDetail.modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:6600!important;background:rgba(6,5,11,.74)!important;grid-template-columns:none!important;grid-template-rows:none!important}
#flipDetail.modal.show{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#flipDetail .fd-card{width:min(800px,94vw)!important;max-width:none!important;margin:0!important}
/* ===== SQUARE / PROFESSIONAL THEME — sharpen corners across the flip modals + logo ===== */
.myflips-card,.fd-card,.pf-card{border-radius:8px!important}
.mf-row,.fd-side,.fd-won,.fd-banner,.pf-box,.pf-result{border-radius:5px!important}
.mf-pf,.fd-verify,.pf-form button,.pf-form input{border-radius:5px!important}
.fd-item,.pf-seed,.pf-step>span,.fd-crown{border-radius:4px!important}
.mf-avwrap>.mf-ava,.fd-shead>img{border-radius:5px!important}
.mf-badge{border-radius:4px!important}
.fd-item>img{border-radius:3px}
.top-brand img,.logo img{border-radius:6px!important}
/* slimmer, less shouty win/loss result bar */
.fd-banner{padding:12px 15px!important}
.fd-banner.win{background:rgba(72,190,150,.09)!important;border-color:rgba(72,190,150,.26)!important;color:#7fdcbd!important}
.fd-banner.loss{background:rgba(230,88,104,.08)!important;border-color:rgba(230,88,104,.24)!important;color:#f19aa4!important}
/* ===== SETTINGS modal — tabbed, square, professional ===== */
#settings.modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:6300!important;background:rgba(6,5,11,.72)!important;grid-template-columns:none!important;grid-template-rows:none!important}
#settings.modal.show{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#settings .set-card{width:min(900px,95vw)!important;max-width:none!important;margin:0!important}
#settings *{font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif!important}
#settings .mono,#settings input.mono,#settings .set-kv.wrap b{font-family:ui-monospace,Menlo,Consolas,monospace!important}
.set-card{position:relative;width:min(880px,95vw);height:min(620px,90vh);display:flex;flex-direction:column;background:#161320;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.6);padding:22px 24px 20px;color:#e9e5f4}
.set-head{margin-bottom:16px}
.set-head>p{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.22em;color:#c0a6f5}
.set-head>h2{margin:4px 0 0;font-size:22px;font-weight:800;color:#fff}
.set-body{flex:1;min-height:0;display:grid;grid-template-columns:190px 1fr;gap:20px}
.set-nav{display:flex;flex-direction:column;gap:3px;border-right:1px solid rgba(255,255,255,.08);padding-right:14px}
.set-nav button{text-align:left;padding:10px 12px;border:0;border-radius:5px;background:none;color:#b7aecc;font-size:12.5px;font-weight:700;cursor:pointer}
.set-nav button:hover{background:rgba(255,255,255,.05);color:#e6e1f2}
.set-nav button.active{background:rgba(110,79,240,.2);color:#dcc9ff}
.set-content{min-width:0;overflow-y:auto;padding-right:6px}
.set-content::-webkit-scrollbar{width:7px}.set-content::-webkit-scrollbar-thumb{background:rgba(170,140,230,.3);border-radius:6px}
.set-panel{display:flex;flex-direction:column;gap:20px}
.set-group{display:flex;flex-direction:column;gap:11px}
.set-group>h4{margin:0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.set-note{margin:-2px 0 2px;font-size:11.5px;line-height:1.5;color:#a99fc2}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:5px}
.set-rl b{display:block;font-size:12.5px;font-weight:700;color:#f1eef8}
.set-rl small{font-size:11px;color:#a099bb}
.set-switch{position:relative;width:40px;height:22px;border-radius:4px;background:#39324a;border:1px solid rgba(255,255,255,.08);cursor:pointer;flex:none;transition:background .15s}
.set-switch:before{content:'';position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:3px;background:#b7afc9;transition:.15s}
.set-switch.on{background:#6e4ff0;border-color:#6e4ff0}
.set-switch.on:before{left:21px;background:#fff}
.set-acct{display:flex;align-items:center;gap:13px}
.set-acct>img{width:52px;height:52px;border-radius:6px;object-fit:cover;background:#241d33;border:1px solid rgba(255,255,255,.1)}
.set-acct b{display:block;font-size:15px;font-weight:800;color:#fff}
.set-acct small{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#b6a6d6;text-transform:uppercase}
.set-field{display:flex;flex-direction:column;gap:6px}
.set-field>span{font-size:11px;font-weight:700;color:#a99fc2}
.set-field input{padding:11px 13px;border-radius:5px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.12);color:#f1eef8;font-size:12.5px;font-weight:600;outline:none}
.set-field input:focus{border-color:rgba(150,94,255,.6)}
.set-btnrow{display:flex;gap:8px;flex-wrap:wrap}
.set-btn{align-self:flex-start;padding:10px 16px;border-radius:5px;background:#6e4ff0;border:0;color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.03em;cursor:pointer}
.set-btn:hover{background:#7d61ff}
.set-btn.ghost{background:rgba(150,94,255,.14);border:1px solid rgba(150,94,255,.32);color:#d3b8ff}
.set-btn.ghost:hover{background:rgba(150,94,255,.24)}
.set-kv{display:flex;justify-content:space-between;gap:12px;padding:10px 13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:5px;font-size:12px}
.set-kv>span{color:#a99fc2}
.set-kv>b{color:#eee9f6;font-weight:700}
.set-kv.wrap{flex-direction:column;gap:5px;align-items:flex-start}
.set-kv.wrap b{font-size:10.5px;color:#d9d3ea;word-break:break-all}
@media(max-width:640px){.set-body{grid-template-columns:1fr;gap:14px}.set-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:0 0 12px}.set-card{height:min(680px,92vh)}}
/* ===== INVENTORY page — Deposit / Withdraw ===== */
#inventoryPage{display:none;flex-direction:column;gap:14px;min-width:0;font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif}
#inventoryPage *{font-family:inherit}
.inv-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.inv-tabs{display:flex;gap:4px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:4px}
.inv-tabs button{padding:10px 22px;border:0;border-radius:4px;background:none;color:#b7aecc;font-size:12.5px;font-weight:800;letter-spacing:.03em;cursor:pointer;transition:color .12s,background .12s}
.inv-tabs button:hover{color:#e6e1f2}
.inv-tabs button.active{background:#6e4ff0;color:#fff}
.inv-total{font-size:10.5px;font-weight:700;letter-spacing:.12em;color:#9a90b3;display:inline-flex;align-items:center;gap:8px}
.inv-total b{font-size:16px;color:#cdb3ff;display:inline-flex;align-items:center;gap:5px;letter-spacing:0}
.inv-sub{font-size:12px;line-height:1.4;color:#a99fc2}
.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:12px}
.inv-item{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:9px;padding:18px 12px 14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:6px;cursor:pointer;transition:transform .15s ease,border-color .15s,box-shadow .15s;animation:inv-in .34s cubic-bezier(.2,.8,.25,1) both}
.inv-item:hover{transform:translateY(-4px);border-color:rgba(180,140,255,.42);box-shadow:0 12px 26px rgba(0,0,0,.42)}
.inv-item:hover .inv-thumb img{transform:scale(1.08)}
.inv-item.sel{border-color:#6e4ff0;box-shadow:0 0 0 1px #6e4ff0 inset,0 8px 22px rgba(110,79,240,.3)}
.inv-rar{display:none}
.inv-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:94px;border-radius:5px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.05),rgba(0,0,0,.28));border:1px solid rgba(255,255,255,.05)}
.inv-thumb img{width:84px;height:84px;object-fit:contain;transition:transform .18s ease;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.inv-item>b{font-size:13px;font-weight:700;color:#f1eef8;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.inv-item .inv-val{font-size:13px;font-weight:800;color:#cdb3ff;display:inline-flex;align-items:center;gap:4px}
.inv-check{position:absolute;top:9px;right:9px;width:19px;height:19px;border-radius:4px;border:1.5px solid rgba(255,255,255,.3);background:rgba(0,0,0,.35);z-index:2}
.inv-item.sel .inv-check{border-color:#6e4ff0;background:#6e4ff0}
.inv-item.sel .inv-check:after{content:'';position:absolute;left:5px;top:1px;width:5px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
/* per-item rarity colors removed per user — all items uniform */
.inv-empty{grid-column:1/-1;padding:48px 20px;text-align:center;color:#8a809f;font-size:13px}
.inv-foot{display:flex;flex-direction:column;gap:12px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08)}
.inv-tray{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.inv-tray::-webkit-scrollbar{height:6px}.inv-tray::-webkit-scrollbar-thumb{background:rgba(170,140,230,.3);border-radius:6px}
.inv-tray-item{flex:none;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.09);border-radius:5px}
.inv-tray-item img{width:40px;height:40px;object-fit:contain}
.inv-footbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
#invSel{font-size:13px;font-weight:700;color:#c9c2da;display:inline-flex;align-items:center;gap:5px}
.inv-btn{padding:13px 26px;border-radius:5px;background:#6e4ff0;border:0;color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:background .12s,transform .1s}
.inv-btn:hover{background:#7d61ff}.inv-btn:active{transform:scale(.97)}
.inv-btn:disabled{opacity:.45;cursor:default;background:#463d5e}
@keyframes inv-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
/* ===== DEPOSIT / WITHDRAW BOTS popup ===== */
#depositBots.modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:6500!important;background:rgba(6,5,11,.74)!important;grid-template-columns:none!important;grid-template-rows:none!important}
#depositBots.modal.show{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#depositBots .bot-card{width:min(480px,94vw)!important;max-width:none!important;margin:0!important}
.bot-card{position:relative;max-height:88vh;overflow-y:auto;background:#161320;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.6);padding:22px 22px 20px;color:#e9e5f4;font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif}
.bot-card *{font-family:inherit}
.bot-card>p{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.22em;color:#c0a6f5}
.bot-card>h2{margin:4px 0 6px;font-size:21px;font-weight:800;color:#fff}
.bot-sub{margin:0 0 14px;font-size:12px;line-height:1.5;color:#a99fc2}
.bot-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;margin-bottom:14px;background:rgba(110,79,240,.1);border:1px solid rgba(110,79,240,.26);border-radius:5px;font-size:12px;font-weight:700;color:#cfc6e6}
.bot-summary b{color:#cdb3ff;font-size:14px;display:inline-flex;align-items:center;gap:5px}
.bot-list{display:flex;flex-direction:column;gap:8px}
.bot-row{display:flex;align-items:center;gap:12px;padding:11px 13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:5px}
.bot-av{width:40px;height:40px;border-radius:5px;object-fit:cover;background:#0f0e14;border:1px solid rgba(255,255,255,.1);flex:none}
.bot-id{flex:1;min-width:0}
.bot-id b{display:block;font-size:13px;font-weight:700;color:#f1eef8}
.bot-id small{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:11px;color:#a099bb}
.bot-dot{width:7px;height:7px;border-radius:50%;flex:none}
.bot-dot.on{background:#5ce08a;box-shadow:0 0 6px rgba(92,224,138,.6)}
.bot-dot.busy{background:#ffb14d}
/* offline = not running yet / no private server link. Deliberately grey and unglowing so it reads as
   "not available" rather than "busy right now" - a user who queues behind a Busy bot expects it to free up. */
.bot-dot.off{background:#6b7280}
.bot-row.is-off{opacity:.62}
.bot-join{flex:none;padding:10px 20px;border-radius:5px;background:#6e4ff0;border:0;color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:background .12s}
.bot-join:hover{background:#7d61ff}
.bot-join:disabled{background:#463d5e;color:#9a90b3;cursor:default}
/* ===== UNIFIED, POLISHED LOOK across every panel we built ===== */
.myflips-card,.fd-card,.pf-card,.set-card,.bot-card{background:#15121e!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 28px 82px rgba(0,0,0,.62)!important}
.myflips-card>p,.fd-card>p,.pf-hero>p,.set-head>p,.bot-card>p{color:#ab8fe6!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.2em!important}
.myflips-card>h2,.fd-card>h2,.pf-hero>h2,.set-head>h2,.bot-card>h2{color:#fff!important;letter-spacing:-.01em!important}
.myflips-card .close,.fd-card .close,.pf-card .close,.set-card .close,.bot-card .close{position:absolute!important;top:14px!important;right:14px!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:5px!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.09)!important;color:#cfc7dd!important;font-size:20px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;margin:0!important;padding:0!important}
.myflips-card .close:hover,.fd-card .close:hover,.pf-card .close:hover,.set-card .close:hover,.bot-card .close:hover{background:rgba(150,94,255,.2)!important;border-color:rgba(150,94,255,.4)!important;color:#fff!important}
@keyframes gf-modal-in{from{opacity:0;transform:translateY(10px) scale(.984)}to{opacity:1;transform:translateY(0) scale(1)}}
#myFlips.modal.show .myflips-card,#flipDetail.modal.show .fd-card,#provablyFair.modal.show .pf-card,#settings.modal.show .set-card,#depositBots.modal.show .bot-card{animation:gf-modal-in .2s cubic-bezier(.2,.8,.25,1) both}
/* ===== FLIP DETAIL — flatten the nested boxes, nicer WINNER ===== */
.fd-side{background:transparent!important;border:1px solid rgba(255,255,255,.09)!important}
.fd-side.winner{background:rgba(150,94,255,.06)!important;border-color:rgba(150,94,255,.42)!important}
.fd-item{background:none!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;border-radius:0!important;padding:10px 2px!important;gap:10px!important}
.fd-items .fd-item:last-child{border-bottom:0!important;padding-bottom:2px!important}
.fd-won{background:none!important;border:0!important;border-top:1px solid rgba(255,255,255,.08)!important;border-radius:0!important;padding:16px 2px 2px!important}
.fd-wonitems .fd-item{border:1px solid rgba(255,255,255,.1)!important;border-radius:4px!important;padding:8px 11px!important}
.fd-crown{display:inline-flex!important;align-items:center!important;gap:5px!important;background:#6e4ff0!important;border:0!important;color:#fff!important;font-size:9px!important;font-weight:800!important;letter-spacing:.06em!important;padding:5px 9px!important;border-radius:4px!important;box-shadow:0 3px 10px rgba(110,79,240,.42)!important}
.fd-crown svg{width:11px!important;height:11px!important;flex:none}
/* ===== FLIP DETAIL — bigger content + x2 quantity badge ===== */
.fd-card>h2{font-size:24px!important}
.fd-banner b{font-size:19px!important}
.fd-shead>img{width:44px!important;height:44px!important}
.fd-shead b{font-size:14.5px!important}
.fd-shead small{font-size:11px!important}
.fd-item{padding:12px 2px!important}
.fd-item>img{width:42px!important;height:42px!important}
.fd-iname{font-size:12.5px!important}
.fd-ival{font-size:13px!important}
.fd-mid{font-size:11px!important}
.fd-mid>img{width:48px!important;height:48px!important}
.fd-qty{display:inline-flex;align-items:center;flex:none;font-size:10.5px;font-weight:800;color:#d3b8ff;background:rgba(110,79,240,.2);border:1px solid rgba(110,79,240,.36);border-radius:4px;padding:2px 7px}
.fd-wonitems .fd-qty{margin-left:1px}
/* ===== ONE PROFILE SHAPE — rounded-square everywhere (square theme), bigger chip avatar ===== */
.account>img,.player>img,.live-match-player>img,.matchup-player>img,.messages>article>img,.profile-head>img,.replay-player>img,.am-avatar,.mf-avwrap>.mf-ava,.fd-shead>img,.set-acct>img,.bot-av,.lobby .player>img,.lobby .live-match-player>img,.lobby .player.matched>.live-match-player img{border-radius:50%!important}
#profile .profile-avatar,.profile-card .profile-avatar,.profile-avatar{border-radius:50%!important}
.account>img{width:50px!important;height:50px!important}
.am-avatar{width:50px!important;height:50px!important}
.account .account-rank,.account .account-rank .account-rank-icon{width:26px!important;height:26px!important}
.am-sub img{width:24px!important;height:24px!important}
.balance b{font-size:18px!important;letter-spacing:.01em!important}
.balance em{width:21px!important;height:21px!important;background-size:165%!important;vertical-align:middle!important}
.balance small{font-size:9.5px!important}
.account-menu .am-nrow{display:flex;align-items:center;gap:7px}
.account-menu .am-crest{width:26px;height:26px;object-fit:contain;flex:none}
.account-menu .am-ranktxt{display:block;margin-top:3px;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:#b6a6d6;text-transform:uppercase}
/* ===== JACKPOT page ===== */
#jackpotPage{display:none;flex-direction:column;gap:16px;min-width:0;font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif}
#jackpotPage *{font-family:inherit}
.jp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.jp-head p{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.2em;color:#ab8fe6}
.jp-head h1{margin:2px 0 0;font-size:26px;font-weight:800;color:#fff}
.jp-timer{text-align:right}
.jp-timer small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.14em;color:#9a90b3;margin-bottom:2px}
.jp-time{font-size:30px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.jp-potrow{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:6px}
.jp-potcell small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.14em;color:#9a90b3;margin-bottom:3px}
.jp-potbig{font-size:26px;font-weight:800;color:#cdb3ff;display:inline-flex;align-items:center;gap:7px}
.jp-sub{display:flex;align-items:center;gap:10px;font-size:12px;color:#a99fc2}
.jp-dot{width:4px;height:4px;border-radius:50%;background:#6a6280;flex:none}
.jp-bar{display:flex;height:30px;border-radius:6px;overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.jp-bar>span{display:flex;align-items:center;justify-content:center;min-width:0;font-size:11px;font-weight:800;color:#fff;letter-spacing:.02em;text-shadow:0 1px 3px rgba(0,0,0,.45);overflow:hidden;white-space:nowrap}
.jp-roller{position:relative;height:100px;overflow:hidden;background:#100e18;border:1px solid rgba(255,255,255,.09);border-radius:6px}
.jp-track{display:flex;gap:8px;position:absolute;left:0;top:14px;will-change:transform}
.jp-tile{position:relative;width:72px;height:72px;flex:none;border-radius:6px;overflow:hidden;background:#1c1728;border:1px solid rgba(255,255,255,.08)}
.jp-tile:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--c);z-index:2}
.jp-tile img{width:100%;height:100%;object-fit:contain;padding:9px;background:#181322}
.jp-pointer{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:#7c5cff;box-shadow:0 0 12px rgba(124,92,255,.7);z-index:3}
.jp-pointer:before,.jp-pointer:after{content:'';position:absolute;left:50%;transform:translateX(-50%);border:6px solid transparent}
.jp-pointer:before{top:0;border-top-color:#7c5cff}
.jp-pointer:after{bottom:0;border-bottom-color:#7c5cff}
.jp-winner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;background:rgba(16,14,24,.93);z-index:4;animation:gf-modal-in .25s ease both}
.jp-winner[hidden]{display:none}
.jp-winner>img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55))}
.jp-winner small{font-size:9.5px;font-weight:800;letter-spacing:.16em;color:#9a90b3}
.jp-winner b{display:block;font-size:20px;font-weight:800;color:#fff;margin-top:2px}
.jp-wamt{font-size:20px;font-weight:800;color:#8fe6c6;display:inline-flex;align-items:center;gap:6px}
.jp-spin{padding:15px;border-radius:6px;background:#6e4ff0;border:0;color:#fff;font-size:13px;font-weight:800;letter-spacing:.08em;cursor:pointer;transition:background .12s}
.jp-spin:hover{background:#7d61ff}
.jp-spin:disabled{background:#463d5e;cursor:default}
.jp-players{display:flex;flex-direction:column;gap:8px}
.jp-player{display:flex;align-items:center;gap:12px;padding:11px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-left:3px solid #6e4ff0;border-radius:5px}
.jp-player>img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#241d33;flex:none}
.jp-pinfo{flex:1;min-width:0}
.jp-pinfo b{display:block;font-size:13px;font-weight:700;color:#f1eef8}
.jp-pinfo small{font-size:11px;color:#a099bb}
.jp-pval{text-align:right;white-space:nowrap}
.jp-pval b{font-size:14px;font-weight:800;color:#eee9f6;display:inline-flex;align-items:center;gap:5px}
.jp-pval small{display:block;margin-top:2px;font-size:11px;font-weight:700;color:#cdb3ff}
.jp-join{padding:13px;border-radius:6px;background:rgba(150,94,255,.14);border:1px solid rgba(150,94,255,.34);color:#d3b8ff;font-size:12.5px;font-weight:800;letter-spacing:.05em;cursor:pointer}
.jp-join:hover{background:rgba(150,94,255,.24)}
.jp-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.jp-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:138px;padding:16px 12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-top:3px solid var(--c);border-radius:6px;transition:transform .13s ease,box-shadow .13s}
.jp-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.38)}
.jp-card>img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.jp-card>b{font-size:14px;font-weight:800;color:#f4f0fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.jp-card-val{font-size:13.5px;font-weight:800;color:#cdb3ff;display:inline-flex;align-items:center;gap:5px}
.jp-card-pct{font-size:11px;font-weight:800;color:var(--c);letter-spacing:.02em}
@media(max-width:760px){.jp-cards{grid-template-columns:repeat(2,1fr)}.jp-card{grid-column:span 1!important}}
/* ===== JACKPOT PROFESSIONAL REVAMP ===== */
#jackpotPage{gap:14px!important}
.jp-hero{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:20px!important;padding:24px 30px!important;background:rgba(255,255,255,.022)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:10px!important}
.jp-h-time{justify-self:start}
.jp-h-time small,.jp-h-pot small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.18em;color:#8a80a3;margin-bottom:7px}
.jp-h-time .jp-time{font-size:29px!important;font-weight:800;color:#ece9f3;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1}
.jp-h-prog{position:relative;display:block;margin-top:12px;width:240px;height:6px;border-radius:4px;background:rgba(255,255,255,.09);overflow:visible}
.jp-h-prog>i{position:relative;display:block;height:100%;background:#7c5cff;border-radius:4px;transition:width 1s linear}
.jp-h-prog>i:after{content:'';position:absolute;right:-2px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:#c9b8ff;box-shadow:0 0 10px rgba(169,134,255,.95),0 0 3px rgba(255,255,255,.7)}
.jp-time.low{color:#ff9f52!important;animation:jp-lowpulse 1s ease-in-out infinite}
.jp-time.low~.jp-h-prog>i{background:#ff9f52}
.jp-time.low~.jp-h-prog>i:after{background:#ffcf9c;box-shadow:0 0 10px rgba(255,159,82,.95),0 0 3px rgba(255,255,255,.7)}
@keyframes jp-lowpulse{0%,100%{opacity:1}50%{opacity:.5}}
.jp-h-pot{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 88px;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08)}
.jp-h-pot .jp-potbig{font-size:46px!important;font-weight:800;color:#fff;display:inline-flex;align-items:center;gap:12px;letter-spacing:-.02em;line-height:1}
.jp-h-pot .jp-potbig .g-coin{width:34px!important;height:34px!important}
.jp-h-meta{display:block;margin-top:11px;font-size:12px;font-weight:600;color:#948aad}
.jp-h-cta{justify-self:end;display:flex;align-items:center;gap:16px}
.jp-h-avs{display:flex;align-items:center}
.jp-h-av{width:38px;height:38px;border-radius:50%;object-fit:contain;background:#1b1626;border:2px solid #6e4ff0;margin-left:-11px;box-shadow:0 3px 8px rgba(0,0,0,.42);padding:4px}
.jp-h-avs>.jp-h-av:first-child{margin-left:0}
.jp-h-more{display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;color:#cdb3ff;background:#241d33!important;border-color:rgba(255,255,255,.2)!important;padding:0!important}
.jp-deposit{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:8px;background:#6e4ff0;border:0;color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 22px rgba(110,79,240,.32),inset 0 1px 0 rgba(255,255,255,.22);transition:background .12s,transform .1s,box-shadow .12s}
.jp-deposit:before{content:'+';font-size:17px;line-height:0;margin-top:-1px;opacity:.85}
.jp-deposit:hover{box-shadow:0 10px 26px rgba(110,79,240,.4),inset 0 1px 0 rgba(255,255,255,.26)}
.jp-deposit:hover{background:#7d61ff}
.jp-deposit:active{transform:scale(.98)}
.jp-deposit.jp-cancel{background:#292035;border:1px solid #9a71e8;box-shadow:none}
.jp-deposit.jp-cancel:before{content:'×'}
.jp-deposit.jp-cancel:hover{background:#352644;border-color:#ba99ff;box-shadow:0 8px 20px rgba(128,83,222,.2)}
.jp-bar{height:44px!important;border-radius:10px!important;gap:3px!important;background:transparent!important;border:0!important;overflow:hidden}
.jp-seg{gap:7px;padding:0 10px;position:relative;background:var(--c)!important;overflow:hidden}
.jp-seg:after{content:'';position:absolute;left:0;right:0;top:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.24),transparent);pointer-events:none;z-index:0}
.jp-seg-av{width:28px;height:28px;border-radius:50%;object-fit:contain;background:rgba(0,0,0,.32);padding:3px;flex:none;position:relative;z-index:1;box-shadow:0 0 0 1.5px rgba(255,255,255,.34)}
.jp-seg b{font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.32)}
.jp-seg em{font-style:normal;font-size:12.5px;font-weight:800;position:relative;z-index:1;background:rgba(0,0,0,.22);padding:3px 8px;border-radius:6px}
.jp-seg:hover:before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.14);pointer-events:none;z-index:0}
.jp-roller{height:116px!important;border-radius:8px!important;background:#0b0910!important;box-shadow:inset 0 0 46px rgba(0,0,0,.66)}
.jp-roller:before,.jp-roller:after{content:'';position:absolute;top:0;bottom:0;width:104px;z-index:2;pointer-events:none}
.jp-roller:before{left:0;background:linear-gradient(90deg,#0b0910,transparent)}
.jp-roller:after{right:0;background:linear-gradient(270deg,#0b0910,transparent)}
.jp-track{top:21px!important}
.jp-tile{border-radius:7px!important}
.jp-pointer{width:3px!important;background:#a986ff!important;box-shadow:0 0 16px rgba(169,134,255,.9),0 0 44px rgba(124,92,255,.55)!important}
.jp-pointer:before{border-width:8px!important;border-top-color:#a986ff!important}
.jp-pointer:after{border-width:8px!important;border-bottom-color:#a986ff!important}
.jp-rollbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 2px}
.jp-rolllabel{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#8f85a8}
.jp-rolllabel:before{content:'';width:7px;height:7px;border-radius:50%;background:#5ce08a;box-shadow:0 0 8px rgba(92,224,138,.85)}
.jp-spin{padding:10px 20px!important;font-size:11px!important;font-weight:800!important;letter-spacing:.08em!important;border-radius:7px!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.12)!important;color:#d8d2e8!important;box-shadow:none!important;transition:background .12s}
.jp-spin:hover{background:rgba(255,255,255,.09)!important}
.jp-spin:disabled{opacity:.45!important;background:rgba(255,255,255,.03)!important;cursor:default!important}
.jp-cards{gap:10px!important}
.jp-card{min-height:0!important;padding:18px 12px 15px!important;gap:9px!important;border-radius:8px!important;background:rgba(255,255,255,.025)!important}
.jp-card>img{width:58px!important;height:58px!important}
.jp-card>b{font-size:14px!important}
.jp-card-val{font-size:14px!important;color:#e7dffb!important}
@media(max-width:820px){.jp-hero{grid-template-columns:1fr!important;text-align:center;gap:14px;padding:20px}.jp-h-time,.jp-h-cta{justify-self:center}.jp-h-pot{border:0!important;padding:0!important;align-self:auto!important}.jp-h-prog{margin-left:auto;margin-right:auto}.jp-h-pot .jp-potbig{font-size:38px!important}.jp-cards{grid-template-columns:repeat(2,1fr)!important}}
/* ===== JACKPOT JOIN modal (item picker, like Create Coinflip) ===== */
#jpJoinModal.modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:6400!important;background:rgba(6,5,11,.74)!important;grid-template-columns:none!important;grid-template-rows:none!important}
#jpJoinModal.modal.show{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#jpJoinModal .jpj-card{width:min(720px,94vw)!important;max-width:none!important;margin:0!important}
.jpj-card{position:relative;height:min(620px,88vh);display:flex;flex-direction:column;background:#15121e;border:1px solid rgba(255,255,255,.09);border-radius:8px;box-shadow:0 28px 82px rgba(0,0,0,.62);padding:22px 22px 18px;color:#e9e5f4;font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif;animation:gf-modal-in .2s ease both}
.jpj-card *{font-family:inherit}
.jpj-card>p{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.2em;color:#ab8fe6}
.jpj-card>h2{margin:4px 0 4px;font-size:22px;font-weight:800;color:#fff}
.jpj-sub{margin:0 0 14px;font-size:12.5px;line-height:1.4;color:#a99fc2}
.jpj-grid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:10px;padding-right:6px;margin-right:-4px}
.jpj-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 10px 12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:border-color .12s,background .12s,transform .12s}
.jpj-item:hover{border-color:rgba(180,140,255,.4);transform:translateY(-3px)}
.jpj-item.sel{border-color:#6e4ff0;background:rgba(110,79,240,.12)}
.jpj-item>img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.jpj-item>b{font-size:12px;font-weight:700;color:#eee9f6;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.jpj-val{font-size:12px;font-weight:800;color:#cdb3ff;display:inline-flex;align-items:center;gap:4px}
.jpj-check{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:4px;border:1.5px solid rgba(255,255,255,.28);background:rgba(0,0,0,.35)}
.jpj-item.sel .jpj-check{border-color:#6e4ff0;background:#6e4ff0}
.jpj-item.sel .jpj-check:after{content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.jpj-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap}
.jpj-foot>span{font-size:13px;font-weight:700;color:#c9c2da;display:inline-flex;align-items:center;gap:5px}
.jpj-join{padding:13px 26px;border-radius:6px;background:#6e4ff0;border:0;color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.04em;cursor:pointer}
.jpj-join:hover{background:#7d61ff}
.jpj-join:disabled{opacity:.45;cursor:default;background:#463d5e}
.myflips-card>p{margin:0;font-size:10px;font-weight:800;letter-spacing:.22em;color:#a98fd0}
.myflips-card>h2{margin:3px 0 4px;font:800 27px/1.1 Inter,Arial,sans-serif;color:#fbf9ff}
.mf-sub{margin:0 0 15px;font-size:12.5px;line-height:1.4;color:#a99fb8;font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif}
.mf-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,318px),1fr));gap:12px;align-content:start;padding-right:6px;margin-right:-4px}
@media(max-width:620px){.myflips-card{height:min(660px,90vh)}}
.mf-list::-webkit-scrollbar{width:7px}
.mf-list::-webkit-scrollbar-thumb{background:rgba(170,140,230,.28);border-radius:8px}
.mf-list::-webkit-scrollbar-track{background:transparent}
.mf-row{display:flex;align-items:center;gap:13px;padding:13px 15px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;cursor:pointer;transition:transform .13s ease,background .12s,border-color .12s,box-shadow .13s}
.mf-row:hover{background:rgba(255,255,255,.06);border-color:rgba(180,140,255,.3);transform:translateY(-2px);box-shadow:0 9px 22px rgba(0,0,0,.36)}
.mf-avwrap{position:relative;width:46px;height:46px;flex:none}
.mf-avwrap>.mf-ava{width:46px;height:46px;border-radius:7px;object-fit:cover;background:#241d33;border:1px solid rgba(255,255,255,.1)}
.mf-badge{position:absolute;right:-4px;bottom:-4px;width:19px;height:19px;border-radius:6px;padding:2px;background:#14111d;border:1px solid rgba(255,255,255,.14);object-fit:contain}
.mf-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.mf-l1,.mf-l2{display:flex;align-items:center;gap:10px}
.mf-title{flex:1;min-width:0;font-size:14.5px;font-weight:800;color:#f4f0fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mf-val{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:17px;font-weight:800}
.mf-val.win{color:#8fe6c6}.mf-val.loss{color:#ff9aa4}
.mf-hash{flex:1;min-width:0;display:inline-flex;align-items:center;gap:6px;font:600 12px/1 ui-monospace,Menlo,Consolas,monospace;color:#a99cc0;cursor:pointer;letter-spacing:.01em}
.mf-hash>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mf-hash>svg{width:14px;height:14px;flex:none;opacity:.7}
.mf-hash:hover{color:#cbb0ff}
.mf-l2 small{flex:none;font-size:10px;color:#8a809f}
.mf-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.mf-foot small{font-size:10px;color:#8a809f;max-width:58%;line-height:1.4}
.mf-pf{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;background:rgba(150,94,255,.14);border:1px solid rgba(150,94,255,.32);color:#d3b8ff;font:800 10.5px/1 Inter,Arial,sans-serif;letter-spacing:.07em;cursor:pointer;white-space:nowrap}
.mf-pf:hover{background:rgba(150,94,255,.22);border-color:rgba(150,94,255,.5)}
.mf-pf svg{width:14px;height:14px}
/* ===== PROVABLY FAIR — wide, boxy, readable ===== */
.pf-card{position:relative;width:min(820px,95vw);max-height:92vh;overflow-y:auto;background:#171423;border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 34px 90px rgba(0,0,0,.65);padding:26px 28px;color:#e9e5f4;font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif}
.pf-card::-webkit-scrollbar{width:8px}.pf-card::-webkit-scrollbar-thumb{background:rgba(170,140,230,.3);border-radius:8px}
.pf-hero>p{margin:0;font-size:11px;font-weight:800;letter-spacing:.22em;color:#c0a6f5}
.pf-hero>h2{margin:5px 0 8px;font:800 26px/1.05 Manrope,'Segoe UI',sans-serif;color:#fff;letter-spacing:-.01em}
.pf-lead{margin:0 0 20px;font-size:13.5px;line-height:1.55;color:#d6d0e6;max-width:74ch}
.pf-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
.pf-how,.pf-side{min-width:0}
.pf-card,.pf-card h2,.pf-card h3,.pf-card p,.pf-card b,.pf-card small,.pf-card span,.pf-card button,.pf-card div{font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif!important}
.pf-card .pf-form input,.pf-card .pf-seed b,.pf-card .pf-kv span{font-family:ui-monospace,Menlo,Consolas,monospace!important}
.pf-how>h3,.pf-box>h3{margin:0 0 13px;font-size:12px;font-weight:800;letter-spacing:.08em;color:#fff;text-transform:uppercase}
.pf-steps{display:flex;flex-direction:column;gap:14px}
.pf-step{display:grid;grid-template-columns:26px 1fr;gap:11px;align-items:start}
.pf-step>span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:rgba(150,94,255,.22);border:1px solid rgba(150,94,255,.42);color:#e0ccff;font:800 12px/1 Manrope,sans-serif}
.pf-step b{display:block;font-size:13px;font-weight:800;color:#f8f5fd;margin-bottom:2px}
.pf-step p{margin:0;font-size:12.5px;line-height:1.5;color:#cec8de}
.pf-side{display:flex;flex-direction:column;gap:14px}
.pf-box{padding:16px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}
.pf-box>p{margin:0 0 12px;font-size:12.5px;line-height:1.5;color:#cec8de}
.pf-form{display:flex;gap:8px}
.pf-form input{flex:1;min-width:0;padding:12px 13px;border-radius:10px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.14);color:#f8f5fd;font:600 12px/1 ui-monospace,Menlo,Consolas,monospace;outline:none}
.pf-form input::placeholder{color:#8f85a8}
.pf-form input:focus{border-color:rgba(150,94,255,.65)}
.pf-form button{flex:none;padding:0 18px;border-radius:10px;background:#6e4ff0;border:0;color:#fff;font:800 11.5px/1 Manrope,sans-serif;letter-spacing:.06em;cursor:pointer}
.pf-form button:hover{background:#7d61ff}
.pf-result{margin-top:14px;padding:14px;border-radius:12px;background:rgba(90,220,180,.08);border:1px solid rgba(90,220,180,.26)}
.pf-result[hidden]{display:none}
.pf-verdict{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:#8fe6c6;margin-bottom:11px;line-height:1.3}
.pf-verdict svg{width:19px;height:19px;flex:none}
.pf-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08);font-size:11px}
.pf-kv:first-of-type{border-top:0;padding-top:0}
.pf-kv b{color:#b7aecc;font-weight:600;flex:none}
.pf-kv span{font-family:ui-monospace,Menlo,Consolas,monospace;color:#ece7f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:58%;text-align:right}
.pf-kv span.pf-out{font-family:inherit;font-weight:800}
.pf-kv span.pf-out.heads{color:#73b9ff}.pf-kv span.pf-out.tails{color:#ff8d99}
.pf-seedbox{display:flex;flex-direction:column;gap:12px}
.pf-seed small{display:block;font-size:9px;font-weight:800;letter-spacing:.12em;color:#a49bc4;margin-bottom:5px}
.pf-seed b{font:600 11px/1.45 ui-monospace,Menlo,Consolas,monospace;color:#e0dbf0;word-break:break-all}
@media(max-width:720px){.pf-grid{grid-template-columns:1fr}.pf-hero>h2{font-size:23px}.pf-card{width:min(560px,95vw)}}
/* ===== FLIP DETAIL — items staked + won (opens from a My Flips row) ===== */
.fd-card{position:relative;width:min(680px,94vw);max-height:90vh;overflow-y:auto;background:rgba(18,15,25,.995);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 34px 90px rgba(0,0,0,.65);padding:24px 24px 22px;color:#eceaf3}
.fd-card::-webkit-scrollbar{width:8px}.fd-card::-webkit-scrollbar-thumb{background:rgba(170,140,230,.3);border-radius:8px}
.fd-card>p{margin:0;font-size:10px;font-weight:800;letter-spacing:.2em;color:#b79bec}
.fd-card>h2{margin:4px 0 14px;font:800 22px/1.1 Inter,Arial,sans-serif;color:#fff}
.fd-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-radius:13px;margin-bottom:16px;font:800 12px/1 Inter,Arial,sans-serif;letter-spacing:.06em}
.fd-banner.win{background:rgba(90,220,180,.1);border:1px solid rgba(90,220,180,.28);color:#8fe6c6}
.fd-banner.loss{background:rgba(255,92,108,.09);border:1px solid rgba(255,92,108,.26);color:#ff9aa4}
.fd-banner b{display:inline-flex;align-items:center;gap:6px;font-size:17px}
.fd-stakes{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}
.fd-side{padding:14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.fd-side.winner{background:rgba(150,94,255,.08);border-color:rgba(150,94,255,.3)}
.fd-shead{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.fd-shead>img{width:38px;height:38px;border-radius:7px;object-fit:cover;background:#241d33;border:1px solid rgba(255,255,255,.1);flex:none}
.fd-shead b{display:block;font-size:13px;font-weight:800;color:#f1eef8}
.fd-shead small{font-size:10px;color:#9a90b3;display:inline-flex;align-items:center;gap:4px}
.fd-crown{margin-left:auto;font-size:8.5px;font-weight:800;letter-spacing:.06em;color:#d3b8ff;background:rgba(150,94,255,.16);border:1px solid rgba(150,94,255,.34);padding:3px 7px;border-radius:6px;flex:none}
.fd-items{display:flex;flex-direction:column;gap:7px}
.fd-item{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;background:rgba(0,0,0,.24)}
.fd-item>img{width:30px;height:30px;object-fit:contain;flex:none}
.fd-iname{flex:1;min-width:0;font-size:11px;font-weight:600;color:#dcd7ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-ival{font-size:11px;font-weight:800;color:#cdb3ff;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;flex:none}
.fd-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:800 10px/1 Inter,Arial,sans-serif;color:#9a90b3}
.fd-mid>img{width:40px;height:40px;object-fit:contain}
.fd-won{margin-top:16px;padding:14px 16px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.fd-won>span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#9a90b3;margin-bottom:10px}
.fd-wonitems{display:flex;flex-wrap:wrap;gap:8px}
.fd-wonitems .fd-item{background:rgba(150,94,255,.08);border:1px solid rgba(150,94,255,.22);flex:0 0 auto}
.fd-fair{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.fd-fair small{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:#8f85ac;margin-bottom:5px}
.fd-fair b{font:600 11.5px/1 ui-monospace,Menlo,Consolas,monospace;color:#c9c2da;cursor:pointer}
.fd-fair b:hover{color:#cbb0ff}
.fd-verify{flex:none;display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:11px;background:rgba(150,94,255,.16);border:1px solid rgba(150,94,255,.36);color:#d3b8ff;font:800 10.5px/1 Inter,Arial,sans-serif;letter-spacing:.07em;cursor:pointer;white-space:nowrap}
.fd-verify:hover{background:rgba(150,94,255,.26)}
.fd-verify svg{width:14px;height:14px}
@media(max-width:600px){.fd-stakes{grid-template-columns:1fr}.fd-mid{flex-direction:row;padding:6px 0}.fd-fair{flex-direction:column;align-items:stretch}.fd-verify{justify-content:center}}
/* ===== JACKPOT player cards v2 ===== */
.jp-card{min-height:182px!important;padding:20px 16px 16px!important;gap:8px!important;justify-content:flex-start!important;align-items:center!important;overflow:hidden}
.jp-card-av{width:62px!important;height:62px!important;border-radius:50%!important;object-fit:contain!important;background:#191423!important;border:2px solid var(--c)!important;padding:9px!important;box-shadow:0 5px 14px rgba(0,0,0,.42)!important;filter:none!important;margin-bottom:3px}
.jp-card-name{display:inline-flex!important;align-items:center;gap:7px;font-size:15px!important;font-weight:800;color:#f4f0fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.jp-card-val{font-size:17px!important;font-weight:800;color:#fff!important;display:inline-flex;align-items:center;gap:6px}
.jp-card-bar{width:min(100%,300px);height:7px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:auto}
.jp-card-bar>i{display:block;height:100%;background:var(--c);border-radius:4px;transition:width .4s ease}
.jp-card-pct{font-size:12px!important;font-weight:700;color:#a99fc2!important;margin-top:9px}
.jp-card-pct em{font-style:normal;font-weight:800;color:var(--c)}
.jp-lead{background:rgba(255,255,255,.045)!important}
.jp-lead .jp-card-av{box-shadow:0 5px 16px rgba(0,0,0,.45),0 0 0 4px color-mix(in srgb,var(--c) 20%,transparent)!important}
.jp-lead .jp-card-name:after{content:'';width:15px;height:15px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffcf5a'%3E%3Cpath d='M3 8l4.2 2.8L12 4l4.8 6.8L21 8l-2 11H5L3 8z'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:820px){.jp-card{min-height:0!important}.jp-card-bar{margin-top:10px}}
.jp-card{background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.011))!important}
.jp-lead{background:linear-gradient(180deg,rgba(255,255,255,.058),rgba(255,255,255,.019))!important}
.jp-card{overflow:visible!important}
.jp-card-items{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:8px;flex-wrap:wrap;max-width:100%}
.jp-ci-w{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s}
.jp-ci-w:hover{transform:translateY(-3px) scale(1.06);z-index:6}
.jp-ci-w img.jp-ci{width:100%;height:100%;object-fit:contain;padding:1px;display:block;background:none;border:0;filter:drop-shadow(0 4px 7px rgba(0,0,0,.55))}
.jp-ci-x{position:absolute;right:-6px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#2c2442;border:1px solid rgba(255,255,255,.2);color:#e7dffb;font:800 10px/18px DM Mono,monospace;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.45)}
.jp-ci-more{color:#b9afd0!important;font:800 13px/1 DM Mono,monospace!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.11);border-radius:9px}
.jp-ci-w[data-name]:hover:after{content:attr(data-name);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 10px;border-radius:7px;background:#0b0910;border:1px solid rgba(255,255,255,.14);color:#f1ecfa;font:700 11px/1 Manrope,sans-serif!important;letter-spacing:.02em;box-shadow:0 8px 20px rgba(0,0,0,.55);z-index:9;pointer-events:none}
.jp-ci-w[data-name]:hover:before{content:'';position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#0b0910;z-index:9}
/* Jackpot: recent-jackpots list below cards (compact, clickable) */
.jp-recent{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.jp-recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px}
.jp-recent-head b{font:800 12.5px/1 Space Grotesk,sans-serif;letter-spacing:.06em;color:#e4ddf2}
.jp-recent-head span{font-size:11px;color:#8f85a8}
.jp-recent-list{display:flex;flex-direction:column;gap:8px}
.jp-rr{display:grid;grid-template-columns:24px 44px minmax(120px,1fr) 42px 56px minmax(96px,auto) 15px;align-items:center;gap:14px;padding:11px 16px 11px 13px;background:rgba(255,255,255,.022);border:1px solid rgba(255,255,255,.07);border-left:3px solid var(--c);border-radius:10px;cursor:pointer;transition:background .12s,transform .1s}
.jp-rr:hover{background:rgba(255,255,255,.05);transform:translateX(2px)}
.jp-rr-rank{font:800 13px/1 DM Mono,monospace;color:#6f6788;text-align:center}
.jp-rr-av{width:42px;height:42px;border-radius:50%;object-fit:contain;background:#191423;border:1.5px solid var(--c);padding:5px;flex:none}
.jp-rr-id{min-width:0}
.jp-rr-id b{display:block;font-size:14.5px;font-weight:800;color:#f4f0fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jp-rr-id small{font-size:11px;color:#8f85a8}
.jp-rr-item{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}
.jp-rr-pct{font-size:13px;font-weight:800;color:var(--c);text-align:right}
.jp-rr-pot{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:800;color:#cdb3ff;justify-content:flex-end;white-space:nowrap}
.jp-rr-go{width:14px;height:14px;color:#6a6280}
.jp-rr:hover .jp-rr-go{color:#c1b6dd}
@media(max-width:820px){.jp-rr{grid-template-columns:22px 36px minmax(80px,1fr) auto auto;gap:10px}.jp-rr-item,.jp-rr-go{display:none}}
/* Jackpot round-detail modal (wide, professional) */
#jpDetailModal.modal{position:fixed!important;inset:0!important;display:none!important;align-items:center;justify-content:center;padding:18px;z-index:6500!important;background:rgba(6,5,11,.8)!important;grid-template-columns:none!important}
#jpDetailModal.modal.show{display:flex!important}
#jpDetailModal .jpd-card{position:relative;width:min(880px,96vw)!important;max-width:none!important;max-height:92vh;overflow-y:auto;background:#16121f!important;border:1px solid rgba(255,255,255,.1)!important;border-top:1px solid rgba(255,255,255,.1)!important;border-radius:14px;box-shadow:0 34px 100px rgba(0,0,0,.66);padding:28px!important;color:#eee9f6;font-family:Manrope,'Segoe UI',system-ui,Arial,sans-serif;animation:gf-modal-in .2s ease both}
.jpd-card *{font-family:inherit}
.jpd-card>.close{position:absolute;right:16px;top:15px;display:grid;place-items:center;width:38px;height:38px;border:0;background:none;color:#d9d0e2;font-size:28px;font-weight:800;line-height:1;cursor:pointer;border-radius:9px}
.jpd-card>.close:hover{background:#2a2431;color:#fff}
.jpd-card>p{margin:0 0 18px;font:800 11px/1 DM Mono,monospace;letter-spacing:.24em;color:#b493f2}
.jpd-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 24px;background:rgba(150,94,255,.09);border:1px solid rgba(150,94,255,.22);border-left:3px solid var(--c);border-radius:12px}
.jpd-avwrap{position:relative;flex:none}
.jpd-av{width:66px;height:66px;border-radius:50%;object-fit:contain;background:#191423;border:2px solid var(--c);padding:9px;display:block}
.jpd-crown{position:absolute;right:-5px;bottom:-5px;width:26px;height:26px;display:grid;place-items:center;background:#211a30;border:2px solid #16121f;border-radius:50%}
.jpd-crown svg{width:15px;height:15px}
.jpd-hid{min-width:0}
.jpd-hid small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.18em;color:#ffcf5a;margin-bottom:4px}
.jpd-hid h2{margin:0;font-size:24px;font-weight:800;color:#f9f6ff;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jpd-hid span{display:block;margin-top:6px;font-size:13px;color:#a99fc2}
.jpd-hpot{text-align:right;flex:none}
.jpd-hpot small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.14em;color:#9a8fbf;margin-bottom:4px}
.jpd-hpot b{font-size:30px;font-weight:800;color:#d6bfff;display:inline-flex;align-items:center;gap:8px;line-height:1}
.jpd-hpot b .g-coin{width:24px!important;height:24px!important}
.jpd-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start}
.jpd-sec-h{font:800 10px/1 Space Grotesk,sans-serif;letter-spacing:.14em;color:#9a90b3;margin-bottom:11px}
.jpd-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.jpd-stats>div{padding:14px 10px;text-align:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px}
.jpd-stats small{display:block;font-size:9px;font-weight:800;letter-spacing:.1em;color:#8f85a8;margin-bottom:6px}
.jpd-stats b{font-size:17px;font-weight:800;color:#d6bfff}
.jpd-chips{display:flex;flex-wrap:wrap;gap:9px}
.jpd-chip{width:46px;height:46px;border-radius:50%;object-fit:contain;background:#191423;border:2px solid var(--c);padding:6px}
.jpd-chip.win{box-shadow:0 0 0 3px rgba(255,207,90,.3)}
.jpd-fair{margin-top:16px;border:1px solid rgba(255,255,255,.09);border-radius:11px;overflow:hidden}
.jpd-fair-h{display:flex;align-items:center;gap:9px;padding:14px 18px;background:rgba(78,211,147,.08);border-bottom:1px solid rgba(255,255,255,.08);font:800 13px/1 Space Grotesk,sans-serif;letter-spacing:.04em;color:#8fe6c6}
.jpd-fair-h svg{width:17px;height:17px}
.jpd-row{display:grid;grid-template-columns:200px 1fr 16px;align-items:center;gap:16px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.05);cursor:pointer}
.jpd-row:hover{background:rgba(255,255,255,.035)}
.jpd-row>span{font-size:12.5px;font-weight:700;color:#a99fc2}
.jpd-row>b{font:700 13.5px/1.5 'DM Mono',monospace;color:#efeaf7;word-break:break-all;letter-spacing:.02em}
.jpd-copy{width:15px;height:15px;color:#7a7192}
.jpd-row:hover .jpd-copy{color:#c9bce6}
.jpd-fair-note{padding:14px 18px;border-top:1px solid rgba(255,255,255,.05);font-size:11.5px;line-height:1.55;color:#8f85a8}
.jpd-verify{width:100%;margin-top:16px;padding:16px;border:1px solid rgba(150,94,255,.4);border-radius:10px;background:rgba(150,94,255,.18);color:#e0ccff;font:800 13px/1 Space Grotesk,sans-serif;letter-spacing:.06em;cursor:pointer;transition:background .12s}
.jpd-verify:hover{background:rgba(150,94,255,.3)}
@media(max-width:680px){.jpd-grid{grid-template-columns:1fr}.jpd-hero{grid-template-columns:auto 1fr;gap:14px}.jpd-hpot{grid-column:1/3;text-align:left;margin-top:4px}.jpd-row{grid-template-columns:1fr 16px}.jpd-row>span{grid-column:1/3;margin-bottom:3px}}

/* Coinflip browser filter — richer controls, but still one fast scan. */
.filter-card.filter-card-v2{width:min(690px,calc(100vw - 28px))!important;max-width:none!important;padding:28px!important;background:linear-gradient(145deg,#15121b 0%,#101015 72%)!important;border:1px solid #393043!important;border-top:2px solid #a169f1!important;border-radius:13px!important;box-shadow:0 28px 90px rgba(0,0,0,.64)!important;color:#f1edf8!important}
.filter-card-v2>.close{right:18px!important;top:15px!important;width:34px!important;height:34px!important;border:0!important;background:transparent!important;color:#c8bed6!important;font-size:28px!important;line-height:1!important}
.filter-card-v2>.close:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
.filter-card-v2 .filter-card-head{margin:0 0 23px!important;padding:0!important;border:0!important}
.filter-card-v2 .filter-card-head p{margin:0 0 8px!important;color:#ae82ec!important;font:800 10px/1 "DM Mono",monospace!important;letter-spacing:.16em!important}
.filter-card-v2 .filter-card-head h2{margin:0!important;color:#f7f4fc!important;font:800 30px/1.05 Manrope,"Segoe UI",sans-serif!important;letter-spacing:-.045em!important}
.filter-card-v2 .filter-card-head small{display:block;margin-top:7px;color:#aaa1b8!important;font:500 14px/1.45 Manrope,"Segoe UI",sans-serif!important}
.filter-v2-grid{display:grid;gap:14px}
.filter-card-v2 .filter-v2-section{padding:0!important;border:0!important;background:transparent!important}
.filter-v2-section>span,.filter-sort-select>span{display:block;margin:0 0 9px;color:#aaa0bd;font:800 10px/1 "DM Mono",monospace;letter-spacing:.13em}
.filter-v2-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.filter-v2-options button{min-height:67px;padding:11px 13px;border:1px solid #302a38;border-radius:8px;background:#111015;color:#b9b0c8;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s}
.filter-v2-options button:hover{transform:translateY(-1px);border-color:#71518f;background:#181421;color:#ece5f8}
.filter-v2-options button.selected{border-color:#a66df4;background:linear-gradient(135deg,rgba(137,83,226,.26),rgba(84,44,137,.2));box-shadow:inset 0 0 0 1px rgba(192,156,255,.08);color:#f6efff}
.filter-v2-options b{display:block;font:800 11px/1.2 "DM Mono",monospace;letter-spacing:.03em}
.filter-v2-options small{display:block;margin-top:6px;font:500 11px/1.2 Manrope,"Segoe UI",sans-serif;color:#978da8}
.filter-v2-options button.selected small{color:#cfb9f6}
.filter-value-presets{display:flex;gap:7px;margin-bottom:9px}
.filter-value-presets button{min-width:62px;padding:9px 10px;border:1px solid #302a38;border-radius:7px;background:#111015;color:#b9b0c8;font:800 11px/1 "DM Mono",monospace;cursor:pointer;transition:.15s}
.filter-value-presets button:hover{border-color:#76549a;color:#ebe2fb}
.filter-value-presets button.selected{border-color:#9b63e8;background:#2b1d43;color:#f4edff;box-shadow:0 0 13px rgba(145,87,230,.15)}
.filter-card-v2 .filter-value-input{display:flex!important;width:100%!important;height:51px!important;overflow:hidden!important;border:1px solid #393242!important;border-radius:8px!important;background:#0e0d12!important}
.filter-card-v2 .filter-value-input:focus-within{border-color:#9a64e8!important;box-shadow:0 0 0 3px rgba(151,94,235,.12)!important}
.filter-card-v2 .filter-value-input em{display:grid!important;place-items:center!important;width:61px!important;border-right:1px solid #393242!important;background:#191521!important;color:#c5a5fb!important;font:800 12px/1 "DM Mono",monospace!important;font-style:normal!important}
.filter-card-v2 .filter-value-input input{min-width:0!important;flex:1!important;padding:0 15px!important;border:0!important;outline:0!important;background:transparent!important;color:#f2edf9!important;font:700 14px/1 Manrope,"Segoe UI",sans-serif!important}
.filter-card-v2 .filter-value-input input::placeholder{color:#777080!important}
.filter-v2-controls{display:grid;grid-template-columns:1fr 220px;gap:13px;align-items:stretch}
.filter-mine-toggle{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid #302a38;border-radius:8px;background:#111015;cursor:pointer;user-select:none}
.filter-mine-toggle input{position:absolute;opacity:0;pointer-events:none}
.filter-mine-toggle i{position:relative;display:block;width:33px;height:19px;flex:none;border-radius:99px;background:#423b4e;transition:.18s}
.filter-mine-toggle i:after{content:"";position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:#d6cfdf;transition:.18s}
.filter-mine-toggle input:checked+i{background:#9560e2;box-shadow:0 0 14px rgba(148,91,234,.25)}
.filter-mine-toggle input:checked+i:after{left:17px;background:#fff}
.filter-mine-toggle b{display:block;color:#e9e3f2;font:800 12px/1.2 Manrope,"Segoe UI",sans-serif}
.filter-mine-toggle small{display:block;margin-top:4px;color:#968da5;font:500 11px/1.2 Manrope,"Segoe UI",sans-serif}
.filter-sort-select{display:block;padding:10px 12px;border:1px solid #302a38;border-radius:8px;background:#111015}
.filter-sort-select>span{margin-bottom:5px}
.filter-sort-select select{width:100%;appearance:none;border:0;outline:0;background:transparent;color:#e9e2f5;font:800 12px/1.2 Manrope,"Segoe UI",sans-serif;cursor:pointer}
.filter-sort-select option{background:#17131e;color:#eee8f7}
.filter-v2-summary{min-height:16px;margin:18px 0 15px;color:#a99fbb;font:600 11px/1.4 "DM Mono",monospace;letter-spacing:.025em}
.filter-card-v2 .modal-actions{display:grid!important;grid-template-columns:150px 1fr!important;gap:9px!important;margin:0!important;padding-top:15px!important;border-top:1px solid #2a2431!important;background:transparent!important}
.filter-card-v2 .modal-actions button{height:46px!important;border-radius:7px!important;font:800 11px/1 "DM Mono",monospace!important;letter-spacing:.06em!important}
.filter-card-v2 #resetSimpleFilters{border:1px solid #393242!important;background:transparent!important;color:#c9c0d5!important}
.filter-card-v2 #resetSimpleFilters:hover{border-color:#8060a6!important;background:#1b1622!important;color:#fff!important}
.filter-card-v2 #setSimpleFilters{border:1px solid #a366ef!important;background:#8f58db!important;color:#fff!important;box-shadow:0 8px 20px rgba(116,63,192,.23)!important}
.filter-card-v2 #setSimpleFilters:hover{background:#a56bef!important}
/* Results are filtered individually. Never hide the board controls/header when switching views. */
.game-list.filter-hiding-active .lobby-heading,.game-list.filter-hiding-active .lobby-tools{display:flex!important}
@media(max-width:620px){.filter-card.filter-card-v2{padding:22px!important}.filter-v2-options{grid-template-columns:1fr}.filter-v2-controls{grid-template-columns:1fr}.filter-card-v2 .modal-actions{grid-template-columns:1fr!important}.filter-card-v2 .filter-card-head h2{font-size:27px!important}}

/* Keep the game browser a single, centred screen — the global app header cannot style this modal header. */
#filterModal.modal{padding:18px!important;align-items:center!important;justify-content:center!important}
#filterModal .filter-card.filter-card-v2{width:min(740px,calc(100vw - 36px))!important;max-height:calc(100vh - 20px)!important;overflow:clip!important;margin:0!important;padding:17px 26px!important}
#filterModal .filter-card-v2 .filter-card-head{display:block!important;margin:0 42px 12px 0!important;padding:0!important;min-height:0!important;border:0!important;background:transparent!important}
#filterModal .filter-card-v2 .filter-card-head p{display:block!important;margin:0 0 6px!important;font-size:9px!important;line-height:1!important}
#filterModal .filter-card-v2 .filter-card-head h2{display:block!important;margin:0!important;font-size:28px!important;line-height:1.05!important;white-space:nowrap!important}
#filterModal .filter-card-v2 .filter-card-head small{display:block!important;margin:6px 0 0!important;font-size:12px!important;line-height:1.3!important}
#filterModal .filter-v2-grid{display:grid!important;width:100%!important;max-width:none!important;gap:8px!important}
#filterModal .filter-v2-section{display:block!important;width:100%!important;max-width:none!important}
#filterModal .filter-v2-section>span,#filterModal .filter-sort-select>span{margin-bottom:6px!important;font-size:9px!important}
#filterModal .filter-v2-options{gap:7px!important}
#filterModal .filter-v2-options button{min-height:54px!important;padding:8px 11px!important}
#filterModal .filter-v2-options b{font-size:10px!important}
#filterModal .filter-v2-options small{margin-top:4px!important;font-size:10px!important}
#filterModal .filter-value-presets{margin-bottom:6px!important}
#filterModal .filter-value-presets button{min-width:55px!important;padding:7px 9px!important}
#filterModal .filter-card-v2 .filter-value-input{height:42px!important}
#filterModal .filter-v2-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}
#filterModal .filter-mine-toggle{min-height:53px!important;padding:8px 11px!important}
#filterModal .filter-mine-toggle b{font-size:11px!important}
#filterModal .filter-mine-toggle small{display:none!important}
#filterModal .filter-sort-select{min-height:53px!important;padding:8px 11px!important}
#filterModal .filter-v2-summary{min-height:12px!important;margin:9px 0 8px!important;font-size:10px!important;line-height:1.2!important}
#filterModal .filter-card-v2 .modal-actions{padding-top:8px!important}
#filterModal .filter-card-v2 .modal-actions button{height:38px!important}
@media(max-width:620px){#filterModal .filter-card.filter-card-v2{overflow:auto!important;padding:20px!important}#filterModal .filter-card-v2 .filter-card-head h2{font-size:26px!important;white-space:normal!important}#filterModal .filter-v2-options{grid-template-columns:repeat(3,1fr)!important}#filterModal .filter-v2-options button{min-height:55px!important;padding:8px!important}#filterModal .filter-v2-options small{display:none!important}#filterModal .filter-v2-controls{grid-template-columns:1fr!important}#filterModal .filter-v2-summary{display:none!important}}

/* Filter: one calm control surface — solid states, short fields, no stacked control slabs. */
#filterModal .filter-card.filter-card-v2{background:#111016!important;border-color:#332c3d!important;border-top-color:#9d63ec!important;box-shadow:0 22px 68px rgba(0,0,0,.64)!important}
#filterModal .filter-v2-section.filter-v2-controls{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important}
#filterModal .filter-v2-options button.selected,#filterModal .filter-value-presets button.selected{background:#251a38!important;box-shadow:none!important}
#filterModal .filter-v2-options button:hover,#filterModal .filter-value-presets button:hover{background:#1a1524!important}
#filterModal .filter-card-v2 .filter-value-input{height:40px!important;background:#0e0d12!important;border-color:#302a38!important}
#filterModal .filter-card-v2 .filter-value-input em{width:48px!important;background:transparent!important;border-right:0!important;color:#aa78ea!important;font-size:10px!important;letter-spacing:.08em!important}
#filterModal .filter-card-v2 .filter-value-input input{padding:0 12px 0 0!important}
#filterModal .filter-card-v2 .filter-value-input:focus-within{border-color:#9361da!important;box-shadow:0 0 0 2px rgba(147,97,218,.13)!important}
#filterModal .filter-mine-toggle,#filterModal .filter-sort-select{min-height:48px!important;background:#0f0e13!important;border-color:#302a38!important}
#filterModal .filter-mine-toggle{gap:9px!important;justify-content:flex-start!important}
#filterModal .filter-mine-toggle span small{display:none!important}
#filterModal .filter-sort-select select{background:transparent!important}
#filterModal .filter-card-v2 #setSimpleFilters{background:#8552d0!important;border-color:#8552d0!important;box-shadow:none!important}
#filterModal .filter-card-v2 #setSimpleFilters:hover{background:#9868df!important}

/* Final pass: fewer controls, more breathing room, and no decorative gradient chrome. */
#filterModal .filter-card.filter-card-v2{border:1px solid #36303f!important;border-top-color:#36303f!important;border-radius:8px!important}
#filterModal .filter-v2-grid{gap:15px!important}
#filterModal .filter-v2-options{gap:10px!important}
#filterModal .filter-v2-options button{border-radius:6px!important}
#filterModal .filter-value-presets{gap:9px!important;margin:0!important}
#filterModal .filter-value-presets button{min-width:62px!important;border-radius:6px!important;font:700 12px/1 Manrope,"Segoe UI",sans-serif!important;letter-spacing:0!important}
#filterModal .filter-v2-section.filter-v2-controls{gap:12px!important}
#filterModal .filter-mine-toggle,#filterModal .filter-sort-select{border-radius:6px!important}
#filterModal .filter-card-v2 .modal-actions{margin-top:2px!important;padding-top:13px!important}
#filterModal .filter-card-v2 .modal-actions{height:auto!important;min-height:55px!important;overflow:visible!important}
#filterModal .filter-card-v2 .modal-actions button{height:42px!important;border-radius:6px!important}

/* Show is a real choice now; the rest stays compact and applies together. */
#filterModal .filter-show-select{display:block!important}
#filterModal .filter-show-select>span{display:block!important;margin:0 0 7px!important;color:#aaa0bd!important;font:800 9px/1 "DM Mono",monospace!important;letter-spacing:.13em!important}
#filterModal .filter-show-select select{display:block!important;width:100%!important;height:42px!important;padding:0 12px!important;border:1px solid #302a38!important;border-radius:6px!important;outline:0!important;background:#0f0e13!important;color:#f0ebf6!important;font:700 12px/1 Manrope,"Segoe UI",sans-serif!important;appearance:auto!important;cursor:pointer!important}
#filterModal .filter-show-select select:focus{border-color:#9160d8!important;box-shadow:0 0 0 2px rgba(145,96,216,.12)!important}
#filterModal .filter-show-select option{background:#111016!important;color:#f0ebf6!important}
#filterModal .filter-mine-toggle{padding:0!important;border:0!important;background:transparent!important;min-height:42px!important}
#filterModal .filter-card-v2 .modal-actions{background:#111016!important}
#filterModal .filter-card-v2 #setSimpleFilters{background:#8552d0!important;background-image:none!important;box-shadow:none!important;filter:none!important}
#filterModal .filter-card.filter-card-v2{box-shadow:none!important}
#filterModal .filter-card-v2 .modal-actions,#filterModal .filter-card-v2 .modal-actions::before,#filterModal .filter-card-v2 .modal-actions::after,#filterModal .filter-card-v2 #setSimpleFilters,#filterModal .filter-card-v2 #setSimpleFilters::before,#filterModal .filter-card-v2 #setSimpleFilters::after{box-shadow:none!important;background-image:none!important;filter:none!important}
#filterModal .filter-card-v2 #setSimpleFilters{background:#955fec!important;border-color:#955fec!important;color:#fff!important;box-shadow:0 8px 18px rgba(138,81,228,.26)!important}
#filterModal .filter-card-v2 #setSimpleFilters:hover{background:#a975f5!important;border-color:#a975f5!important;color:#fff!important}

/* Let the controls live in the same surface as the modal instead of each becoming a mini-card. */
#filterModal .filter-show-select select,#filterModal .filter-sort-select{background:transparent!important;border-color:transparent!important;border-bottom:1px solid #302a38!important;border-radius:0!important}
#filterModal .filter-show-select select{height:36px!important;padding:0 2px!important}
#filterModal .filter-sort-select{min-height:42px!important;padding:0 2px!important}
#filterModal .filter-sort-select>span{padding-top:2px!important}
#filterModal .filter-value-presets{gap:16px!important}
#filterModal .filter-value-presets button{min-width:0!important;padding:5px 1px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:#a9a1b4!important}
#filterModal .filter-value-presets button.selected{border-bottom-color:#9b68eb!important;background:transparent!important;color:#e3d3ff!important}
#filterModal .filter-mine-toggle{background:transparent!important;border:0!important;box-shadow:none!important}
#filterModal .filter-mine-toggle i{box-shadow:none!important}

/* The modal owns the one surface. No child section is allowed to paint a second dark card. */
#filterModal .filter-card.filter-card-v2{background:#15131b!important}
#filterModal .filter-card-v2 .filter-v2-grid,#filterModal .filter-card-v2 .filter-v2-section,#filterModal .filter-card-v2 .filter-v2-section::before,#filterModal .filter-card-v2 .filter-v2-section::after,#filterModal .filter-card-v2 .filter-show-select,#filterModal .filter-card-v2 .filter-show-select::before,#filterModal .filter-card-v2 .filter-show-select::after,#filterModal .filter-card-v2 .filter-value-presets,#filterModal .filter-card-v2 .filter-v2-controls{background:transparent!important;box-shadow:none!important;filter:none!important}
#filterModal .filter-show-select,#filterModal .filter-sort-select{position:relative!important}
#filterModal .filter-show-select select,#filterModal .filter-sort-select select{appearance:none!important;-webkit-appearance:none!important;background:transparent!important}
#filterModal .filter-show-select::after,#filterModal .filter-sort-select::after{content:''!important;position:absolute!important;right:5px!important;bottom:13px!important;width:7px!important;height:7px!important;border-right:2px solid #cfc5dc!important;border-bottom:2px solid #cfc5dc!important;transform:rotate(45deg)!important;pointer-events:none!important}
#filterModal .filter-card-v2 #setSimpleFilters::before,#filterModal .filter-card-v2 #setSimpleFilters::after{content:none!important;display:none!important}

/* Custom purple Show picker — its menu expands within the modal, never into a browser popup. */
#filterModal .filter-show-select select.filter-status-native{display:none!important}
#filterModal .filter-show-select{position:relative!important;display:block!important}
#filterModal .filter-show-select::after{display:none!important}
#filterModal .filter-status-trigger{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:36px!important;margin:0!important;padding:0 2px!important;border:0!important;border-bottom:1px solid #332d3d!important;background:transparent!important;color:#f0ebf6!important;font:700 12px/1.2 Manrope,"Segoe UI",sans-serif!important;text-align:left!important;cursor:pointer!important}
#filterModal .filter-status-trigger i{width:7px!important;height:7px!important;margin-right:3px!important;border-right:2px solid #cfc5dc!important;border-bottom:2px solid #cfc5dc!important;transform:translateY(-2px) rotate(45deg)!important;transition:transform .16s ease!important}
#filterModal .filter-status-trigger[aria-expanded="true"] i{transform:translateY(2px) rotate(225deg)!important}
#filterModal .filter-status-menu{display:grid!important;width:100%!important;max-height:0!important;margin-top:0!important;padding:0 5px!important;overflow:hidden!important;border:1px solid transparent!important;border-radius:6px!important;background:#211a2c!important;opacity:0!important;box-shadow:none!important;transform:translateY(-5px)!important;transition:max-height .18s ease,margin-top .18s ease,padding .18s ease,opacity .14s ease,transform .18s ease,border-color .18s ease!important}
#filterModal .filter-status-menu[hidden]{display:none!important}
#filterModal .filter-status-menu.is-open{max-height:140px!important;margin-top:7px!important;padding:5px!important;border-color:#57406e!important;opacity:1!important;transform:translateY(0)!important}
#filterModal .filter-status-menu button{padding:10px!important;border:0!important;border-radius:4px!important;background:transparent!important;color:#d8cce8!important;font:700 11px/1.1 Manrope,"Segoe UI",sans-serif!important;text-align:left!important;cursor:pointer!important}
#filterModal .filter-status-menu button:hover{background:#392650!important;color:#fff!important}
#filterModal .filter-status-menu button[aria-selected="true"]{background:#7d4cc4!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(221,201,255,.2)!important}

/* Fairness copy is readable UI text; reserve the mono face for hashes and source code only. */
#gfFairModal .gff-intro,#gfFairModal .gff-note,#gfFairModal .gff-sum .r,#gfFairModal .gff-rows,#gfFairModal .gff-ct{font-family:Manrope,"Segoe UI",Arial,sans-serif!important;letter-spacing:0!important}
#gfFairModal .gff-intro{font-size:15px!important;font-weight:500!important;line-height:1.62!important;color:#cbc4d6!important}
#gfFairModal .gff-intro b{font-weight:800!important;color:#f1ecf7!important}
#gfFairModal .gff-note{font-size:12px!important;font-weight:500!important;line-height:1.55!important}
#gfFairModal .gff-sum .r{font-size:13px!important;font-weight:600!important}
#gfFairModal .gff-rows{font-size:12px!important;font-weight:600!important;line-height:1.5!important}
#gfFairModal label{font-family:Manrope,"Segoe UI",Arial,sans-serif!important;font-size:10px!important;font-weight:800!important;letter-spacing:.035em!important}
#gfFairModal .gff-ct{font-size:12px!important;font-weight:800!important}
#gfFairModal input,#gfFairModal .gff-code{font-family:"DM Mono",monospace!important}

/* Flip history: outcome first, player second, details quiet but easy to scan. */
#myFlips .mf-row{position:relative!important;min-height:88px!important;gap:12px!important;padding:12px 14px!important;border:1px solid #2c2934!important;border-left-width:3px!important;border-radius:8px!important;background:#17151c!important;box-shadow:none!important;transform:none!important}
#myFlips .mf-row.mf-win{border-left-color:#64d4ae!important;background:#151b1b!important}
#myFlips .mf-row.mf-loss{border-left-color:#e2798a!important;background:#1a151a!important}
#myFlips .mf-row:hover{transform:translateY(-1px)!important;border-color:#51415f!important;background:#1c1922!important;box-shadow:0 8px 18px rgba(0,0,0,.23)!important}
#myFlips .mf-row.mf-win:hover{border-left-color:#83e5c3!important}
#myFlips .mf-row.mf-loss:hover{border-left-color:#f196a5!important}
#myFlips .mf-avwrap,#myFlips .mf-avwrap>.mf-ava{width:48px!important;height:48px!important}
#myFlips .mf-avwrap>.mf-ava{border:1px solid #4b4158!important;background:#211c2a!important}
#myFlips .mf-badge{right:-3px!important;bottom:-3px!important;width:17px!important;height:17px!important;padding:2px!important;border-color:#55436a!important;background:#17141d!important}
#myFlips .mf-body{gap:6px!important}
#myFlips .mf-l1{align-items:center!important;gap:10px!important}
#myFlips .mf-title{display:flex!important;align-items:center!important;gap:6px!important;font-size:14px!important;font-weight:800!important;letter-spacing:-.015em!important;color:#f4eff8!important}
#myFlips .mf-outcome{display:inline-flex!important;align-items:center!important;height:18px!important;padding:0 5px!important;border-radius:4px!important;font:800 8px/1 Manrope,"Segoe UI",sans-serif!important;letter-spacing:.08em!important}
#myFlips .mf-outcome.win{color:#a4efd2!important;background:rgba(74,189,143,.14)!important;border:1px solid rgba(98,216,171,.28)!important}
#myFlips .mf-outcome.loss{color:#ffb0bb!important;background:rgba(221,99,119,.13)!important;border:1px solid rgba(237,126,144,.27)!important}
#myFlips .mf-vs{color:#948a9f!important;font-size:12px!important;font-weight:600!important}
#myFlips .mf-total{flex:none!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:2px!important}
#myFlips .mf-total small{font:800 8px/1 Manrope,"Segoe UI",sans-serif!important;letter-spacing:.1em!important;color:#8f849c!important}
#myFlips .mf-val{gap:4px!important;font-size:16px!important;font-weight:850!important;line-height:1!important}
#myFlips .mf-l2{gap:8px!important}
#myFlips .mf-hash{gap:5px!important;font:600 10px/1 Manrope,"Segoe UI",sans-serif!important;letter-spacing:0!important;color:#aaa0b8!important}
#myFlips .mf-hash em{font:800 8px/1 Manrope,"Segoe UI",sans-serif!important;font-style:normal!important;letter-spacing:.08em!important;color:#7f738f!important}
#myFlips .mf-hash>span{font-family:"DM Mono",monospace!important;font-size:10px!important;color:#afa4c1!important}
#myFlips .mf-hash>svg{width:13px!important;height:13px!important;opacity:.6!important}
#myFlips .mf-l2 small{font:600 10px/1 Manrope,"Segoe UI",sans-serif!important;color:#93899f!important}

/* Custom sort menu expands below its selected value, so the actions move down with it. */
#filterModal .filter-card-v2 .modal-actions{background:transparent!important}
#filterModal .filter-sort-native{display:none!important}
#filterModal .filter-sort-select{position:relative!important;display:block!important}
#filterModal .filter-sort-trigger{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:31px!important;margin:0!important;padding:2px 2px 0!important;border:0!important;background:transparent!important;color:#f0ebf6!important;font:700 12px/1.2 Manrope,"Segoe UI",sans-serif!important;text-align:left!important;cursor:pointer!important}
#filterModal .filter-sort-trigger i{width:7px!important;height:7px!important;margin-right:3px!important;border-right:2px solid #cfc5dc!important;border-bottom:2px solid #cfc5dc!important;transform:translateY(-2px) rotate(45deg)!important;transition:transform .16s ease!important}
#filterModal .filter-sort-trigger[aria-expanded="true"] i{transform:translateY(2px) rotate(225deg)!important}
#filterModal .filter-sort-menu{position:static!important;z-index:auto!important;display:grid!important;width:100%!important;max-height:0!important;margin-top:0!important;padding:0 5px!important;overflow:hidden!important;border:1px solid transparent!important;border-radius:6px!important;background:#1b1720!important;opacity:0!important;box-shadow:none!important;transform:translateY(-5px)!important;transition:max-height .18s ease,margin-top .18s ease,padding .18s ease,opacity .14s ease,transform .18s ease,border-color .18s ease!important}
#filterModal .filter-sort-menu[hidden]{display:none!important}
#filterModal .filter-sort-menu.is-open{max-height:140px!important;margin-top:7px!important;padding:5px!important;border-color:#3c3447!important;opacity:1!important;transform:translateY(0)!important}
#filterModal .filter-sort-menu button{padding:9px 10px!important;border:0!important;border-radius:4px!important;background:transparent!important;color:#c9c1d2!important;font:700 11px/1.1 Manrope,"Segoe UI",sans-serif!important;text-align:left!important;cursor:pointer!important}
#filterModal .filter-sort-menu button:hover,#filterModal .filter-sort-menu button[aria-selected="true"]{background:#2a2136!important;color:#f5efff!important}

/* Final filter palette: one dark surface, reserved purple, and clear selected states. */
#filterModal .filter-card.filter-card-v2{
  background:#17151d!important;
  border-color:#3b3545!important;
  border-top-color:#3b3545!important;
  color:#f5f2f8!important;
}
#filterModal .filter-card-v2 .filter-card-head p{color:#a877e4!important}
#filterModal .filter-card-v2 .filter-card-head small{color:#aaa4b3!important}
#filterModal .filter-v2-section>span,
#filterModal .filter-sort-select>span,
#filterModal .filter-show-select>span{color:#aaa2b8!important}
#filterModal .filter-status-trigger,
#filterModal .filter-sort-trigger{border-bottom-color:#423b4b!important;color:#f1eef4!important}
#filterModal .filter-status-trigger:hover,
#filterModal .filter-sort-trigger:hover{color:#fff!important}
#filterModal .filter-value-presets button{color:#a9a3b2!important}
#filterModal .filter-value-presets button:hover{color:#e9e4ef!important;background:transparent!important}
#filterModal .filter-value-presets button.selected{
  border-bottom-color:#9b68e9!important;
  background:transparent!important;
  color:#eee6ff!important;
}
#filterModal .filter-mine-toggle b{color:#e9e5ee!important}
#filterModal .filter-mine-toggle i{background:#494252!important}
#filterModal .filter-mine-toggle i:after{background:#d8d2e0!important}
#filterModal .filter-mine-toggle input:checked+i{background:#8554cb!important;box-shadow:none!important}
#filterModal .filter-mine-toggle input:checked+i:after{background:#fff!important}
#filterModal .filter-status-menu,
#filterModal .filter-sort-menu{background:#1e1a25!important;border-color:#4b4059!important}
#filterModal .filter-status-menu button,
#filterModal .filter-sort-menu button{color:#d6d0dd!important}
#filterModal .filter-status-menu button:hover,
#filterModal .filter-sort-menu button:hover{background:#2c2435!important;color:#fff!important}
#filterModal .filter-status-menu button[aria-selected="true"],
#filterModal .filter-sort-menu button[aria-selected="true"]{background:#65409a!important;color:#fff!important;box-shadow:none!important}
#filterModal .filter-card-v2 #resetSimpleFilters{border-color:#4a4353!important;background:#1b1920!important;color:#d2cbd9!important}
#filterModal .filter-card-v2 #resetSimpleFilters:hover{border-color:#71627f!important;background:#24212a!important;color:#fff!important}
#filterModal .filter-card-v2 #setSimpleFilters{
  border-color:#8753d5!important;
  background:#8753d5!important;
  color:#fff!important;
  box-shadow:none!important;
}
#filterModal .filter-card-v2 #setSimpleFilters:hover{border-color:#9c68ec!important;background:#9c68ec!important}
