/* R58.35: compact battle lobby, dimensional pieces and scoped game motion. */
.pp-battle-area{margin:12px 0 18px}.pp-battle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 8px;font-size:11px;letter-spacing:.09em;color:#704698}.pp-battle-toolbar button{border:0;background:transparent;color:#6523a7;font:inherit;font-weight:700;letter-spacing:0;cursor:pointer;padding:5px}.pp-battle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-battle-grid>*{min-width:0}
.pp-battle-grid .cb-card,.pp-battle-grid .db-card{margin:0;padding:13px 14px 10px;border:1px solid #d9c7ea;border-radius:18px;background:linear-gradient(130deg,#f5fff9,#f4edfc);box-shadow:inset 0 1px #fff,0 4px 10px #49267709}.pp-battle-grid h2{font-size:17px;line-height:1.25}.pp-battle-grid .cb-card-title,.pp-battle-grid .db-card-title{gap:7px}.pp-battle-grid .cb-period,.pp-battle-grid .db-period{font-size:10px}.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:stretch;margin-top:10px}.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.pp-battle-grid [data-cb-round],.pp-battle-grid [data-db-round]{font-size:10px}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font:800 23px/1.2 ui-monospace,monospace;letter-spacing:-1px;white-space:nowrap}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{width:100%;min-width:0;min-height:32px;padding:6px 9px;font-size:12px;white-space:normal;box-shadow:inset 0 1px #fff9,0 3px 0 #2fae8b33}.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{display:grid;grid-row:auto;grid-column:auto;gap:5px}.pp-battle-grid .cb-stat,.pp-battle-grid .db-stat{padding:7px 8px;gap:3px;border:1px solid #ffffff90;border-radius:10px}.pp-battle-grid .cb-stat>span,.pp-battle-grid .db-stat>span{font-size:9px;line-height:1.3;overflow-wrap:anywhere}.pp-battle-grid .cb-stat>span:first-child,.pp-battle-grid .db-stat>span:first-child{font-size:11px;font-weight:700}.pp-battle-grid .cb-stat strong,.pp-battle-grid .db-stat strong{font-size:13px;line-height:1.3}.pp-battle-grid .cb-stat small,.pp-battle-grid .db-stat small{font-size:8px}.pp-battle-grid .cb-card-foot,.pp-battle-grid .db-card-foot{font-size:10px;line-height:1.3;margin-top:8px;min-height:13px;overflow-wrap:anywhere}
/* Full-width input tracks the exact selection area above it. */
.cb-stake,.db-stake{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.cb-input,.db-input{width:100%;max-width:100%;height:48px}.cb-input input,.db-input input{width:100%;min-width:0}.cb-choices button,.db-choices button{position:relative;isolation:isolate;overflow:hidden}.cb-choices button::before,.db-choices button::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#76f1ce66,#bd90ed55);z-index:-1;opacity:0;animation:choice-crossfade 6s ease-in-out infinite}.cb-choices button:nth-child(even)::before{animation-delay:-3s}.db-choices button:nth-child(3n+2)::before{animation-delay:-2s}.db-choices button:nth-child(3n)::before{animation-delay:-4s}.cb-choices button[aria-pressed=true],.db-choices button[aria-pressed=true]{border:2px solid #28b58c;box-shadow:inset 0 0 0 1px #fff8,0 3px 8px #28b58c18}.cb-choices button:disabled::before,.db-choices button:disabled::before{animation:none;opacity:.12}
@keyframes choice-crossfade{0%,100%{opacity:.08}50%{opacity:.8}}
/* Actual six-sided cube. Recessed pips are geometry, never Unicode dice. */
.dice-model{--die-size:94px;display:block;position:relative;width:var(--die-size);height:var(--die-size);transform:rotateX(-18deg) rotateY(-25deg);transform-style:preserve-3d;font-size:0!important;line-height:1}.dice-cube{position:absolute;inset:0;width:100%;height:100%;display:block;transform-style:preserve-3d;transform:rotateX(var(--die-x,0deg)) rotateY(var(--die-y,0deg));font-size:0!important}.dice-model .die-face{position:absolute;inset:0;display:grid;grid-template:repeat(3,minmax(0,1fr))/repeat(3,minmax(0,1fr));gap:6%;padding:17%;width:100%;height:100%;border-radius:11%;border:1px solid #c9e9dd;background:linear-gradient(135deg,#fffef8,#e5f7ed 65%,#bee7d6);box-shadow:inset 2px 2px 3px #fff,inset -3px -3px 6px #438c7429;backface-visibility:hidden;font-size:0!important}.dice-model .die-face-1{transform:translateZ(calc(var(--die-size)*.5))}.dice-model .die-face-2{transform:rotateY(90deg) translateZ(calc(var(--die-size)*.5));background:linear-gradient(135deg,#c5f6df,#8cceae)}.dice-model .die-face-3{transform:rotateX(90deg) translateZ(calc(var(--die-size)*.5));background:linear-gradient(135deg,#fff,#dcffec)}.dice-model .die-face-4{transform:rotateX(-90deg) translateZ(calc(var(--die-size)*.5));background:linear-gradient(135deg,#a6d6bf,#73ac93)}.dice-model .die-face-5{transform:rotateY(-90deg) translateZ(calc(var(--die-size)*.5));background:linear-gradient(135deg,#e2f6ec,#afd7c5)}.dice-model .die-face-6{transform:rotateY(180deg) translateZ(calc(var(--die-size)*.5))}.dice-model .die-pip{display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 65% 75%,#402653,#191027);box-shadow:inset 1px 2px 3px #0009,0 1px 0 #fff;pointer-events:none}
/* Coin has two independent faces plus a visible layered rim. */
.cb-arena,.db-arena{perspective:780px;--battle-cross:clamp(66px,23vw,155px)}.cb-coin{width:102px;height:102px;border:0!important;background:none!important;box-shadow:none!important;transform-style:preserve-3d;overflow:visible;animation:coin-idle-turn 2.8s linear infinite}.coin-face,.coin-rim{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;backface-visibility:hidden}.coin-rim{background:repeating-conic-gradient(#239978 0 4deg,#53d5ad 4deg 7deg);transform:translateZ(var(--rim));backface-visibility:visible;box-shadow:0 0 1px #186953}.coin-face{border:6px solid #4ccda4;box-shadow:inset 0 0 0 3px #caffed,inset 0 0 0 7px #239c7950,0 0 1px #145e4a;font:900 28px/1 Arial,sans-serif;letter-spacing:-1px}.coin-front{background:radial-gradient(circle at 30% 20%,#e3fff2,#77edc6 60%,#34b28b);transform:translateZ(6px);color:#452260;text-shadow:0 1px #eafff6}.coin-back{background:radial-gradient(circle at 30% 20%,#f0e2ff,#bf8eee 65%,#8249b6);border-color:#9b67cb;transform:rotateY(180deg) translateZ(6px)}.coin-back svg{width:65%;height:65%;fill:#c7ffe8;filter:drop-shadow(0 2px #613190)}.cb-coin.cb-reveal{animation:coin-result-turn 1.8s cubic-bezier(.15,.75,.25,1)}.cb-arena.is-closing .cb-coin{animation:coin-idle-turn .7s linear infinite}.cb-character,.db-character{z-index:4;left:calc(50% - 37px);right:auto;top:25px;animation:battle-actor-cross 5.2s ease-in-out infinite alternate}.cb-character .pp-puppet,.db-character .pp-puppet{width:100%;height:100%;overflow:visible}.cb-last-outcome,.db-last-outcome{position:relative;z-index:5;margin:0 0 12px;font-size:11px}.db-coin,.db-coin[data-result]{display:grid;place-items:center;background:none!important;border:0!important;box-shadow:none!important;border-radius:0;transform:none;width:104px;height:118px;margin:6px auto 16px;animation:dice-idle-bob 2.5s ease-in-out infinite}.db-coin .dice-model{--die-size:78px}.db-coin.db-reveal{animation:dice-stop-bounce 1.05s cubic-bezier(.18,.75,.25,1)}.db-arena.is-closing .db-coin{animation:dice-power-roll .72s linear infinite}.db-choices button{min-height:60px}.db-choices .dice-model{--die-size:25px;margin:7px 6px}
@keyframes coin-idle-turn{0%{transform:translateY(0) rotateY(0) rotateZ(-7deg)}50%{transform:translateY(-8px) rotateY(180deg) rotateZ(0)}100%{transform:translateY(0) rotateY(360deg) rotateZ(-7deg)}}
@keyframes coin-result-turn{0%{transform:translateY(0) rotateY(0)}45%{transform:translateY(-24px) rotateY(850deg)}80%{transform:translateY(5px) rotateY(1070deg)}100%{transform:translateY(0) rotateY(1080deg)}}
@keyframes battle-actor-cross{0%{transform:translateX(var(--battle-cross)) translateY(0) rotate(-5deg)}25%{transform:translateX(calc(var(--battle-cross)*.4)) translateY(-10px) rotate(4deg)}60%{transform:translateX(calc(var(--battle-cross)*-.35)) translateY(2px) rotate(-4deg)}100%{transform:translateX(calc(var(--battle-cross)*-1)) translateY(-5px) rotate(5deg)}}
/* Personal dice: a compact raised stage with grounded shadows and explicit phases. */
#pp-board.pp-dice-board{gap:10px;padding:22px 16px 12px;overflow:hidden;background:#f2e8ff!important}.pp-dice-result{min-height:38px;margin-top:8px;font-size:clamp(25px,4vw,38px);font-weight:900;letter-spacing:-.03em;text-shadow:0 2px #fff,2px 3px #ae8bce55;position:relative;z-index:5}.pp-dice-arena{height:clamp(170px,25vh,235px);max-width:520px;isolation:isolate;perspective:900px}.pp-dice-floor{position:absolute;width:78%;height:42%;left:11%;bottom:4%;border:1px solid #fff9;border-radius:50%;background:radial-gradient(ellipse,#b7e6d599,#e7d7fb22 68%,transparent 70%);transform:rotateX(45deg);box-shadow:0 15px 22px #4d317a16}.pp-dice-object{position:relative;display:grid;place-items:center;z-index:2;width:140px;height:140px;border:0;border-radius:0;background:none;box-shadow:none;transform:none;animation:dice-idle-bob 2.4s ease-in-out infinite}.pp-dice-object::after{content:'';position:absolute;left:14%;right:14%;bottom:-7px;height:15px;border-radius:50%;background:#3f36522e;filter:blur(6px);transform:rotateX(35deg);z-index:-1}.pp-dice-object .dice-model{--die-size:96px}.pp-dice-object.is-rolling{animation:dice-power-roll .75s linear infinite}.pp-dice-object.is-stopping{animation:dice-stop-bounce 1.05s cubic-bezier(.18,.75,.25,1)}.pp-dice-object.is-landed{animation:dice-idle-bob 3s ease-in-out infinite}.pp-dice-companion{z-index:4;top:45px;bottom:auto;left:calc(50% - 40px);right:auto;width:80px;height:96px;animation:dice-actor-idle 4.5s ease-in-out infinite}.pp-dice-companion .pp-game-companion{width:80px!important;height:96px!important}.pp-dice-companion .pp-puppet{width:100%;height:100%;overflow:visible}.pp-dice-board[data-phase=rolling] .pp-dice-companion,.pp-dice-board[data-phase=waiting] .pp-dice-companion{animation:dice-actor-follow 3s ease-in-out infinite alternate}.pp-dice-board[data-phase=stopping] .pp-dice-companion{animation:dice-actor-catch 1.05s ease-out forwards}.pp-dice-board[data-phase=done] .pp-dice-companion{animation:dice-actor-react 3s ease-in-out infinite}.pp-dice-board.is-win .pp-dice-result{animation:result-pop 2.8s ease-in-out infinite}.pp-dice-choices{width:min(100%,410px);gap:7px}.pp-dice-choices button{min-width:0;min-height:69px;gap:2px;padding:7px 3px 5px;border-radius:13px;background:linear-gradient(145deg,#fff9,#dbc9f0);border:1px solid #cdb8e3;box-shadow:inset 0 1px #fff,0 4px 0 #b49bc744;transition:transform .15s,background .2s}.pp-dice-choices button[aria-pressed=true]{border:2px solid #249b76;background:linear-gradient(145deg,#eefff5,#8fe4c2);box-shadow:inset 0 1px #fff,0 4px 0 #239a7855,0 0 0 2px #fff9;transform:translateY(-3px)}.pp-dice-choices .dice-model{--die-size:25px;margin:6px 5px 7px}.pp-dice-choices button b{font-size:10px;line-height:1.2}.pp-dice-controls{min-height:55px;gap:8px;padding:4px 0}.pp-dice-controls button{max-width:190px;width:60%;min-height:43px;border:1px solid #2ab88d;box-shadow:inset 0 2px #d8fff3,0 4px 0 #2e9f7b,0 8px 14px #436e5a20;background:linear-gradient(#a2f8da,#5bdfb5);font-size:16px!important;letter-spacing:.04em}.pp-dice-controls [data-dice-stop]{border-color:#8b51c0;box-shadow:inset 0 2px #efddff,0 4px 0 #7540a0,0 8px 14px #66338522;background:linear-gradient(#e2bdfc,#b07ce1);color:#321444}.pp-dice-controls button[hidden]{display:none!important}.pp-dice-controls button:active:enabled{transform:translateY(3px);box-shadow:0 1px 0 #397b66}.pp-dice-controls button:disabled{opacity:.65}.pp-dice-board[data-phase=rolling] .pp-dice-controls button{animation:none}
@keyframes dice-idle-bob{0%,100%{transform:translateY(0) rotateZ(-3deg)}50%{transform:translateY(-9px) rotateZ(3deg)}}
@keyframes dice-power-roll{0%{transform:translateY(-6px) rotateX(0) rotateY(0) rotateZ(0)}50%{transform:translateY(-19px) rotateX(170deg) rotateY(180deg) rotateZ(20deg)}100%{transform:translateY(-6px) rotateX(360deg) rotateY(360deg) rotateZ(0)}}
@keyframes dice-stop-bounce{0%{transform:translateY(-15px) rotateX(270deg) rotateY(270deg) rotateZ(-14deg)}42%{transform:translateY(8px) rotateX(350deg) rotateY(350deg) rotateZ(7deg)}67%{transform:translateY(-14px) rotateX(365deg) rotateY(363deg) rotateZ(-4deg)}83%{transform:translateY(3px) rotateX(358deg) rotateY(359deg)}100%{transform:translateY(0) rotateX(360deg) rotateY(360deg) rotateZ(0)}}
@keyframes dice-actor-idle{0%,100%{transform:translate(115px,0) rotate(-4deg)}45%{transform:translate(85px,-9px) rotate(4deg)}70%{transform:translate(105px,-2px) rotate(-3deg)}}
@keyframes dice-actor-follow{0%{transform:translate(-115px,8px) rotate(-8deg)}40%{transform:translate(0,-18px) rotate(3deg)}100%{transform:translate(115px,5px) rotate(8deg)}}
@keyframes dice-actor-catch{0%{transform:translate(105px,0) rotate(8deg)}50%{transform:translate(32px,-16px) rotate(-9deg)}100%{transform:translate(58px,8px) rotate(-3deg)}}
@keyframes dice-actor-react{0%,100%{transform:translate(65px,7px) rotate(-4deg)}35%{transform:translate(85px,-11px) rotate(8deg)}65%{transform:translate(65px,0) rotate(-6deg)}}
@keyframes result-pop{0%,70%,100%{transform:scale(1)}82%{transform:scale(1.035);filter:drop-shadow(0 0 7px #b682f4)}}
.cb-dialog h2,.db-dialog h2{font-weight:900;text-shadow:0 2px #fff,1px 3px #a27fc133}.cb-stat>span:first-child,.db-stat>span:first-child,.cb-estimate>span,.db-estimate>span{animation:pop-letter 5s ease-in-out infinite}.cb-stat:nth-child(even)>span:first-child,.db-stat:nth-child(even)>span:first-child{animation-delay:-2.5s}.cb-dialog strong,.db-dialog strong{animation:pop-value 5s ease-in-out infinite}.cb-dialog [data-cb-clock],.db-dialog [data-db-clock]{animation:none;font-family:ui-monospace,monospace;font-size:23px;letter-spacing:-1px;white-space:nowrap}.cb-dialog header,.db-dialog header{gap:8px}.cb-dialog h2,.db-dialog h2{font-size:21px}.cb-dialog header>div,.db-dialog header>div{min-width:0}
@keyframes pop-letter{0%,75%,100%{transform:translateY(0)}84%{transform:translateY(-1px)}92%{transform:translateY(0)}}
@keyframes pop-value{0%,75%,100%{text-shadow:0 0 transparent}85%{text-shadow:0 1px #fff,0 0 6px #975bc53b}}
@media(max-width:760px){.pp-battle-grid{grid-template-columns:minmax(0,1fr)}.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:112px minmax(0,1fr)}}
@media(max-width:500px){.cb-character,.db-character{left:calc(50% - 28px);top:30px;animation-duration:4.6s}.cb-dialog header,.db-dialog header{padding:14px}.cb-dialog h2,.db-dialog h2{font-size:18px}.cb-dialog [data-cb-clock],.db-dialog [data-db-clock]{font-size:19px}.cb-close,.db-close{width:28px;flex:none}.cb-scroll,.db-scroll{padding:14px}.pp-dice-object .dice-model{--die-size:80px}.pp-dice-object{width:116px;height:120px}.pp-dice-companion{width:64px;height:78px;left:calc(50% - 32px)}.pp-dice-companion .pp-game-companion{width:64px!important;height:78px!important}.pp-dice-choices{gap:5px}.pp-dice-choices .dice-model{--die-size:21px}.pp-dice-choices button{min-height:61px}.pp-dice-choices button b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.pp-battle-area *,.cb-overlay *,.db-overlay *,#pp-board.pp-dice-board *{animation:none!important;transition:none!important}.cb-character,.db-character{transform:translateX(85px)}.pp-dice-companion{transform:translateX(85px)}}

.cb-dialog h2,.db-dialog h2{overflow-wrap:anywhere;animation:result-pop 5s ease-in-out infinite}

/* Flatten the original SVG/canvas actor into its own foreground layer. */
.cb-character,.db-character,.pp-dice-companion{isolation:isolate;transform-style:flat;filter:drop-shadow(0 4px 3px #24113725)}

.coin-edge{position:absolute;top:50%;left:50%;display:block;width:10px;height:12px;background:linear-gradient(90deg,#357f67,#b5ffe1 32%,#418e72 70%,#21634e);transform:translate(-50%,-50%) rotateZ(var(--edge)) translateY(-48px) rotateX(90deg);backface-visibility:hidden}

/* Shared physical dice in game and cover: pearl resin, recessed pips and a violet companion. */
.dice-model .die-face{border-color:#d6cbe7;background:linear-gradient(135deg,#fff 0%,#fcfaff 30%,#ede5f5 72%,#cbb8e0 100%);box-shadow:inset 2px 2px 3px #fff,inset -3px -3px 6px #6f48962b}
.dice-model .die-face-2{background:linear-gradient(135deg,#eee4fa,#baa0d5)}
.dice-model .die-face-3{background:linear-gradient(135deg,#fff,#efe3ff)}
.dice-model .die-face-4{background:linear-gradient(135deg,#cbb8df,#9c7fbd)}
.dice-model .die-face-5{background:linear-gradient(135deg,#f3eafa,#cbb6df)}
.pp-dice-floor{background:radial-gradient(ellipse,#d5b9f066,#f2e8ff22 68%,transparent 70%);border-color:#ffffff8c}
.pp-new-art.pp-dice-cover{background:linear-gradient(145deg,#e4d8f6,#c8a8eb);position:relative;display:grid;place-items:center}
.pp-cover-dice-stage{position:relative;width:100%;height:100%;min-height:120px;perspective:700px;transform-style:preserve-3d}
.pp-cover-dice-stage::before{content:'';position:absolute;left:19%;right:14%;height:15%;bottom:9%;border-radius:50%;background:#63328c40;filter:blur(9px)}
.pp-cover-die{position:absolute;display:block;top:50%;left:50%;transform-style:preserve-3d}
.pp-cover-die .dice-model{--die-size:clamp(48px,5vw,72px)}
.pp-cover-die-pearl{transform:translate(-112%,-46%) rotateZ(-12deg)}
.pp-cover-die-violet{transform:translate(12%,-33%) rotateZ(13deg)}
.pp-cover-die-violet .die-face{border-color:#d5a5ff;background:linear-gradient(135deg,#e4c5ff 0%,#b46bef 38%,#8b36d2 80%,#6626a2);box-shadow:inset 2px 2px 3px #f6e5ff,inset -3px -3px 7px #4c127e66}
.pp-cover-die-violet .die-face-2{background:linear-gradient(135deg,#a45ae1,#642299)}
.pp-cover-die-violet .die-face-3{background:linear-gradient(135deg,#f1dbff,#b36beb)}
.pp-cover-die-violet .die-pip{background:radial-gradient(circle at 65% 75%,#fff,#e0c4f8);box-shadow:inset 1px 2px 2px #54217f66,0 1px 0 #f4dfff}

/* Gentle staggered motion belongs to the die, preserving the selected button's position. */
.pp-dice-choices button .dice-model,.db-choices button .dice-model{animation:dice-choice-float 3.6s ease-in-out infinite}
.pp-dice-choices button:nth-child(2) .dice-model,.db-choices button:nth-child(2) .dice-model{animation-delay:-.6s}
.pp-dice-choices button:nth-child(3) .dice-model,.db-choices button:nth-child(3) .dice-model{animation-delay:-1.2s}
.pp-dice-choices button:nth-child(4) .dice-model,.db-choices button:nth-child(4) .dice-model{animation-delay:-1.8s}
.pp-dice-choices button:nth-child(5) .dice-model,.db-choices button:nth-child(5) .dice-model{animation-delay:-2.4s}
.pp-dice-choices button:nth-child(6) .dice-model,.db-choices button:nth-child(6) .dice-model{animation-delay:-3s}
.pp-dice-choices button:disabled .dice-model,.db-choices button:disabled .dice-model{animation-play-state:paused}
@keyframes dice-choice-float{0%,100%{transform:translateY(0) rotateX(-18deg) rotateY(-25deg) rotateZ(-2deg)}50%{transform:translateY(-3px) rotateX(-22deg) rotateY(-19deg) rotateZ(2deg)}}
@media(prefers-reduced-motion:reduce){.pp-dice-choices button .dice-model,.db-choices button .dice-model{animation:none!important}}

/* R58.36: readable game banners, deliberate geometry and real 3D movement. */
.pp-battle-toolbar{font-size:12px;font-weight:800}.pp-battle-grid{align-items:start;gap:14px}
.pp-battle-grid .cb-card,.pp-battle-grid .db-card{position:relative;padding:16px;border:1px solid #b8a1d8;border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 0 0,#d7fff4,transparent 62%),linear-gradient(130deg,#7eebcd,#d4c2f6);box-shadow:inset 0 1px 0 #fff,0 7px 0 #9276b31a,0 12px 24px #57317a12}
.pp-battle-grid .db-card{background:radial-gradient(ellipse at 100% 0,#d7b6ff,transparent 62%),linear-gradient(130deg,#b2f5e1,#b88ae7)}
.pp-battle-grid h2{font-size:21px;font-weight:900;line-height:1.2;color:#261139}.pp-battle-grid .cb-period,.pp-battle-grid .db-period{font-size:11px;font-weight:800;color:#4e2676}
.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{display:grid;grid-template-columns:70px 126px minmax(0,1fr);gap:12px;margin-top:14px;align-items:center;min-height:156px}
.battle-card-art{display:grid;place-items:center;position:relative;perspective:650px;transform-style:preserve-3d;min-width:0;height:96px}
.battle-card-art .dice-model{--die-size:48px;transform:rotateX(-27deg) rotateY(-25deg) rotateZ(8deg)}
.battle-card-art::after{content:'';position:absolute;bottom:4px;left:8%;width:84%;height:12px;background:#45216c35;border-radius:50%;filter:blur(5px)}
.battle-card-coin{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;border:5px solid #4ebd9f;background:radial-gradient(circle at 30% 20%,#ecfff6,#55e0b6);box-shadow:inset 0 0 0 2px #d8fff0,inset 0 0 0 5px #369d7c,5px 6px 0 #278b70,0 10px 15px #24513b35;color:#4c2278;font:900 19px/1 Arial;transform:rotateY(-22deg) rotateZ(-14deg)}
.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{display:grid;grid-template-rows:20px 38px 46px;gap:7px;align-content:center;justify-items:stretch;text-align:center;align-self:center}
.pp-battle-grid [data-cb-round],.pp-battle-grid [data-db-round]{font-size:11px;font-weight:800;line-height:20px;white-space:nowrap}
.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-family:"Noto Sans KR",Arial,sans-serif;font-size:27px;font-weight:900;line-height:34px;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:#29123f;align-self:start}
.pp-battle-grid .cb-action,.pp-battle-grid .db-action{margin-top:5px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:15px;line-height:1.15;font-weight:900;min-height:40px;padding:7px 9px;background:#24dfb3;border:1px solid #19ae88;border-radius:22px;color:#122c27;box-shadow:inset 0 1px #c6ffeb,0 4px 0 #249779;white-space:normal}
.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.pp-battle-grid .db-side-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.cb-stat,.db-stat{min-width:0;padding:10px 12px;border-radius:13px;color:#2c1642;background:#e3fff3;box-shadow:inset 0 1px #fff,0 3px 0 #2c7e6024;border:1px solid #ffffff90;font-size:15px;font-weight:800}
.cb-stat.tails,.db-stat:nth-child(even){background:#e6cffb;box-shadow:inset 0 1px #fff,0 3px 0 #75449c24}
.battle-stat-line{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;line-height:1.45}.battle-stat-line>*{min-width:0}.battle-stat-line:first-child>span{font-weight:900}.battle-stat-line:last-child{font-size:.85em;color:#4c335b}.battle-stat-line strong,.battle-stat-line b{font-weight:900;white-space:nowrap}.battle-stat-line small{font-size:.65em;font-weight:800}.battle-stat-line:first-child>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-battle-grid .cb-stat,.pp-battle-grid .db-stat{display:block;padding:8px 10px;font-size:14px;border-radius:12px}
.pp-battle-grid .db-stat{font-size:13px}.pp-battle-grid .cb-stat strong,.pp-battle-grid .db-stat strong{font-size:inherit}.pp-battle-grid .cb-card-foot,.pp-battle-grid .db-card-foot{margin:0;font-size:13px;font-weight:700}.pp-battle-grid .cb-card-foot:empty,.pp-battle-grid .db-card-foot:empty{display:none}
/* Text never animates or carries a decorative glow. */
.cb-overlay h2,.db-overlay h2,.cb-overlay strong,.db-overlay strong,.cb-overlay .battle-stat-line *,.db-overlay .battle-stat-line *,.cb-estimate>span,.db-estimate>span,.pp-dice-result{animation:none!important;text-shadow:none!important;filter:none}
.cb-dialog h2,.db-dialog h2{font-size:23px;font-weight:900}.cb-dialog [data-cb-clock],.db-dialog [data-db-clock]{font-family:"Noto Sans KR",Arial,sans-serif;font-weight:900;font-size:24px;font-variant-numeric:tabular-nums}
.cb-scroll,.db-scroll{padding:18px 20px}.cb-form,.db-form{gap:12px}.cb-wallet,.db-wallet{font-size:16px;font-weight:800}.cb-arena,.db-arena{padding:12px 0 6px;perspective:900px}.cb-coin{margin-bottom:18px}.cb-last-outcome,.db-last-outcome{display:none}
.cb-arena .cb-side-summary{display:grid;grid-template-columns:1fr;gap:8px}.db-arena [data-db-stats]{display:none}
.cb-choices{gap:12px}.cb-choices button{min-height:54px;font-size:16px;font-weight:900;color:#17382d;background:#28dcb1!important;box-shadow:inset 0 1px #afffe5,0 3px 0 #218b70;border-color:#23ac89}.cb-choices [data-cb-side=tails]{background:#9344da!important;color:#fff;border-color:#7330b0;box-shadow:inset 0 1px #d2a4fa,0 3px 0 #61278f}
.cb-choices button::before,.db-choices button::before{display:none}.cb-choices button[aria-pressed=true],.db-choices button[aria-pressed=true]{outline:3px solid #259d78;outline-offset:2px;border:2px solid #fff}
.cb-stake,.db-stake{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:center;font-size:17px;font-weight:900}.cb-stake>[data-cb-stake-label],.db-stake>[data-db-stake-label]{text-align:center;line-height:1.3}.cb-input,.db-input{width:100%;height:48px}.cb-input input,.db-input input{font-size:19px;font-weight:900}
.db-choices{display:grid;grid-template-columns:1fr;gap:9px}.db-choices button{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;min-height:56px;padding:8px 12px;background:#eee1fb;border:1px solid #d3b1ed;border-radius:14px;overflow:visible;isolation:auto}
.db-choices button .db-stat{border:0;padding:0;box-shadow:none;background:transparent;text-align:left;font-size:16px}.db-choices .dice-model{--die-size:28px;margin:6px}.db-choices button:disabled{opacity:.65}
/* Preserve depth through each transforming ancestor. The old flattened arena caused a card-like wobble. */
.db-coin,.pp-dice-object{transform-style:preserve-3d;overflow:visible;perspective:900px}.db-coin{animation:battle-cube-turn 8s linear infinite!important;margin:6px auto 20px}
.db-coin.db-reveal{animation:dice-stop-bounce 1.05s ease-out!important}.db-arena.is-closing .db-coin{animation:battle-cube-turn 1.1s linear infinite!important}
@keyframes battle-cube-turn{0%{transform:translateY(0) rotateX(0) rotateY(0) rotateZ(-3deg)}25%{transform:translateY(-7px) rotateX(95deg) rotateY(90deg) rotateZ(4deg)}50%{transform:translateY(0) rotateX(180deg) rotateY(180deg) rotateZ(-3deg)}75%{transform:translateY(-7px) rotateX(270deg) rotateY(270deg) rotateZ(4deg)}100%{transform:translateY(0) rotateX(360deg) rotateY(360deg) rotateZ(-3deg)}}
/* Glossy purple resin across game, choices and thumbnails. */
.dice-model .die-face,.pp-cover-die-pearl .die-face,.pp-cover-die-violet .die-face{border-color:#d2a0ff;background:linear-gradient(135deg,#edcfff 0%,#c280f7 24%,#9b47dc 65%,#6923a6);box-shadow:inset 2px 2px 3px #f9e9ff,inset -3px -3px 7px #4b137a66}
.dice-model .die-face-2{background:linear-gradient(135deg,#a95ee3,#66239e)}.dice-model .die-face-3{background:linear-gradient(135deg,#f1dcff,#b56eec)}.dice-model .die-face-4{background:linear-gradient(135deg,#9343ca,#5e238b)}.dice-model .die-face-5{background:linear-gradient(135deg,#cd92f3,#8640ba)}
.dice-model .die-pip{background:radial-gradient(circle at 60% 70%,#fff,#e1c7f7);box-shadow:inset 1px 2px 2px #5c258977,0 1px #f5ddff}
.dice-model{transform:rotateX(-27deg) rotateY(-25deg)}
/* Roulette's original live actor film is retained, with a bounded right-hand path. */
.cb-character,.db-character,.pp-dice-companion{left:auto!important;right:3%!important;top:20px!important;animation:actor-right-idle 4.8s ease-in-out infinite!important;transform-origin:50% 85%;z-index:4}
.pp-dice-companion{right:3%!important;top:45px!important}.pp-dice-board[data-phase=rolling] .pp-dice-companion,.pp-dice-board[data-phase=waiting] .pp-dice-companion{animation:actor-right-follow 2.8s ease-in-out infinite!important}.pp-dice-board[data-phase=stopping] .pp-dice-companion{animation:actor-right-catch 1.05s ease-out forwards!important}.pp-dice-board[data-phase=done] .pp-dice-companion{animation:actor-right-follow 3.5s ease-in-out infinite!important}
@keyframes actor-right-idle{0%,100%{transform:translate(-2px,0) rotate(-3deg)}35%{transform:translate(-12px,-7px) rotate(3deg)}70%{transform:translate(-6px,-2px) rotate(-2deg)}}
@keyframes actor-right-follow{0%,100%{transform:translate(-2px,4px) rotate(-6deg)}45%{transform:translate(-14px,-11px) rotate(6deg)}75%{transform:translate(-6px,-2px) rotate(-3deg)}}
@keyframes actor-right-catch{0%{transform:translate(-5px,-10px) rotate(-7deg)}55%{transform:translate(-15px,8px) rotate(7deg)}100%{transform:translate(-3px,0) rotate(-2deg)}}
#pp-board.pp-dice-board{gap:10px;justify-content:flex-start;padding:18px 16px 0!important}.pp-dice-controls{flex:1;min-height:104px;display:flex;align-items:center;justify-content:center;padding:12px 0}.pp-dice-controls button{display:grid;place-items:center;width:78px!important;height:78px;min-height:78px;max-width:none;border-radius:50%;border:2px solid #ab79d0;background:radial-gradient(circle at 30% 20%,#372246,#121020 70%);color:#fff!important;box-shadow:inset 0 1px 2px #ffffff44,0 4px 0 #24112d,0 8px 15px #33104733;font:900 16px/1 "Noto Sans KR",Arial!important;letter-spacing:.01em}.pp-dice-controls [data-dice-stop]{background:radial-gradient(circle at 30% 20%,#67408c,#281334 70%);box-shadow:inset 0 1px 2px #ffffff44,0 4px 0 #24112d,0 8px 15px #33104733}.pp-dice-controls button[hidden]{display:none!important}.pp-dice-choices button{background:#e6d1f8!important}.pp-dice-choices button[aria-pressed=true]{background:#c69ce9!important}
.lr-name,.lr-points{font-size:15px}.lr-points small{font-size:10px}.lr-row{min-height:30px}.lr-dialog{max-height:calc(100dvh - 24px)}
@media(max-width:1150px) and (min-width:761px){.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:52px 108px minmax(0,1fr);gap:8px}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:24px}.battle-card-art .dice-model{--die-size:39px}.battle-card-coin{width:49px;height:49px;font-size:14px}.pp-battle-grid .db-side-summary{grid-template-columns:1fr}.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{min-height:300px}}
@media(max-width:760px){.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:60px 118px minmax(0,1fr);gap:10px;min-height:196px}.pp-battle-grid .db-side-summary{grid-template-columns:1fr}.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding:14px}.pp-battle-grid .cb-stat,.pp-battle-grid .db-stat{padding:5px 8px;font-size:13px}.battle-stat-line{gap:4px}.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{align-self:start;margin-top:14px}}
@media(max-width:420px){.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:100px minmax(0,1fr);gap:10px;position:relative;min-height:250px}.battle-card-art{position:absolute;left:18px;bottom:15px;width:62px;height:90px}.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{grid-column:1;grid-row:1;align-self:start;margin-top:0}.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{grid-column:2;grid-row:1}.pp-battle-grid .cb-card-body>.cb-side-summary{align-self:start}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:23px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{font-size:14px}.cb-scroll,.db-scroll{padding:14px}.cb-dialog h2,.db-dialog h2{font-size:20px}.cb-dialog [data-cb-clock],.db-dialog [data-db-clock]{font-size:20px}.cb-stake,.db-stake{font-size:15px;gap:12px}.cb-input,.db-input{padding:5px 6px;gap:4px}.cb-input input,.db-input input{font-size:17px}.cb-input button,.db-input button{padding:5px;font-size:10px}.cb-input small,.db-input small{font-size:10px}.cb-choices button{font-size:13px;gap:5px}.cb-choices button strong{font-size:15px}.lr-name,.lr-points{font-size:14px}}
@media(prefers-reduced-motion:reduce){.db-coin,.cb-character,.db-character,.pp-dice-companion{animation:none!important;transform:none}.pp-dice-board *{animation:none!important}}
/* Bright animated leaderboard atmosphere, with still text above it. */
.lr-dialog{background:#e9d9ff;color:#2b1042;border-color:#c29ae8;box-shadow:0 18px 60px #37105c55,inset 0 1px #fff}
.lr-dialog::before{content:'';position:absolute;inset:0;background-size:160% 160%;background:radial-gradient(ellipse at 20% 30%,#84ffe0bb,transparent 44%),radial-gradient(ellipse at 80% 70%,#c579ffcc,transparent 46%),linear-gradient(130deg,#eddaff,#e3fff6);animation:ranking-atmosphere 12s ease-in-out infinite alternate;pointer-events:none}
.lr-dialog::after{content:'';position:absolute;inset:0;background-size:250% 100%;background:linear-gradient(110deg,transparent 42%,#ffffff90 49%,transparent 57%);animation:ranking-light 7s ease-in-out infinite;pointer-events:none}
.lr-header,.lr-list,.lr-dialog footer{position:relative;z-index:1}.lr-eyebrow{color:#6a3c8c}.lr-header h2 span{color:#186c59}.lr-close{color:#431e63;background:#ffffffb0;border-color:#b88ed4}.lr-row{background:linear-gradient(105deg,#64388e,#402058);border-color:#b085cf;color:#fff;min-height:30px}.lr-row[data-rank='1']{background:linear-gradient(105deg,#925f17,#543569)}.lr-row[data-rank='2']{background:linear-gradient(105deg,#58667e,#51316e)}.lr-row[data-rank='3']{background:linear-gradient(105deg,#8b563d,#56316d)}.lr-points small,.lr-delta{color:#e3d5ee}.lr-dialog footer,.lr-dialog time,.lr-dialog [data-lr-status]{color:#5a3376}.lr-live{color:#186d56}.lr-live i{background:#169e77;box-shadow:0 0 7px #3ce1b5}.lr-row::after{border-color:#baffeb;box-shadow:0 0 10px #3effbd,inset 0 0 9px #76f1ce77}
@keyframes ranking-atmosphere{0%{background-position:0% 0%}100%{background-position:100% 100%}}
@keyframes ranking-light{0%,15%{background-position:150% 0;opacity:0}30%,65%{opacity:.6}85%,100%{background-position:-100% 0;opacity:0}}
.battle-result-open{overflow:hidden!important}.battle-result-overlay{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:16px;background:#211132aa;backdrop-filter:blur(5px)}.battle-result-dialog{width:min(420px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #c299e9;border-radius:24px;text-align:center;background:linear-gradient(135deg,#e5fff6,#e1c6fa);color:#2f1248;box-shadow:0 20px 70px #24103066}.battle-result-dialog h2{font-size:20px;margin:0;font-weight:900}.battle-result-dialog h3{font-size:27px;font-weight:900;margin:12px 0}.battle-result-stage{height:190px;display:grid;place-items:center;perspective:800px}.battle-result-piece{transform-style:preserve-3d;position:relative;display:grid;place-items:center;width:108px;height:108px}.battle-result-piece .dice-model{--die-size:80px}.battle-result-coin{width:98px;height:98px;position:relative;transform-style:preserve-3d;transform:rotateY(var(--result-y,0deg))}.battle-result-face{display:block;font-size:20px;min-height:29px}.battle-result-dialog p{font-size:15px;font-weight:800;line-height:1.6;min-height:30px;margin:8px 0 18px}.battle-result-dialog .cb-action{width:100%;font-weight:900;font-size:16px;min-height:44px}.battle-result-overlay[data-phase=rolling] .battle-result-piece{animation:battle-cube-turn .8s linear infinite}.battle-result-overlay[data-phase=stopping] .battle-result-piece{animation:dice-stop-bounce 1.05s ease-out}.battle-result-overlay[data-phase=done] .battle-result-piece{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.lr-dialog::before,.lr-dialog::after,.battle-result-overlay *{animation:none!important}}
/* One synchronized stage for both battles at the same round boundary. */
.battle-result-overlay.is-double .battle-result-dialog{width:min(790px,100%)}.br-games{display:grid;grid-template-columns:1fr;gap:18px}.is-double .br-games{grid-template-columns:repeat(2,minmax(0,1fr))}.br-game{position:relative;isolation:isolate;overflow:hidden;padding:10px 8px;border-radius:18px;min-width:0}.br-game>*:not(.br-fireworks){position:relative;z-index:2}.br-countdown{font:900 40px/1.1 "Noto Sans KR",Arial;min-height:44px;font-variant-numeric:tabular-nums;color:#762bc2}.br-profit-label{display:block;font-size:15px;font-weight:800}.br-profit{display:block;font-size:clamp(26px,4vw,40px);font-weight:900;color:#137955;line-height:1.35;overflow-wrap:anywhere}.br-profit.is-loss{color:#874378}.br-game[data-phase=rolling] .battle-result-piece{animation:battle-cube-turn .8s linear infinite}.br-game[data-phase=stopping] .battle-result-piece{animation:dice-stop-bounce 1.05s ease-out}.br-game[data-phase=done] .battle-result-piece{transform:translateY(0)}.br-fireworks{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;opacity:0}.br-fireworks i{position:absolute;left:var(--x);top:-10%;width:7px;height:14px;border-radius:2px;background:hsl(var(--h) 90% 63%);animation:br-confetti 2.6s cubic-bezier(.2,.7,.6,1) 2;animation-delay:calc(var(--i)*-.043s)}.br-game[data-phase=done] .br-fireworks{opacity:.5}.br-game[data-phase=done].is-win .br-fireworks{opacity:1}.br-game.is-win::after{content:'';position:absolute;inset:0;z-index:0;border-radius:50%;background:repeating-conic-gradient(#ffffff00 0 15deg,#fff8 15deg 30deg);animation:br-rays 16s linear infinite;opacity:.65}.br-audio{display:block;margin-top:8px}.battle-result-dialog .br-game h3{font-size:26px;margin:5px 0}.battle-result-dialog .br-game p{font-size:13px;margin:6px 0}.br-game .battle-result-stage{height:155px}.br-game .battle-result-face{min-height:26px}
@keyframes br-confetti{0%{transform:translate(-18px,-50px) rotate(0);opacity:0}8%,75%{opacity:1}100%{transform:translate(22px,480px) rotate(550deg);opacity:0}}
@keyframes br-rays{to{transform:rotate(360deg)}}
@media(max-width:600px){.is-double .br-games{grid-template-columns:1fr;gap:8px}.is-double .br-game{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;column-gap:10px}.is-double .br-game h2{grid-column:1/-1;font-size:17px}.is-double .br-game .battle-result-stage{grid-column:1;grid-row:2/7;height:145px}.is-double .br-game .br-countdown,.is-double .br-game h3,.is-double .br-game .br-profit-label,.is-double .br-game .br-profit,.is-double .br-game p,.is-double .br-game .battle-result-face{grid-column:2;min-height:0}.is-double .br-game h3{font-size:20px}.is-double .br-game .br-profit{font-size:25px}.is-double .br-game p{font-size:11px}.battle-result-dialog{padding:16px}.br-game .battle-result-piece .dice-model{--die-size:67px}}
@media(prefers-reduced-motion:reduce){.br-game *,.br-game::after{animation:none!important}.br-fireworks{display:none}}

.battle-result-overlay{font-family:"Noto Sans KR",Arial,sans-serif}.battle-result-dialog .cb-action{display:flex;align-items:center;justify-content:center;border:1px solid #159d7c;border-radius:24px;background:#36dfb6;color:#15382f;box-shadow:inset 0 1px #c9ffed,0 3px 0 #20866e;line-height:1.2;padding:10px 16px;cursor:pointer}.br-character{position:absolute;right:0;top:20px;width:52px;height:64px;pointer-events:none;animation:actor-right-idle 4s ease-in-out infinite;z-index:4}.br-character .pp-game-companion{position:relative!important;inset:auto!important;display:block;width:100%!important;height:100%!important}.br-game .battle-result-stage{position:relative}.br-game[data-phase=done] .br-character{animation:actor-right-follow 2.7s ease-in-out infinite}.br-fireworks i{animation:none}.br-game[data-phase=done] .br-fireworks i{animation:br-confetti 2.6s cubic-bezier(.2,.7,.6,1) 2;animation-delay:calc(var(--i)*-.043s)}
@media(prefers-reduced-motion:reduce){.br-character,.br-game[data-phase=done] .br-character,.br-game[data-phase=done] .br-fireworks i{animation:none!important}}

.battle-result-dialog button{font-family:inherit}.br-character{right:4px;top:34px}.is-double .br-character{right:2px;top:34px}@media(max-width:600px){.is-double .br-character{right:0;top:3px;width:38px;height:46px}}

/* R58.37: restrained mint/violet lobby, flat controls, live dimensional pieces. */
.pp-battle-grid{align-items:stretch;gap:16px}
.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding:20px 20px 14px;border:1px solid #bde9dc;border-radius:22px;background:linear-gradient(125deg,#f2fcf9,#dcf7ee);box-shadow:0 8px 24px #2147370b;overflow:hidden;position:relative}
.pp-battle-grid .db-card{border-color:#dac4f0;background:linear-gradient(125deg,#faf6ff,#ecdefa)}
.pp-battle-grid h2{font-size:clamp(22px,2.2vw,30px);line-height:1.18;letter-spacing:-.04em}
.pp-battle-grid .cb-live-dot,.pp-battle-grid .db-live-dot{display:none}
.pp-battle-grid .cb-period,.pp-battle-grid .db-period{font-size:11px;padding:6px 10px;border-radius:20px;background:#ffffff90;white-space:nowrap}
.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:minmax(0,1fr) minmax(105px,.85fr);gap:12px;margin-top:14px;min-height:0;position:relative}
.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{grid-column:1;grid-row:1;display:grid;grid-template-rows:auto auto auto;gap:9px;align-self:center;justify-items:start;text-align:left;margin:0;min-width:0}
.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:clamp(28px,3vw,39px);line-height:1.2;letter-spacing:-.05em;font-weight:900;color:#26103e}
.pp-battle-grid [data-cb-round],.pp-battle-grid [data-db-round]{font-size:12px;line-height:1.3;color:#776389;white-space:normal;overflow-wrap:anywhere}
.pp-battle-grid .cb-action,.pp-battle-grid .db-action{width:100%;max-width:210px;min-height:42px;margin:3px 0 0;padding:10px 16px;border:0!important;box-shadow:none!important;border-radius:999px!important;font-size:16px;font-weight:850;line-height:1.25;text-align:center;transition:background-color .25s,color .25s;transform:none!important}
.pp-battle-grid .cb-action{background:#3ceac6!important;color:#26103e!important}
.pp-battle-grid .db-action{background:#8528d1!important;color:#fff!important}
.pp-battle-grid .cb-action:hover:enabled,.pp-battle-grid .cb-action:focus-visible{background:#2d1247!important;color:#76f1ce!important}
.pp-battle-grid .db-action:hover:enabled,.pp-battle-grid .db-action:focus-visible{background:#fff!important;color:#7822c1!important}
.pp-battle-grid .battle-card-art{grid-column:2;grid-row:1;position:relative;inset:auto;width:100%;height:150px;perspective:850px;transform-style:preserve-3d}
.battle-card-art .dice-model{--die-size:72px;animation:lobby-die-turn 12s linear infinite;transform-style:preserve-3d}
.battle-card-coin{position:relative;display:block;width:108px;height:108px;border:0;background:none;box-shadow:none;transform-style:preserve-3d;animation:lobby-coin-turn 8s linear infinite}
.battle-card-coin .coin-face{font-size:29px;border-width:5px}.battle-card-coin .coin-back{background:radial-gradient(circle at 30% 20%,#e3fff2,#77edc6 60%,#34b28b);border-color:#4ccda4;color:#452260}.battle-card-coin .coin-rim{inset:1px}
.battle-card-art::after{bottom:8px;left:12%;width:76%;height:12px;background:#3f1f631f;filter:blur(7px)}
.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{grid-row:2;grid-column:1/-1;align-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:4px -20px -1px;padding:10px 14px;background:#ffffff7a;border-top:1px solid #ffffffa0}
.pp-battle-grid .db-side-summary{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8px}
.pp-battle-grid .cb-stat,.pp-battle-grid .db-stat{padding:3px 8px;box-shadow:none;border:0;border-radius:0;background:none;font-size:13px}
.pp-battle-grid .cb-stat+.cb-stat{border-left:1px solid #b1d9cc}.pp-battle-grid .db-stat:not(:nth-child(3n+1)){border-left:1px solid #d7bee9}
.pp-battle-grid .cb-card-foot,.pp-battle-grid .db-card-foot{padding-top:9px;font-size:12px}
@keyframes lobby-coin-turn{0%{transform:translateY(0) rotateY(0) rotateZ(-12deg)}50%{transform:translateY(-5px) rotateY(180deg) rotateZ(-12deg)}100%{transform:translateY(0) rotateY(360deg) rotateZ(-12deg)}}
@keyframes lobby-die-turn{0%{transform:translateY(0) rotateX(-27deg) rotateY(-25deg)}50%{transform:translateY(-5px) rotateX(153deg) rotateY(155deg)}100%{transform:translateY(0) rotateX(333deg) rotateY(335deg)}}
/* Flat selection surfaces; state remains identifiable by the solid fill. */
.cb-arena .cb-side-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cb-overlay .cb-stat,.db-overlay .db-stat{border:0;box-shadow:none;outline:0}
.cb-overlay .cb-stat{background:#dcf7ed}.cb-overlay .cb-stat.tails{background:#ebdef8}
.cb-choices button,.db-choices button{border:0!important;box-shadow:none!important;outline:0;transform:none!important;transition:background-color .25s,color .25s;animation:none!important}
.cb-choices button{background:#d5f5e9!important;color:#194d3c!important}
.cb-choices [data-cb-side=tails]{background:#eadbf8!important;color:#5e2e84!important}
.cb-choices button:hover:enabled,.cb-choices button[aria-pressed=true]{background:#39d8ac!important;color:#123f31!important}
.cb-choices [data-cb-side=tails]:hover:enabled,.cb-choices [data-cb-side=tails][aria-pressed=true]{background:#8b3acd!important;color:#fff!important}
.db-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.db-choices button{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:15px 10px;min-height:119px;border-radius:14px;background:#d8f6eb!important;min-width:0}
.db-choices button:hover:enabled,.db-choices button[aria-pressed=true]{background:#90e6ca!important}
.db-choices button .db-stat{width:100%;font-size:14px;text-align:left;background:none!important}
.db-choices .dice-model{--die-size:28px;margin:6px auto}
.cb-choices button:focus-visible,.db-choices button:focus-visible{outline:2px solid #5f2c8b!important;outline-offset:3px}
/* One shared participation field, with MAX and numeric amount on a single line. */
.cb-stake,.db-stake{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;font-size:17px}
.cb-stake>[data-cb-stake-label],.db-stake>[data-db-stake-label]{text-align:left;font-size:17px;line-height:1.3}
.cb-input,.db-input{display:flex;width:100%;max-width:100%;height:48px;padding:7px 12px;gap:8px;border:0!important;outline:0;box-shadow:none;border-radius:13px;background:#ddf6ed;transition:background-color .2s}
.cb-input:focus-within,.db-input:focus-within{background:#c9ecde}
.cb-input button,.db-input button{background:#bcebd9;border:0;border-radius:8px;color:#225744;font-size:12px;font-weight:800;padding:5px 9px}
.cb-input input,.db-input input{flex:1;width:0;font-size:19px;font-weight:850;text-align:right}
.cb-input small,.db-input small{font-size:12px;white-space:nowrap}
/* The same action style is shared by roulette and personal dice. */
#pp-board.pp-dice-board{gap:0!important;display:flex;flex-direction:column;padding:18px 16px 0!important}
#pp-board.pp-dice-board .pp-dice-arena{flex:1 1 auto;min-height:150px;height:auto;max-height:none;margin:0}
#pp-board.pp-dice-board .pp-dice-choices{flex:none;margin-top:24px;margin-bottom:0}
#pp-board.pp-dice-board .pp-dice-controls{flex:0 0 100px;min-height:100px;max-height:100px;display:flex;align-items:center;justify-content:center;padding:0;margin:0}
#pp-board.pp-dice-board .pp-dice-controls .pp-primary{display:flex;align-items:center;justify-content:center;width:max-content!important;max-width:calc(100% - 16px);height:38px;min-height:38px;max-height:none;padding:6px 20px;margin:0;border:0;border-radius:999px!important;background:#3ceac6;color:#07392b!important;box-shadow:none;font:700 14px/20px Outfit,"Noto Sans KR",system-ui,sans-serif!important;letter-spacing:normal;animation:none!important;transform:none;cursor:pointer}
#pp-board.pp-dice-board .pp-dice-controls .pp-primary:hover:enabled{background:#10dcb1!important;color:#07392b!important}
#pp-board.pp-dice-board .pp-dice-controls .pp-primary[hidden]{display:none!important}
.pp-dice-controls .pp-primary:disabled{cursor:default}
/* A quiet, slightly darker popup surface; decoration is confined inside it. */
.lr-dialog{background:#d5c3e7;color:#2b1042;border-color:#bca0d2;box-shadow:0 18px 60px #37105c44}
.lr-dialog::before,.lr-dialog::after{display:none;animation:none;background:none;content:none}
.lr-overlay::before,.lr-overlay::after{content:none}
.lr-empty{color:#57366e}
.battle-result-dialog{position:relative;padding-top:35px;background:#dacbe9}
.battle-result-dialog .br-close{position:absolute;top:8px;right:8px;z-index:10;width:28px;height:28px;min-height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffff85;color:#47245f;box-shadow:none;font:24px/1 Arial;cursor:pointer}
.battle-result-dialog .br-close:focus-visible{outline:2px solid #633487;outline-offset:2px}
@media(max-width:1050px) and (min-width:761px){.pp-battle-grid .battle-card-art{height:130px}.battle-card-art .dice-model{--die-size:58px}.battle-card-coin{width:86px;height:86px}.battle-card-coin .coin-face{font-size:23px}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:28px}}
@media(max-width:760px){.db-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{min-height:0}.pp-battle-grid h2{font-size:26px}}
@media(max-width:420px){.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding:16px 14px 12px}.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:minmax(0,1fr) 116px;gap:9px;margin-top:12px;min-height:0}.pp-battle-grid .battle-card-art{height:132px}.battle-card-art .dice-model{--die-size:62px}.battle-card-coin{width:94px;height:94px}.battle-card-coin .coin-face{font-size:25px}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:30px}.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{grid-column:1/-1;grid-row:2;margin:3px -14px 0;padding:10px 8px}.pp-battle-grid .cb-stat,.pp-battle-grid .db-stat{padding:3px 6px;font-size:12px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{font-size:15px;padding:10px 12px}.cb-overlay .battle-stat-line,.db-overlay .battle-stat-line{font-size:13px}.db-choices button{padding:13px 8px;gap:9px;min-height:112px}.db-choices button .db-stat{font-size:14px}.cb-stake,.db-stake{gap:8px}.cb-input,.db-input{padding:7px 10px;gap:6px}}
@media(prefers-reduced-motion:reduce){.battle-card-coin,.battle-card-art .dice-model{animation:none!important;transform:rotateX(-15deg) rotateY(-25deg)}.cb-input,.db-input,.cb-choices button,.db-choices button,.pp-battle-grid button{transition:none}}
.cb-choices button[aria-pressed=true],.db-choices button[aria-pressed=true]{outline:0!important;border:0!important;box-shadow:none!important}
.cb-choices button:focus-visible,.db-choices button:focus-visible{outline:2px solid #5f2c8b!important;outline-offset:3px}
.db-choices .db-stat strong{font-size:inherit}.db-choices .db-stat small{font-size:.7em}
@media(max-width:760px){.db-choices button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;min-height:86px;padding:14px 9px}.db-choices .dice-model{--die-size:24px;margin:4px}.db-choices button .db-stat{font-size:13px}.db-arena{padding-top:6px}.db-arena .db-coin{width:92px;height:98px;margin-bottom:15px}.db-arena .db-coin .dice-model{--die-size:68px}}

/* Grid children may shrink even when translations contain long words. */
.cb-form,.db-form{min-width:0;width:100%;grid-template-columns:minmax(0,1fr)}
.cb-form>*,.db-form>*{min-width:0;max-width:100%}
.cb-estimate,.db-estimate{grid-template-columns:minmax(0,1fr) auto;overflow-wrap:anywhere}
.cb-estimate>span,.db-estimate>span,.cb-mine,.db-mine{min-width:0;overflow-wrap:anywhere}
.cb-form>.cb-action,.db-form>.db-action{white-space:normal;line-height:1.35;padding:12px 18px}
.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{grid-template-columns:minmax(0,1fr);justify-content:stretch}
@media(min-width:761px){.battle-card-art .dice-model{--die-size:86px}.battle-card-coin{width:128px;height:128px}.battle-card-coin .coin-face{font-size:34px}.pp-battle-grid .cb-side-summary{min-height:104px;align-items:center}}
@media(min-width:761px) and (max-width:1050px){.battle-card-art .dice-model{--die-size:58px}.battle-card-coin{width:86px;height:86px}.battle-card-coin .coin-face{font-size:23px}}

/* R58.38: compact banner proportions, generous artwork and one inset summary. */
.pp-battle-area{margin:28px 0 30px}.pp-battle-toolbar{margin:0 2px 12px;font-size:12px}
.pp-battle-grid{gap:16px}
.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding:17px 17px 14px;border-radius:22px;background:radial-gradient(ellipse at 95% -30%,#ffffffb0 0 40%,transparent 40.2%),linear-gradient(125deg,#f2fcf9,#d7f7ec)}
.pp-battle-grid .db-card{background:radial-gradient(ellipse at 98% -30%,#ffffff90 0 42%,transparent 42.2%),linear-gradient(125deg,#fbf7ff,#e9d8f9)}
.pp-battle-grid h2{font-size:clamp(23px,2.3vw,30px);line-height:1.15}
.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:156px auto;gap:11px 8px;margin-top:4px;min-height:0}
.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{grid-column:1;grid-row:1;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-self:center;align-content:center;justify-content:stretch;justify-items:center;gap:5px;margin:0;width:min(100%,230px);text-align:center;min-width:0}
.pp-battle-grid [data-cb-round],.pp-battle-grid [data-db-round]{text-align:center;width:100%;font-size:12px;line-height:1.2}
.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{width:100%;font-size:clamp(30px,3.1vw,43px);line-height:1.15;font-weight:900;letter-spacing:-.045em;text-align:center;white-space:nowrap}
.pp-battle-grid .cb-action,.pp-battle-grid .db-action{width:100%;max-width:230px;margin:12px 0 0;min-height:42px;font-size:16px}
.pp-battle-grid .battle-card-art{width:100%;height:190px;align-self:center;position:relative;inset:auto;transform-style:preserve-3d;perspective:850px}
.battle-art-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
[data-battle-art][data-rendered=webgl] .battle-art-canvas{opacity:1}
[data-battle-art][data-rendered=webgl] .battle-art-fallback{display:none}
.battle-art-fallback{display:grid;place-items:center;width:100%;height:100%;perspective:850px;transform-style:preserve-3d}
.battle-art-fallback .battle-shared-coin{--coin-size:144px;width:144px;height:144px;animation:lobby-coin-turn 8s linear infinite;filter:none}
.battle-art-fallback .dice-model{--die-size:94px;animation:lobby-die-turn 12s linear infinite}
.battle-card-art::after{bottom:12px;left:12%;width:76%;height:14px;background:#315c4c33;filter:blur(10px);z-index:0;pointer-events:none}
.battle-art-canvas,.battle-art-fallback{z-index:1}
.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));min-height:65px;align-items:center;gap:0;margin:0;padding:10px 8px;border:0;border-radius:14px;background:#ffffff80;overflow:hidden}
.pp-battle-grid .db-side-summary{grid-template-columns:repeat(6,minmax(0,1fr));min-height:65px}
.pp-battle-grid .cb-stat,.pp-battle-grid .db-stat{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:5px 9px;padding:2px 8px;background:none;box-shadow:none;border:0;border-radius:0;font-size:14px;line-height:1.3;text-align:center;min-width:0}
.pp-battle-grid .db-stat{flex-direction:column;align-items:center;gap:3px;padding:2px 4px;font-size:13px}
.pp-battle-grid .db-stat:not(:first-child),.pp-battle-grid .cb-stat:not(:first-child){border-left:1px solid #ad8dcd45}
.pp-battle-grid .cb-stat>span:first-child,.pp-battle-grid .db-stat>span:first-child{font-size:13px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.pp-battle-grid .cb-stat strong{font-size:22px;line-height:1.2}.pp-battle-grid .db-stat strong{font-size:17px;line-height:1.2}
.pp-battle-grid .cb-stat strong small,.pp-battle-grid .db-stat strong small{font-size:9px;font-weight:600;margin-left:2px}
.pp-battle-grid .cb-card-foot,.pp-battle-grid .db-card-foot{font-size:12px;margin-top:0;padding-top:6px}
/* Wagers share a transparent outlined field. MAX alone keeps its mint fill. */
.cb-input,.db-input,.cb-input:focus-within,.db-input:focus-within{background:transparent;border:1px solid #a7c8bc!important;box-shadow:none}
.cb-input:focus-within,.db-input:focus-within{border-color:#329b7d!important}
.cb-input button,.db-input button{background:#bcebd9}
.cb-input input,.db-input input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
/* Selection uses a marker, while only hover darkens the surface. */
.cb-choices button,.cb-choices button[aria-pressed=true]{background:#d5f5e9!important;color:#194d3c!important}
.cb-choices [data-cb-side=tails],.cb-choices [data-cb-side=tails][aria-pressed=true]{background:#eadbf8!important;color:#5e2e84!important}
.cb-choices button:hover:enabled{background:#39d8ac!important;color:#123f31!important}
.cb-choices [data-cb-side=tails]:hover:enabled{background:#8b3acd!important;color:#fff!important}
.cb-choices button[aria-pressed=true]::after{content:'✓';position:absolute;top:4px;right:7px;font:800 12px/1 Arial;color:inherit}
/* Battle coins carry the original game artwork, thickness and spin/landing keyframes. */
.cb-arena .cb-coin{display:grid;place-items:center;width:120px;height:120px;margin:4px auto 18px;animation:none!important;transform:none!important;filter:none;overflow:visible;perspective:900px;transform-style:preserve-3d}
.battle-shared-coin{--coin-size:120px;width:var(--coin-size);height:var(--coin-size);filter:none;transform-style:preserve-3d}
.cb-arena .battle-shared-coin{animation:coin-idle-turn 2.8s linear infinite}
.cb-arena.is-closing .battle-shared-coin{animation:pp-coin-power .55s linear infinite}
.cb-arena .cb-reveal .battle-shared-coin{animation:pp-coin-land .95s cubic-bezier(.18,.6,.24,1) both}
.br-game[data-game=coin] .battle-result-piece{animation:none;transform:none!important}
.br-game[data-game=coin] .battle-shared-coin{--coin-size:114px;animation:coin-idle-turn 2.8s linear infinite}
.br-game[data-game=coin][data-phase=rolling] .battle-shared-coin{animation:pp-coin-power .55s linear infinite}
.br-game[data-game=coin][data-phase=stopping] .battle-shared-coin{animation:pp-coin-land .95s cubic-bezier(.18,.6,.24,1) both}
.br-game[data-game=coin][data-phase=done] .battle-shared-coin{animation:none;transform:none}
.br-game[data-game=coin] .battle-result-stage{perspective:900px;overflow:visible}
@media(min-width:761px) and (max-width:1050px){.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding:14px}.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:146px auto}.pp-battle-grid .battle-card-art{height:164px}.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{width:100%}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:29px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{font-size:14px}.pp-battle-grid .db-stat strong{font-size:14px}.pp-battle-grid .db-stat strong small{display:none}}
@media(max-width:760px){.pp-battle-area{margin:24px 0 28px}.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding:16px 14px 14px}.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);grid-template-rows:150px auto;gap:9px 8px;margin-top:4px;min-height:0}.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{width:100%;margin:0;align-self:center}.pp-battle-grid .battle-card-art{height:177px;inset:auto;width:100%}.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{margin:0;padding:10px 5px;min-height:62px;grid-row:2;grid-column:1/-1}.pp-battle-grid .db-side-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.pp-battle-grid .cb-stat{padding:2px 6px;gap:5px 7px}.pp-battle-grid .db-stat{padding:2px 3px}.pp-battle-grid .cb-stat strong{font-size:21px}.pp-battle-grid .db-stat strong{font-size:16px}.pp-battle-grid .db-stat strong small{display:none}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:32px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{font-size:15px;margin-top:12px}}
@media(max-width:360px){.pp-battle-grid h2{font-size:24px}.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-rows:142px auto}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:28px}.pp-battle-grid .battle-card-art{height:157px}.pp-battle-grid .cb-stat strong{font-size:18px}.pp-battle-grid .db-stat strong{font-size:14px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{font-size:14px;min-height:40px;padding:9px 10px}.battle-art-fallback .battle-shared-coin{--coin-size:112px;width:112px;height:112px}.battle-art-fallback .dice-model{--die-size:68px}}
@media(prefers-reduced-motion:reduce){.battle-shared-coin,.cb-arena .battle-shared-coin,.cb-arena.is-closing .battle-shared-coin,.cb-arena .cb-reveal .battle-shared-coin,.br-game[data-game=coin] .battle-shared-coin{animation:none!important;transform:none}}
#pp-dice-battle .db-side-summary{grid-template-columns:repeat(6,minmax(0,1fr))}
.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding-left:14px;padding-right:14px;padding-bottom:14px}

/* R58.41 restoration: compact mint / violet stages with independent moving pieces. */
.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding:12px 14px 12px;background:#d0f7e9 url('./assets/paxplay/battle-mint-background-r41.png') center/cover no-repeat}
.pp-battle-grid .db-card{background:#eddbfb url('./assets/paxplay/battle-violet-background-r41.png') center/cover no-repeat}
.pp-battle-grid .cb-card-title,.pp-battle-grid .db-card-title{width:calc((100% - 8px)*.5122);justify-content:center;gap:6px;text-align:center;min-height:29px}
.pp-battle-grid .cb-card-title h2,.pp-battle-grid .db-card-title h2{font-size:clamp(20px,2.1vw,27px);line-height:1.15}
.pp-battle-grid .cb-period,.pp-battle-grid .db-period{display:none}
.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:122px auto;gap:8px;margin-top:0}
.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{width:min(100%,190px);justify-self:center}
.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:36px}
.pp-battle-grid .cb-action,.pp-battle-grid .db-action{max-width:190px;min-height:40px;margin-top:12px;font-size:15px;padding:9px 12px}
.pp-battle-grid .battle-card-art{height:156px}
.battle-card-art::after{bottom:9px;left:20%;width:60%;height:10px;background:#263c4d;filter:blur(9px);opacity:var(--shadow-opacity,.20);transform:translateX(var(--shadow-shift,0px)) scaleX(var(--shadow-scale,1));animation:stage-shadow-float 8s ease-in-out infinite}
[data-battle-art=dice]::after{background:#3c215f;animation-duration:12s}
[data-battle-art][data-rendered=webgl]::after{animation:none}
.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{min-height:54px;padding-top:7px;padding-bottom:7px;background:#ffffff9c}
@keyframes stage-shadow-float{0%,100%{transform:translateX(-2px) scaleX(.95);opacity:.19}50%{transform:translateX(2px) scaleX(.78);opacity:.14}}
@media(min-width:761px) and (max-width:1050px){.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:28px}.pp-battle-grid .cb-card-title h2,.pp-battle-grid .db-card-title h2{font-size:20px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{font-size:14px}}
@media(max-width:760px){.pp-battle-grid .cb-card,.pp-battle-grid .db-card{padding:12px 14px}.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{width:min(100%,180px)}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:30px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{max-width:180px}.pp-battle-grid .cb-card-title h2,.pp-battle-grid .db-card-title h2{font-size:24px}.pp-battle-grid .battle-card-art{height:153px}}
@media(max-width:360px){.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:27px}.pp-battle-grid .cb-card-title h2,.pp-battle-grid .db-card-title h2{font-size:21px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{max-width:170px;font-size:14px}.pp-battle-grid .battle-card-art{height:143px}}
@media(prefers-reduced-motion:reduce){.battle-card-art::after{animation:none!important}}
/* Long mobile translations wrap the count and multiplier without truncating either. */
.db-choices .battle-stat-line{flex-wrap:wrap;column-gap:4px;row-gap:1px}
.db-choices .battle-stat-line>*{flex-shrink:0;max-width:100%}
.db-choices .battle-stat-line>span{min-width:0;overflow-wrap:anywhere;white-space:normal}

/* R58.42: the approved black / purple / mint game stages. */
.pp-battle-grid .cb-card,.pp-battle-grid .db-card{color:#f7f2ff;border:1px solid #563578;background:#15121c url('./assets/paxplay/battle-coin-stage-r42.png') center/100% 100% no-repeat;box-shadow:0 6px 20px #120b2014;padding:12px 14px}
.pp-battle-grid .db-card{background-image:url('./assets/paxplay/battle-dice-stage-r42.png')}
.pp-battle-grid .cb-card-title,.pp-battle-grid .db-card-title{width:min(190px,calc((100% - 8px)*.5122));min-height:35px;padding-top:7px;justify-content:center;text-align:center}
.pp-battle-grid .cb-card-title h2,.pp-battle-grid .db-card-title h2{color:#fff;font-size:clamp(20px,2.1vw,26px);font-weight:850}
.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{justify-self:start;width:min(100%,190px);grid-template-rows:auto auto;gap:5px;align-self:center}
.pp-battle-grid .cb-countdown>[data-cb-round],.pp-battle-grid .db-countdown>[data-db-round]{display:none}
.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{color:#fff;font-size:36px;letter-spacing:-.04em}
.pp-battle-grid .cb-card-body,.pp-battle-grid .db-card-body{grid-template-rows:118px auto;gap:8px}
.pp-battle-grid .cb-action,.pp-battle-grid .db-action{margin-top:13px;min-height:40px;max-width:190px}
.pp-battle-grid .cb-action:hover:enabled{background:#fff!important;color:#3b1c54!important}
.pp-battle-grid .db-action:hover:enabled{background:#69efd0!important;color:#2b1445!important}
.pp-battle-grid .battle-card-art{height:146px;--art-cycle:8s;overflow:visible}
.pp-battle-grid [data-battle-art=dice]{--art-cycle:12s}
.battle-art-fallback{display:grid;position:relative;z-index:1;place-items:center;perspective:850px;transform-style:preserve-3d}
.battle-art-fallback .battle-shared-coin{--coin-size:118px;width:var(--coin-size);height:var(--coin-size);animation:lobby-coin-turn var(--art-cycle) linear infinite;filter:drop-shadow(0 0 8px #77f8d21a)}
.battle-art-fallback .dice-model{--die-size:78px;animation:lobby-die-turn var(--art-cycle) linear infinite}
.battle-card-art::after{bottom:7px;left:23%;width:54%;height:10px;background:#000;filter:blur(8px);opacity:.25;transform:none;animation:game-stage-shadow var(--art-cycle) ease-in-out infinite}
@keyframes game-stage-shadow{0%,100%{transform:translateX(0) scaleX(.96);opacity:.28}50%{transform:translateX(0) scaleX(.80);opacity:.17}}
.battle-card-art.is-offscreen *,.battle-card-art.is-offscreen::after,.battle-card-art.is-page-hidden *,.battle-card-art.is-page-hidden::after{animation-play-state:paused!important}
.pp-battle-grid .cb-side-summary,.pp-battle-grid .db-side-summary{background:#21172deb;border:1px solid #73439d55;min-height:52px;border-radius:12px;padding:7px 5px}
.pp-battle-grid .cb-stat,.pp-battle-grid .db-stat,.pp-battle-grid .cb-stat>span:first-child,.pp-battle-grid .db-stat>span:first-child{color:#f5ecff}
.pp-battle-grid .cb-stat strong,.pp-battle-grid .db-stat strong{color:#80f3d5}
.pp-battle-grid .db-stat:not(:first-child),.pp-battle-grid .cb-stat:not(:first-child){border-left-color:#80569c66}
.pp-battle-grid .cb-card-foot,.pp-battle-grid .db-card-foot{color:#d0bce4}
/* Selection is an inset colored highlight, never a check mark or layout-changing border. */
.cb-choices button[aria-pressed=true]::after{content:none!important;display:none!important}
.cb-choices button[aria-pressed=true],.db-choices button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #22b78d,0 0 10px #39dcaf24!important}
.cb-choices [data-cb-side=tails][aria-pressed=true]{box-shadow:inset 0 0 0 2px #8b3acd,0 0 10px #8b3acd24!important}
.db-choices button[aria-pressed=true]{background:#d8f6eb!important}
.db-choices button[aria-pressed=true]:hover:enabled{background:#90e6ca!important}
/* Ranking: original data / 5-second refresh / keyed motion, new portrait treatment. */
.lr-dialog{background:linear-gradient(155deg,#1c1426,#100e16);color:#f4effa;border:1px solid #7b3ac1;box-shadow:0 18px 65px #0007,inset 0 1px #c497f21a}
.lr-background-art{background:radial-gradient(ellipse at 95% 0,#7d3bb242,transparent 55%);opacity:1;overflow:hidden}
.lr-background-art>span{opacity:.055;bottom:-32px;left:-25px;width:130px;height:130px;pointer-events:none}
.lr-background-art .pp-coin-object{--coin-size:130px;width:130px;height:130px;transform:rotate(-20deg);animation:none}
.lr-close{background:transparent;color:#d0b1ed;border:0;font-size:25px;right:9px;top:9px}
.lr-header{padding:0 30px 11px 4px}.lr-eyebrow{font-size:14px;color:#bd8ce7;letter-spacing:.12em;font-weight:800}
.lr-header h2{font-size:21px;color:#fff;gap:8px;line-height:1.25;margin-top:5px}.lr-header h2 span{font-size:10px;color:#84efd6;border:1px solid #60c9b1;border-radius:8px;padding:4px 7px;letter-spacing:.02em}
.lr-list{gap:5px;padding:4px}.lr-row{background:#281e35;border-color:#71499240;grid-template-columns:23px 33px minmax(0,1fr) max-content 27px;gap:7px;min-height:43px;padding:4px 6px;color:#fff;border-radius:10px}
.lr-row[data-rank='1'],.lr-row[data-rank='2'],.lr-row[data-rank='3']{background:#2d213a;border-color:#9273ac55}
.lr-avatar{width:33px;height:33px;border-radius:50%;overflow:hidden;border:1px solid #a77bc8;background:#372145}
.lr-portrait{display:block;width:100%;height:100%;border-radius:50%;background-image:url('./assets/paxplay/ranking-portraits-r42.png');background-size:500% 200%;background-position:var(--avatar-x) var(--avatar-y);background-repeat:no-repeat}
.lr-medal{width:20px;height:24px}.lr-place{font-size:13px;color:#b997df}
.lr-name{font-size:12px;font-weight:750}.lr-points{font-size:13px;font-weight:800}.lr-points small{color:#b994dd;font-size:8px;margin-left:3px}
.lr-delta{color:#9b88ae;font-size:9px;text-align:right;font-weight:700}.lr-delta.up{color:#73ebcc}.lr-delta.down{color:#c291f0}
.lr-row::after{border-color:#79f6d9;box-shadow:0 0 7px #46e0bc99,inset 0 0 8px #76f1ce25}
.lr-dialog footer{border-top:1px solid #78419955;margin-top:5px;padding:10px 4px 0;min-height:30px;color:#cab0df;font-size:11px}
.lr-live{color:#7cebd0;font-size:12px}.lr-live i{width:7px;height:7px;background:#7cebd0}
.lr-dialog time{color:#c8a6e2;font-size:11px}.lr-dialog [data-lr-status]{color:#c3a6da;font-size:9px}.lr-empty{color:#c4acd6}
@media(min-width:761px) and (max-width:1050px){.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:28px}.pp-battle-grid .cb-card-title h2,.pp-battle-grid .db-card-title h2{font-size:20px}.battle-art-fallback .battle-shared-coin{--coin-size:100px}.battle-art-fallback .dice-model{--die-size:65px}}
@media(max-width:760px){.pp-battle-grid .cb-card-title,.pp-battle-grid .db-card-title{width:min(180px,calc((100% - 8px)*.5122))}.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{width:min(100%,180px)}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:30px}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{max-width:180px}.pp-battle-grid .battle-card-art{height:142px}.battle-art-fallback .battle-shared-coin{--coin-size:106px}.battle-art-fallback .dice-model{--die-size:70px}}
@media(max-width:360px){.pp-battle-grid .cb-card-title,.pp-battle-grid .db-card-title{width:calc((100% - 8px)*.5122)}.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-size:27px}.pp-battle-grid .battle-card-art{height:134px}.battle-art-fallback .battle-shared-coin{--coin-size:94px}.battle-art-fallback .dice-model{--die-size:60px}.lr-row{grid-template-columns:21px 27px minmax(0,1fr) max-content 23px;gap:5px;min-height:39px}.lr-avatar{width:27px;height:27px}.lr-name{font-size:11px}.lr-points{font-size:12px}.lr-header h2{font-size:19px}}
@media(max-height:680px){.lr-row{min-height:36px;padding-top:2px;padding-bottom:2px}.lr-avatar{width:27px;height:27px}.lr-row{grid-template-columns:21px 27px minmax(0,1fr) max-content 24px}.lr-header{padding-bottom:7px}.lr-header h2{font-size:18px}.lr-eyebrow{font-size:12px}.lr-list{gap:4px}}
@media(prefers-reduced-motion:reduce){.battle-card-art::after,.battle-card-art *{animation:none!important}}
/* The existing app-wide heading inheritance must not darken text on these stages. */
#paxplay-root .pp-battle-grid h2{color:#fff}

/* R58.43 — light game surfaces and solid shared game geometry. */
.pp-coin-object,.battle-art-fallback .battle-shared-coin{filter:none;transform-style:preserve-3d}
/* Coin artwork has its disk at (106,106), radius 94 in its 220-unit canvas.
   Match the actual rim, with a small tangent overlap to avoid daylight seams. */
.pp-coin-edge{left:48.1818%;top:48.1818%;width:10%;margin:-7px 0 0 -5%;transform:rotateZ(var(--edge-angle)) translateY(calc(var(--coin-size)*-.42727)) rotateX(90deg);backface-visibility:visible}

/* Pure CSS arena lighting keeps backgrounds bright without baking in game pieces. */
.pp-battle-grid .cb-card{background:radial-gradient(ellipse at 78% 55%,#f4fffc 0%,#c0f7e8 48%,transparent 70%),linear-gradient(115deg,#eafff8,#b1eddb);border-color:#a1dccb;color:#273a39;box-shadow:0 6px 18px #2b665b10}
.pp-battle-grid .db-card{background:radial-gradient(ellipse at 78% 55%,#faf5ff 0%,#e4cff8 48%,transparent 70%),linear-gradient(115deg,#f5ebff,#d5bbef);border-color:#c8afe0;color:#342243;box-shadow:0 6px 18px #60358210}
.pp-battle-grid .cb-card::before,.pp-battle-grid .db-card::before{background:none;opacity:0}
#paxplay-root .pp-battle-grid h2,.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{color:#302044;text-shadow:none}
.pp-battle-grid .cb-side-summary{background:#f1fffbcf;border:1px solid #a4daca}
.pp-battle-grid .db-side-summary{background:#faf5ffcf;border:1px solid #c7addf}
.pp-battle-grid .cb-stat,.pp-battle-grid .db-stat,.pp-battle-grid .cb-stat>span:first-child,.pp-battle-grid .db-stat>span:first-child{color:#473259}
.pp-battle-grid .cb-stat strong{color:#09624e}.pp-battle-grid .db-stat strong{color:#63318a}
.pp-battle-grid .cb-stat small{color:#156755}.pp-battle-grid .db-stat small{color:#674283}
.pp-battle-grid .db-stat:not(:first-child){border-left-color:#c9b2dd}.pp-battle-grid .cb-stat:not(:first-child){border-left-color:#a1d5c5}
.pp-battle-grid .cb-card-foot,.pp-battle-grid .db-card-foot{color:#624974}
.pp-battle-grid .cb-action:hover:enabled{background:#19cba4!important;color:#123e33!important}
.pp-battle-grid .db-action:hover:enabled{background:#6b1db4!important;color:#fff!important}
.battle-card-art::before{content:'';position:absolute;inset:auto 9% 3px;height:22px;border:1px solid #509d8d44;border-radius:50%;background:radial-gradient(ellipse,#ffffffb0,#77dac633 65%,transparent 70%);pointer-events:none;z-index:0}
[data-battle-art=dice]::before{border-color:#a875ca55;background:radial-gradient(ellipse,#ffffffbb,#b58ddd33 65%,transparent 70%)}
.lr-dialog{background:linear-gradient(155deg,#f2e7ff,#e5d4f8);color:#322044;border-color:#c5a8df;box-shadow:0 18px 65px #2711373d,inset 0 1px #fff}
.lr-background-art{background:radial-gradient(ellipse at 100% 0,#fff9,transparent 60%)}
.lr-background-art>span{opacity:.035}
.lr-close{color:#705184}.lr-eyebrow{color:#744196}.lr-header h2{color:#322044}
.lr-header h2 span{color:#086753;background:#edfff9;border-color:#6dbba6}
.lr-row,.lr-row[data-rank='1'],.lr-row[data-rank='2'],.lr-row[data-rank='3']{background:#fbf7ff;border-color:#d2bfdf;color:#30203f;box-shadow:0 2px 5px #51337109}
.lr-row[data-rank='1']{background:#fff9eb;border-color:#e6ce99}
.lr-row[data-rank='2']{background:#f7f8ff;border-color:#c5c8db}
.lr-row[data-rank='3']{background:#fff5ed;border-color:#dec1ab}
.lr-avatar{border-color:#b998cf}.lr-place{color:#74518c}.lr-name,.lr-points{color:#30203f}.lr-points small{color:#725187}
.lr-delta{color:#766183}.lr-delta.up{color:#08785f}.lr-delta.down{color:#8747a7}
.lr-row::after{border-color:#35bda1;box-shadow:0 0 7px #31aa8b55,inset 0 0 8px #76f1ce25}
.lr-dialog footer{border-top-color:#c5aed8;color:#705184}.lr-live{color:#096b55}.lr-live i{background:#19a181;box-shadow:0 0 6px #31b89866}
.lr-dialog time,.lr-dialog [data-lr-status],.lr-empty{color:#705184}

/* Participation controls narrowed together so their centers stay aligned. */
.pp-battle-grid .cb-card-title,.pp-battle-grid .db-card-title{width:min(164px,calc((100% - 8px)*.5122))}
.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{width:min(100%,164px)}
.pp-battle-grid .cb-action,.pp-battle-grid .db-action{max-width:164px}
@media(max-width:760px){.pp-battle-grid .cb-card-title,.pp-battle-grid .db-card-title{width:min(156px,calc((100% - 8px)*.5122))}.pp-battle-grid .cb-countdown,.pp-battle-grid .db-countdown{width:min(100%,156px)}.pp-battle-grid .cb-action,.pp-battle-grid .db-action{max-width:156px}}
#paxplay-root .pp-battle-grid h2,.pp-battle-grid [data-cb-clock],.pp-battle-grid [data-db-clock]{font-weight:400}
/* R58.45: same library card structure; static artwork and violet participation buttons. */
.pp-static-cover{display:block;width:100%;height:100%;aspect-ratio:300/175;object-fit:cover;animation:none!important;transition:none!important;transform:none!important}
#paxplay-root .pp-battle-library-card .pp-description-row p{height:3.4em;min-height:3.4em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
#paxplay-root .pp-battle-library-card .pp-select{background:#8624d5!important;color:#fff!important}
#paxplay-root .pp-battle-library-card .pp-select:hover,#paxplay-root .pp-battle-library-card .pp-select:focus-visible{background:#6816ad!important;color:#fff!important}
.pp-battle-list-art{background:#221039;display:block;overflow:hidden}
/* R58.46: ranking link next to the rewards caption; TOP100 font size retained. */
#paxplay-root .pp-playline>.pp-reward-ranking{display:inline-flex;align-items:center;gap:20px;max-width:100%}
#paxplay-root .pp-playline .pp-live-top10{position:static;margin:0;padding:5px 12px;border:0;border-radius:999px;background:#f0e5ff;color:#7125b1;font:inherit;font-size:10px!important;line-height:14px;cursor:pointer;white-space:nowrap}
@media(max-width:640px){#paxplay-root .pp-playline>.pp-reward-ranking{order:1;flex-basis:100%;justify-content:center}}

/* Unconfirmed or carried rounds never run a perpetual draw animation. */
.br-game[data-phase=waiting] .battle-result-piece,.br-game[data-phase=waiting] .battle-shared-coin,.br-game[data-phase=waiting] .pp-dice-object,.br-game[data-phase=carried] .battle-result-piece,.br-game[data-phase=carried] .battle-shared-coin,.br-game[data-phase=carried] .pp-dice-object{animation:none!important;transform:none!important}
