@font-face{font-family:RallyDisplay;src:url('fonts/rally-display.woff2') format('woff2');font-display:swap;font-weight:400}
.wallet{border:1px solid #e5d6e52b;background:linear-gradient(135deg,#382c427d,#221a2e80);box-shadow:inset 0 1px #ffffff0b}.wallet b{font-size:16px;font-weight:650;letter-spacing:.5px}.logo{width:178px;height:57px}.logo img{filter:drop-shadow(0 3px 3px #160e2980)}.count-clock b{font-family:RallyDisplay,sans-serif;font-weight:400;font-size:32px;letter-spacing:-1px;color:#ffe9b4;text-shadow:0 2px 0 #68442c,0 0 20px #ffc65e40}.count-clock circle{fill:#302239a6}.count-clock small{letter-spacing:2px}.race-announcement{font-family:RallyDisplay,sans-serif;color:#ffe4a0;text-shadow:0 3px 0 #91603b,0 6px 0 #502f43,0 0 30px #ffc26a66;transform:translate(-50%,-50%) rotate(-7deg)}
.prize-art{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 3px 1px #2b133b80)}.reward-prize{min-width:148px;gap:3px;filter:drop-shadow(0 5px 10px #23122b80)}.reward-prize .prize-art{width:148px;max-height:70px;transform:rotate(-6deg);margin:0 0 3px}.reward-burst.backed .reward-prize .prize-art{width:174px;max-height:79px}.reward-prize small{padding:0 0 0 7px;border:1px solid #e9c67d;background:linear-gradient(135deg,#553759,#2d1a36);box-shadow:0 2px 0 #21142f;overflow:hidden;gap:6px;font-style:normal}.reward-prize small b{font-family:RallyDisplay,sans-serif;font-size:10px;font-weight:400;line-height:20px}.reward-prize small em{font-family:RallyDisplay,sans-serif;font-style:normal;color:#38283a;background:linear-gradient(#ffecad,#e2ad59);padding:3px 7px;line-height:15px;font-size:10px;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.reward-prize span{padding:3px 11px 4px;letter-spacing:3px;font-size:9px;line-height:1;color:#fff0c6;background:linear-gradient(90deg,transparent,#3c253ed9 15% 85%,transparent);border-bottom:1px solid #ffd88966;text-shadow:0 1px #352039}.reward-flare{width:180px;height:180px;left:-90px;top:-90px;background:repeating-conic-gradient(from 5deg,#ffd87100 0deg 18deg,#ffe9ac44 20deg 22deg,#ffd87100 26deg 39deg);mask-image:radial-gradient(circle,#000 20%,transparent 68%)}
.result-card.result-designed{position:fixed;top:41%;width:324px;max-height:calc(100dvh - 240px);overflow:visible;z-index:6;border-radius:28px 28px 20px 20px;padding:23px 24px 20px;border:1px solid #e4be7ba6;background:radial-gradient(ellipse at 50% 10%,#61437588,transparent 60%),linear-gradient(160deg,#39263feF,#251a30f7);box-shadow:0 0 0 5px #312039a6,0 0 0 6px #e5bc7040,0 20px 70px #13091dbb,0 0 0 100vmax #160e2366;backdrop-filter:blur(16px);isolation:isolate;animation:finish-arrive .5s cubic-bezier(.2,.7,.2,1) both}.result-card[hidden]{display:none!important}.finish-topline{display:flex;align-items:center;justify-content:center;gap:9px;font-family:RallyDisplay,sans-serif;font-size:9px;letter-spacing:3px;color:#cba8df}.finish-topline span{width:26px;height:1px;background:linear-gradient(90deg,transparent,#ba94c9)}.finish-topline span:last-child{transform:rotate(180deg)}.result-designed h2.finish-title{font-size:27px;font-weight:900;letter-spacing:5px;margin:10px 0 0;text-indent:5px;color:#ffe3a1;text-shadow:0 2px #8b5a3d,0 4px #312037;line-height:1.3}.finish-podium{position:relative;width:204px;height:126px;margin:8px auto 0;display:grid;place-items:center}.finish-wreath{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 2px 1px #170c24)}.finish-orbit{position:absolute;width:94px;height:94px;border:1px solid #f6d38b66;border-radius:50%;box-shadow:0 0 0 7px #d5a4f612,0 0 30px #be84dd55}.result-designed .finish-ball{position:absolute;width:69px;height:69px;box-shadow:inset -7px -8px 13px #2c153b66,0 10px 18px #170d2588;border:1px solid #f5e9ffaa;top:28px}.finish-ball:after{content:'';position:absolute;inset:19px 5px;border:3px solid #fff6;border-left:0;border-right:0;border-radius:50%;transform:rotate(-25deg)}.finish-ball-number{position:relative;margin-top:1px;z-index:1;font-family:RallyDisplay,sans-serif;font-size:22px;font-weight:400;color:#fff3d5;text-shadow:0 2px 0 #573d66,0 0 6px #31182d}.finish-ribbon{position:absolute;bottom:0;left:22px;right:22px;background:linear-gradient(#fbdfa0,#c29150);border-top:1px solid #fff0bf;clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%);padding:5px 14px;color:#43273d;font-size:10px;font-weight:800;letter-spacing:2px;box-shadow:0 3px #24132b}.finish-payout{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:16px}.finish-payout-label{font-size:10px;color:#d0b4d8;letter-spacing:4px;text-indent:4px}.finish-payout .prize-art{width:228px;max-height:76px;margin:3px auto 0}.finish-payout>small{font-size:8px;color:#bda3c5;letter-spacing:2px;margin-top:4px}.finish-rays{position:absolute;left:50%;top:18%;width:240px;height:240px;transform:translate(-50%,-25%);z-index:-1;background:repeating-conic-gradient(#d29fff00 0deg 13deg,#d29fff16 16deg 20deg,#d29fff00 24deg 36deg);mask-image:radial-gradient(circle,#000,transparent 65%);pointer-events:none}.finish-ledger{display:flex;justify-content:center;align-items:center;gap:24px;border-top:1px solid #f5d49025;margin-top:16px;padding-top:12px}.finish-ledger>span{display:flex;flex-direction:column;gap:5px;font-size:9px;letter-spacing:1px;color:#b49cbd;min-width:65px}.finish-ledger b{font-family:RallyDisplay,sans-serif;font-size:13px;font-weight:400;color:#dfcadf;letter-spacing:0}.finish-ledger b.positive{color:#f1d29b}.finish-ledger>i{width:1px;height:26px;background:#e3c4e522}.result-designed button.finish-next{width:100%;margin-top:16px;padding:11px 18px;border:1px solid #ffe7ad;border-radius:8px;background:linear-gradient(110deg,#fff0b5,#dfb46e);box-shadow:0 4px #966437,0 8px 18px #180d2533;color:#3c2636;display:flex;justify-content:center;align-items:center;gap:26px;font-size:12px;font-weight:800;letter-spacing:2px}.finish-next span{font-size:19px;line-height:12px}.result-designed[data-won="false"] .finish-payout .prize-art{opacity:.8;filter:saturate(.5)}
@keyframes finish-arrive{from{opacity:0;transform:translate(-50%,-45%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:780px){.logo{width:143px;height:48px}.wallet b{font-size:14px}.app-header{gap:7px}.reward-prize .prize-art{width:133px;max-height:65px}.reward-burst.backed .reward-prize .prize-art{width:157px;max-height:73px}.result-card.result-designed{top:40%;width:294px;padding:20px 22px 18px}.result-designed h2.finish-title{font-size:25px}.finish-podium{width:185px;height:116px;margin-top:6px}.result-designed .finish-ball{width:64px;height:64px;top:25px}.finish-orbit{width:85px;height:85px}.finish-ribbon{font-size:9px;padding:4px 12px}.finish-payout{margin-top:14px}.finish-payout .prize-art{max-height:67px;width:218px}.finish-ledger{margin-top:13px;padding-top:10px}.result-designed button.finish-next{margin-top:13px;padding:10px 18px}.count-clock b{font-size:30px}}
@media(max-height:700px){.result-card.result-designed{top:39%;width:264px;padding:13px 20px}.finish-topline{font-size:7px}.result-designed h2.finish-title{font-size:21px;margin-top:7px}.finish-podium{width:160px;height:96px;margin-top:3px}.result-designed .finish-ball{width:53px;height:53px;top:22px}.finish-orbit{width:72px;height:72px}.finish-ball-number{font-size:18px}.finish-payout{margin-top:10px}.finish-payout .prize-art{width:190px;max-height:54px}.finish-payout-label{font-size:8px}.finish-ledger{margin-top:10px;padding-top:8px}.result-designed button.finish-next{margin-top:10px;padding:9px}.logo{height:42px;width:135px}}
@media(orientation:landscape) and (max-height:560px){.result-card.result-designed{top:43%;width:470px;padding:16px 20px;display:grid;grid-template-columns:160px 1fr;gap:0 20px;align-items:center}.finish-topline,.result-designed h2.finish-title{grid-column:1}.finish-podium{grid-column:1;grid-row:3/span 3}.finish-payout{grid-column:2;grid-row:1/span 3}.finish-ledger{grid-column:2;grid-row:4}.result-designed button.finish-next{grid-column:2;grid-row:5}.finish-payout .prize-art{width:210px;max-height:65px}}
@media(prefers-reduced-motion:reduce){.result-card.result-designed{animation:none}}
/* CICI: settlement belongs to the scene, never inside a framed card. */
.result-card.result-designed{border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;padding:12px 22px;width:330px;top:40%;max-height:none;overflow:visible}.result-designed:before{content:'';position:absolute;left:50%;top:50%;width:130vw;height:150dvh;transform:translate(-50%,-50%);z-index:-2;background:radial-gradient(ellipse at center,#2816348c 0%,#2516316b 38%,#1c132824 64%,transparent 85%);pointer-events:none}.result-designed .finish-rays{width:420px;height:420px;top:23%;opacity:.9;background:repeating-conic-gradient(#ecc68a00 0deg 13deg,#f4d69f24 16deg 19deg,#ecc68a00 24deg 36deg);mask-image:radial-gradient(circle,#000 5%,transparent 65%)}.result-designed h2.finish-title{font-size:32px;letter-spacing:7px;margin-top:10px;color:#ffe4a7;text-shadow:0 2px #a06a3d,0 4px #492139,0 5px 16px #1c0d2a}.result-designed .finish-topline{color:#f2d2ff;text-shadow:0 2px 5px #21122d;letter-spacing:4px}.result-designed .finish-podium{width:225px;height:141px;margin-top:15px}.result-designed .finish-wreath{filter:drop-shadow(0 4px 2px #22112d)}.result-designed .finish-ball{width:79px;height:79px;top:30px}.result-designed .finish-orbit{width:109px;height:109px;box-shadow:0 0 0 9px #d5a4f610,0 0 45px #be84dd55}.result-designed .finish-ball-number{font-size:27px}.result-designed .finish-ribbon{font-size:11px;padding:6px 14px}.result-designed .finish-payout{margin-top:24px}.result-designed .finish-payout-label{color:#f2dce7;text-shadow:0 1px 6px #21112b}.result-designed .finish-payout .prize-art{width:258px;max-height:86px;margin-top:5px;filter:drop-shadow(0 6px 0 #2b133b66) drop-shadow(0 0 25px #edb65a33)}.result-designed .finish-payout>small{color:#dfc8df;text-shadow:0 1px 5px #21112b}.result-designed .finish-ledger{border:0;gap:27px;padding-top:0;margin-top:22px}.result-designed .finish-ledger>span{color:#dcc5e0;text-shadow:0 2px 7px #1d102b}.result-designed .finish-ledger b{font-size:16px;color:#f1e2ef}.result-designed .finish-ledger b.positive{color:#ffe0a0}.result-designed button.finish-next{width:190px;margin:23px auto 0;border-radius:30px;font-size:11px;gap:28px;box-shadow:0 3px #916138,0 7px 20px #1b0d2c44}
@media(max-width:780px){.result-card.result-designed{top:40%;width:310px;padding:9px 20px}.result-designed h2.finish-title{font-size:29px}.result-designed .finish-podium{width:204px;height:129px;margin-top:10px}.result-designed .finish-ball{width:73px;height:73px;top:28px}.result-designed .finish-orbit{width:98px;height:98px}.result-designed .finish-payout{margin-top:21px}.result-designed .finish-payout .prize-art{width:242px;max-height:78px}.result-designed .finish-payout-label{font-size:9px}.result-designed .finish-ledger{margin-top:19px}.result-designed button.finish-next{margin-top:20px}}
@media(max-height:700px){.result-card.result-designed{top:39%;width:280px;padding:4px 15px}.result-designed h2.finish-title{font-size:25px;margin-top:8px}.result-designed .finish-podium{width:174px;height:109px;margin-top:5px}.result-designed .finish-ball{width:61px;height:61px;top:24px}.result-designed .finish-orbit{width:84px;height:84px}.result-designed .finish-ball-number{font-size:22px}.result-designed .finish-ribbon{font-size:9px;padding:4px 14px}.result-designed .finish-payout{margin-top:15px}.result-designed .finish-payout .prize-art{width:220px;max-height:65px}.result-designed .finish-ledger{margin-top:15px}.result-designed button.finish-next{margin-top:16px}}
@media(orientation:landscape) and (max-height:560px){.result-card.result-designed{top:42%;width:500px;padding:8px 16px}.result-designed .finish-podium{width:170px;height:109px}.result-designed .finish-payout{margin:0}.result-designed .finish-payout .prize-art{width:228px;max-height:73px}.result-designed .finish-ledger{margin-top:12px}.result-designed button.finish-next{width:182px;margin-top:16px}}

#rules-dialog .music-credit{font-size:9px;color:#bfaac9;line-height:1.8}#rules-dialog .music-credit a{color:#e2c38c;text-decoration:underline;text-underline-offset:2px}
/* Live potential return uses the full width of the ball card. */
body:not([data-phase="betting"]) .ball-card{display:grid;grid-template-columns:20px 1fr;grid-template-rows:20px 20px;justify-items:center;align-items:center;gap:1px 3px;height:53px;min-height:53px;padding:4px 3px}
body:not([data-phase="betting"]) .ball-card .orb{grid-column:1;grid-row:1;width:18px;height:18px}
body:not([data-phase="betting"]) .ball-card strong{grid-column:2;grid-row:1;align-self:center;justify-self:start;margin:0;font-size:10px}
body:not([data-phase="betting"]) .ball-card small{display:block;grid-column:1/-1;grid-row:2;width:100%;min-width:0;text-align:center;align-self:center;margin:0;font-family:RallyDisplay,sans-serif;font-size:11px;line-height:18px;letter-spacing:-.4px;color:#e3cde7;font-weight:400;white-space:nowrap}
body:not([data-phase="betting"]) .ball-card[data-value="potential"] small,body:not([data-phase="betting"]) .ball-card[data-value="paid"] small{color:#ffe4a1;text-shadow:0 2px 0 #573349}
body:not([data-phase="betting"]) .ball-card[data-value="unbacked"] small{font-size:9px;color:#b49abe}
body:not([data-phase="betting"]) .ball-card.out small{display:block;color:#8f7a9a;font-family:inherit}
.finish-survivors{display:flex;align-items:flex-end;justify-content:center;gap:13px;margin:15px auto 0;position:relative}
.finish-runner{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:34px}.finish-runner>small{font-family:RallyDisplay,sans-serif;font-size:10px;letter-spacing:0;color:#d9c5dd;line-height:1}.finish-runner .tiny-orb{width:33px;height:33px;display:grid;place-items:center;border:1px solid #fff7;box-shadow:inset -4px -4px 8px #28153566,0 4px 8px #1a0c2566}.finish-runner b{font-family:RallyDisplay,sans-serif;font-size:11px;font-weight:400;color:#fff4da;text-shadow:0 2px #4b2e5e}.finish-runner.first>small{color:#ffe3a3}.finish-runner.first .tiny-orb{border-color:#ffe3a3;box-shadow:0 0 0 2px #f3d89333,inset -4px -4px 8px #28153566,0 0 18px #efc07633}
.result-designed:has(.finish-survivors){top:43%}.result-designed:has(.finish-survivors) .finish-podium{width:190px;height:115px;margin-top:8px}.result-designed:has(.finish-survivors) .finish-ball{width:65px;height:65px;top:25px}.result-designed:has(.finish-survivors) .finish-orbit{width:89px;height:89px}.result-designed:has(.finish-survivors) .finish-ball-number{font-size:23px}.result-designed:has(.finish-survivors) .finish-payout{margin-top:17px}.result-designed:has(.finish-survivors) .finish-payout .prize-art{max-height:70px;width:228px}.result-designed:has(.finish-survivors) .finish-ledger{margin-top:14px}.result-designed:has(.finish-survivors) button.finish-next{margin-top:16px}
@media(max-width:780px){body:not([data-phase="betting"]) .ball-card{height:47px;min-height:47px;grid-template-rows:18px 18px;padding:3px;grid-template-columns:18px 1fr}body:not([data-phase="betting"]) .ball-card strong{font-size:10px}body:not([data-phase="betting"]) .ball-card small{font-size:10px;line-height:18px}body:not([data-phase="betting"]) .ball-card .orb{width:17px;height:17px}}
@media(max-height:700px){.result-designed:has(.finish-survivors){top:42%;padding:0 12px}.result-designed:has(.finish-survivors) .finish-topline{font-size:7px}.result-designed:has(.finish-survivors) h2.finish-title{font-size:22px;margin-top:5px}.result-designed:has(.finish-survivors) .finish-podium{width:144px;height:83px;margin-top:4px}.result-designed:has(.finish-survivors) .finish-ball{width:47px;height:47px;top:18px}.result-designed:has(.finish-survivors) .finish-orbit{width:63px;height:63px}.result-designed:has(.finish-survivors) .finish-ball-number{font-size:18px}.result-designed:has(.finish-survivors) .finish-ribbon{font-size:8px;padding:3px 9px}.finish-survivors{margin-top:8px;gap:11px}.finish-runner{gap:3px}.finish-runner .tiny-orb{width:26px;height:26px}.finish-runner>small{font-size:8px}.finish-runner b{font-size:9px}.result-designed:has(.finish-survivors) .finish-payout{margin-top:10px}.result-designed:has(.finish-survivors) .finish-payout .prize-art{max-height:52px;width:190px}.result-designed:has(.finish-survivors) .finish-payout>small{font-size:7px}.result-designed:has(.finish-survivors) .finish-ledger{margin-top:10px;gap:22px}.result-designed:has(.finish-survivors) .finish-ledger>span{font-size:8px;gap:4px}.result-designed:has(.finish-survivors) .finish-ledger b{font-size:12px}.result-designed:has(.finish-survivors) button.finish-next{margin-top:11px;padding:8px 16px;width:167px}}
@media(orientation:landscape) and (max-height:560px){.finish-survivors{grid-column:1;grid-row:6;gap:7px;margin-top:7px}.finish-runner{min-width:23px}.finish-runner .tiny-orb{width:22px;height:22px}.finish-runner b{font-size:8px}.result-designed:has(.finish-survivors){top:40%;width:500px}.result-designed:has(.finish-survivors) .finish-payout .prize-art{max-height:65px;width:218px}}
/* A single deadline-driven progress display follows the player out of settlement. */
.count-clock{display:none!important}.round-progress[hidden]{display:none!important}
.round-progress{pointer-events:none;z-index:6;width:206px;color:#ffe8b5;filter:drop-shadow(0 3px 9px #24122f80)}
.round-progress[data-placement="floating"]{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);width:218px;padding:12px 17px 14px;border-radius:16px;background:linear-gradient(135deg,#382640b8,#23162ea3);backdrop-filter:blur(9px);box-shadow:inset 0 1px #f9dfab2b,0 8px 28px #1d112833}
.round-progress-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:9px}.round-progress-head>span{font-size:11px;font-weight:650;letter-spacing:2px;text-shadow:0 1px 2px #27152f}.round-progress-head>b{font-family:RallyDisplay,sans-serif;font-size:24px;font-weight:400;line-height:1;color:#ffe7a8;text-shadow:0 2px #8b5739}.round-progress-head small{font-size:9px;letter-spacing:0;margin-left:4px;color:#d8badb;text-shadow:none}
.round-progress-track{height:6px;border-radius:20px;background:#b28ac32b;box-shadow:inset 0 1px 2px #140b224d;overflow:hidden}.round-progress-track>i{display:block;width:100%;height:100%;border-radius:20px;background:linear-gradient(90deg,#b07a47,#f2c879 50%,#fff2bd);box-shadow:0 0 10px #ffe09a80;transform-origin:left;transition:transform .1s linear;will-change:transform}
.round-progress[data-phase="locked"] .round-progress-track>i{background:linear-gradient(90deg,#9e70c7,#e3bcff,#fff0e1)}
.finish-countdown-slot{width:200px;margin:20px auto 0}.finish-countdown-slot .round-progress{position:relative;width:100%;padding:0;margin:0;transform:none;left:auto;top:auto;background:none;box-shadow:none;backdrop-filter:none}.finish-countdown-slot .round-progress-head{margin-bottom:8px}.finish-countdown-slot .round-progress-head>b{font-size:20px}.finish-countdown-slot .round-progress-head>span{font-size:10px}.finish-countdown-slot .round-progress-track{height:5px}
.result-designed button.finish-dismiss{position:absolute;right:8px;top:-1px;display:grid;place-items:center;width:27px;height:27px;padding:0;margin:0;border:0;border-radius:50%;background:#3c284044;color:#dec3dd;font-size:23px;font-weight:300;line-height:1;box-shadow:none;letter-spacing:0;pointer-events:auto;z-index:2}.finish-dismiss:hover{color:#ffe6b1!important;background:#57406466!important}
@media(max-width:780px){.round-progress[data-placement="floating"]{top:39%;width:204px}.finish-countdown-slot{width:190px;margin-top:19px}}
@media(max-height:700px){.round-progress[data-placement="floating"]{top:36%;width:192px;padding:10px 15px 12px}.round-progress-head>b{font-size:22px}.finish-countdown-slot{width:167px;margin-top:14px}.finish-countdown-slot .round-progress-head{margin-bottom:7px}.finish-countdown-slot .round-progress-head>b{font-size:18px}.result-designed button.finish-dismiss{right:8px;top:-5px;font-size:21px}}
@media(orientation:landscape) and (max-height:560px){.finish-countdown-slot{grid-column:2;grid-row:5;margin-top:14px;width:182px}.round-progress[data-placement="floating"]{top:39%}}
/* Ten unmistakable identities, shared with the three-dimensional texture painter. */
.ball-card .orb.ball-skin,.survival-orb.ball-skin,.tiny-orb.ball-skin{background-image:var(--ball-skin);background-size:100% 100%;background-position:center;background-repeat:no-repeat;background-color:transparent;border-radius:50%}.ball-card .orb.ball-skin:after,.finish-ball.ball-skin:after{display:none}
.ball-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.ball-card .orb{width:29px;height:29px}.ball-card{min-height:74px}.ball-card strong{font-size:11px}.survival-orb{width:21px;height:21px}.ticket .tiny-orb{width:30px;height:30px}
body:not([data-phase="betting"]) .ball-card{height:64px;min-height:64px;grid-template-columns:28px 1fr;grid-template-rows:28px 19px;padding:6px 5px}body:not([data-phase="betting"]) .ball-card .orb{width:27px;height:27px}body:not([data-phase="betting"]) .ball-card strong{font-size:12px}body:not([data-phase="betting"]) .ball-card small{font-size:12px;line-height:19px}
@media(max-width:1000px) and (min-width:781px){.ball-grid{grid-template-columns:repeat(5,minmax(0,1fr))}body:not([data-phase="betting"]) .ball-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}
@media(max-width:780px){.ball-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ball-card{height:58px;min-height:58px;grid-template-columns:29px 1fr}.ball-card .orb{width:29px;height:29px}.ball-card strong{font-size:11px;letter-spacing:0}.ball-card small{font-size:9px}.survival-orb{width:21px;height:21px}.survival-strip{padding:8px 12px}body:not([data-phase="betting"]) .ball-card{height:55px;min-height:55px;grid-template-columns:27px 1fr;grid-template-rows:27px 18px;padding:4px}body:not([data-phase="betting"]) .ball-card .orb{width:26px;height:26px}body:not([data-phase="betting"]) .ball-card strong{font-size:11px}body:not([data-phase="betting"]) .ball-card small{font-size:11px}}
@media(max-width:780px) and (max-height:700px){.ball-card{height:53px;min-height:53px}.survival-orb{width:19px;height:19px}body:not([data-phase="betting"]) .ball-card{height:51px;min-height:51px;grid-template-rows:24px 17px}body:not([data-phase="betting"]) .ball-card .orb{width:24px;height:24px}}
@media(orientation:landscape) and (max-height:560px){.ball-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.ball-card{height:57px;min-height:57px;display:flex;padding:4px 0}.ball-card .orb{width:23px;height:23px}body:not([data-phase="betting"]) .ball-card{height:57px;min-height:57px;grid-template-columns:24px 1fr;grid-template-rows:24px 17px;padding:4px 3px}body:not([data-phase="betting"]) .ball-card .orb{width:23px;height:23px}body:not([data-phase="betting"]) .ball-card small{font-size:10px}}
.round-progress-head{gap:12px}.round-progress-head>span{font-size:10px;letter-spacing:.5px;white-space:nowrap}.finish-countdown-slot{width:210px}.finish-countdown-slot .round-progress-head>span{font-size:9px;letter-spacing:.3px}.round-progress[data-placement="floating"]{width:242px}.start-countdown[hidden]{display:none!important}.start-countdown{position:fixed;left:50%;top:39%;transform:translate(-50%,-50%);z-index:7;width:130px;pointer-events:none;isolation:isolate}.start-countdown:before{content:'';position:absolute;width:220px;height:220px;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1;background:radial-gradient(circle,#ffe2a42b,transparent 65%)}.start-countdown .prize-art{width:100%;height:146px;filter:drop-shadow(0 6px 5px #2d163b99) drop-shadow(0 0 22px #ffe2a433)}.start-countdown.number-pulse .prize-art{animation:start-number .9s cubic-bezier(.2,.75,.3,1) both}@keyframes start-number{0%{opacity:0;transform:scale(1.8) rotate(-8deg)}18%{opacity:1;transform:scale(.95) rotate(2deg)}36%,75%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:.15;transform:scale(.88)}}
@media(max-width:780px){.round-progress[data-placement="floating"]{width:230px}.finish-countdown-slot{width:210px}.start-countdown{width:116px;top:39%}.start-countdown .prize-art{height:132px}}
@media(max-height:700px){.round-progress[data-placement="floating"]{width:220px}.finish-countdown-slot{width:193px}.finish-countdown-slot .round-progress-head>span{font-size:8px}.start-countdown{top:36%;width:103px}.start-countdown .prize-art{height:117px}}
@media(orientation:landscape) and (max-height:560px){.finish-countdown-slot{width:196px}.start-countdown{top:38%;width:95px}.start-countdown .prize-art{height:108px}}
@media(prefers-reduced-motion:reduce){.start-countdown.number-pulse .prize-art{animation:none}}

/* Start cue shares the countdown artwork. */
.race-announcement{top:39%;width:225px;max-width:60vw;padding:0;line-height:0;font-style:normal;transform:translate(-50%,-50%);filter:drop-shadow(0 6px 10px #2b183d70)}.race-announcement .prize-art{display:block;width:100%;height:auto;max-height:146px;overflow:visible}.race-announcement.visible{animation:go-burst .9s ease-out both}@keyframes go-burst{0%{transform:translate(-50%,-50%) scale(1.65);opacity:0}16%,65%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(1.12);opacity:0}}@media(max-width:780px){.race-announcement{width:200px}}@media(prefers-reduced-motion:reduce){.race-announcement.visible{animation:none}}
.reward-record{display:none;min-width:0;align-items:center;justify-content:center;gap:2px;white-space:nowrap;line-height:12px;font-size:10px;letter-spacing:-.25px}.reward-record b{color:var(--reward-ink);font-family:RallyDisplay,sans-serif;font-weight:400;text-shadow:0 1px #25162e}.reward-record i{font-style:normal;color:#b5a0bd;font-size:10px}.reward-record em{font-style:normal;color:#b5a0bd;opacity:.5}.ball-card.out .reward-record{opacity:.65}body:not([data-phase="betting"]) .ball-card .reward-record{display:flex;grid-column:1/-1;grid-row:3}body:not([data-phase="betting"]) .ball-card{height:80px;min-height:80px;grid-template-rows:27px 18px 12px}
@media(max-width:780px){body:not([data-phase="betting"]) .ball-card{height:73px;min-height:73px;grid-template-rows:25px 17px 12px}.reward-record{font-size:9px}}@media(max-width:780px) and (max-height:700px){body:not([data-phase="betting"]) .ball-card{height:65px;min-height:65px;grid-template-rows:22px 15px 11px;padding:3px}.reward-record{font-size:8px;line-height:11px;gap:1px}body:not([data-phase="betting"]) .ball-card .orb{width:22px;height:22px}}@media(orientation:landscape) and (max-height:560px){body:not([data-phase="betting"]) .ball-card{height:68px;min-height:68px;grid-template-rows:22px 15px 11px}.reward-record{font-size:8px;gap:1px}}

/* Open settlement list: rank, marble identity and the player's actual award. */
.result-card.result-designed:has(.finish-ranking){display:block;top:42%;width:350px;padding:8px 12px;max-width:calc(100vw - 28px);border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.result-designed:has(.finish-ranking):before{background:radial-gradient(ellipse at center,#25132ee0 0%,#25132ebb 25%,#25132e65 49%,transparent 73%)}.result-designed:has(.finish-ranking) h2.finish-title{margin:0 0 20px;font-size:29px;letter-spacing:5px}.finish-ranking-head{display:grid;grid-template-columns:35px 1fr 82px;gap:10px;text-align:left;font-size:8px;color:#c9afcf;letter-spacing:1px;margin-bottom:4px}.finish-ranking-head span:last-child{text-align:right}.finish-ranking{padding:0;margin:0;list-style:none}.finish-rank-row{display:grid;grid-template-columns:28px 38px minmax(0,1fr) 82px;gap:9px;align-items:center;min-height:65px;text-align:left;position:relative;border-bottom:1px solid #e9d2f221}.finish-rank-row:last-child{border-bottom:0}.finish-rank-index{font-family:RallyDisplay,sans-serif;font-size:17px;font-weight:400;color:#f5ce7a;position:relative;text-shadow:0 2px #513044}.finish-rank-index i{position:absolute;top:-12px;left:2px;font-size:13px;font-style:normal}.finish-rank-row:nth-child(2) .finish-rank-index{color:#e5dfef}.finish-rank-row:nth-child(3) .finish-rank-index{color:#d6a88d}.finish-rank-row .finish-row-ball{display:block;width:36px;height:36px;filter:drop-shadow(0 3px 3px #160d2480)}.finish-row-identity{min-width:0}.finish-row-identity strong{display:flex;gap:7px;align-items:center;color:#fff0d8;font-family:RallyDisplay,sans-serif;font-size:16px;font-weight:400;line-height:1.35;white-space:nowrap}.finish-row-identity strong b{font-family:inherit;font-size:11px;letter-spacing:1px}.finish-row-identity small{display:flex;align-items:center;gap:5px;color:#cbb4d0;font-size:8px;margin-top:3px;white-space:nowrap}.finish-row-identity small i{font-style:normal;opacity:.5}.finish-row-prize{display:flex;justify-content:flex-end;align-items:center;min-width:0}.finish-row-prize .prize-art{display:block;width:100%;height:32px;overflow:visible;filter:drop-shadow(0 2px 3px #160e21)}.finish-rank-row:not(.has-prize) .finish-row-prize .prize-art{height:23px;opacity:.6;filter:saturate(.1)}.result-designed:has(.finish-ranking) .finish-payout{margin-top:19px}.result-designed:has(.finish-ranking) .finish-payout-label{font-size:10px;letter-spacing:4px}.result-designed:has(.finish-ranking) .finish-payout .prize-art{width:235px;max-height:68px}.result-designed:has(.finish-ranking) .finish-ledger{margin-top:10px;gap:24px}.result-designed:has(.finish-ranking) .finish-ledger>span{gap:3px}.result-designed:has(.finish-ranking) .finish-ledger b{font-size:14px}.result-designed:has(.finish-ranking) .finish-countdown-slot{margin-top:17px}
@media(max-width:780px){.result-card.result-designed:has(.finish-ranking){width:332px;top:42%;padding:6px 10px}.finish-rank-row{grid-template-columns:26px 35px minmax(0,1fr) 76px;gap:8px;min-height:61px}.finish-rank-row .finish-row-ball{width:34px;height:34px}.finish-ranking-head{grid-template-columns:33px 1fr 76px}.result-designed:has(.finish-ranking) h2.finish-title{font-size:27px;margin-bottom:17px}}
@media(max-height:700px){.result-card.result-designed:has(.finish-ranking){top:42%;width:318px;padding:2px 8px}.result-designed:has(.finish-ranking) h2.finish-title{font-size:23px;margin-bottom:12px}.finish-ranking-head{font-size:7px;margin-bottom:2px}.finish-rank-row{min-height:49px;grid-template-columns:25px 31px minmax(0,1fr) 73px;gap:7px}.finish-rank-row .finish-row-ball{width:30px;height:30px}.finish-rank-index{font-size:15px}.finish-rank-index i{font-size:10px;top:-10px}.finish-row-identity strong{font-size:14px}.finish-row-identity strong b{font-size:10px}.finish-row-identity small{font-size:7px;gap:4px}.finish-row-prize .prize-art{height:26px}.result-designed:has(.finish-ranking) .finish-payout{margin-top:11px}.result-designed:has(.finish-ranking) .finish-payout .prize-art{max-height:50px;width:200px}.result-designed:has(.finish-ranking) .finish-payout-label{font-size:9px}.result-designed:has(.finish-ranking) .finish-payout>small{font-size:7px;margin-top:1px}.result-designed:has(.finish-ranking) .finish-ledger{margin-top:9px}.result-designed:has(.finish-ranking) .finish-ledger>span{font-size:8px}.result-designed:has(.finish-ranking) .finish-ledger b{font-size:12px}.result-designed:has(.finish-ranking) .finish-countdown-slot{margin-top:12px}}
@media(orientation:landscape) and (max-height:560px){.result-card.result-designed:has(.finish-ranking){display:grid;grid-template-columns:280px 190px;gap:0 20px;width:510px;top:40%}.result-designed:has(.finish-ranking) h2.finish-title{grid-column:1;grid-row:1;font-size:22px;margin-bottom:10px}.finish-ranking-head{grid-column:1;grid-row:2}.finish-ranking{grid-column:1;grid-row:3/span 3}.finish-rank-row{grid-template-columns:23px 28px minmax(0,1fr) 68px;gap:6px;min-height:45px}.result-designed:has(.finish-ranking) .finish-payout{grid-column:2;grid-row:1/span 3;margin:0}.result-designed:has(.finish-ranking) .finish-ledger{grid-column:2;grid-row:4;margin-top:6px;gap:16px}.result-designed:has(.finish-ranking) .finish-countdown-slot{grid-column:2;grid-row:5;margin-top:11px;width:180px}}
@media(max-width:780px) and (max-height:700px) and (orientation:portrait){.result-card.result-designed:has(.finish-ranking){top:44%}.finish-rank-row{min-height:46px}}

/* Real shared-room presence and emoji reactions, floating on the course. */
.emoji-toggle{position:fixed;right:22px;top:169px;z-index:8;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid #f4e2ba44;background:#302639aa;backdrop-filter:blur(10px);color:#ffe4a4;font-size:24px;line-height:1}.emoji-toggle:disabled{opacity:.5}.emoji-menu{position:fixed;right:22px;top:208px;z-index:9;display:flex;gap:3px;padding:8px 10px;border-radius:30px;background:#2f223ce8;box-shadow:0 6px 24px #160a2866;backdrop-filter:blur(16px)}.emoji-menu[hidden]{display:none}.emoji-menu button{display:grid;place-items:center;width:34px;height:34px;border:0;background:transparent;font-size:24px;border-radius:50%;padding:0;cursor:pointer}.emoji-menu button:hover{background:#bca1d42b;transform:scale(1.12)}.room-activity{position:fixed;left:30px;top:207px;z-index:5;max-width:calc(100vw - 65px);font-size:9px;color:#f3dca9;text-shadow:0 2px 6px #231430;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-activity.visible{opacity:1}.emoji-stream{position:fixed;inset:0;z-index:5;overflow:hidden;pointer-events:none}.emoji-flight{position:absolute;left:100%;top:calc(218px + var(--lane)*44px);display:flex;align-items:center;gap:5px;animation:emoji-fly 5s linear both;white-space:nowrap;filter:drop-shadow(0 3px 3px #170f3280)}.emoji-flight b{font-size:29px;font-weight:400}.emoji-flight small{font-size:9px;color:#eed8fa;text-shadow:0 1px 4px #2b163e}.emoji-flight.self small{color:#ffe49f}@keyframes emoji-fly{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - 120px))}}#preview-start{display:none!important}
@media(max-width:780px){.emoji-toggle{right:14px;top:calc(165px + env(safe-area-inset-top));width:29px;height:29px}.emoji-menu{right:14px;top:calc(201px + env(safe-area-inset-top));padding:7px 8px;gap:2px}.emoji-menu button{width:33px;height:33px}.room-activity{left:17px;top:calc(202px + env(safe-area-inset-top));font-size:8px}}
@media(max-height:700px){.emoji-toggle{top:calc(143px + env(safe-area-inset-top))}.room-activity{top:calc(180px + env(safe-area-inset-top))}.emoji-menu{top:calc(179px + env(safe-area-inset-top))}.emoji-flight{top:calc(202px + var(--lane)*36px)}}@media(orientation:landscape) and (max-height:560px){.emoji-toggle{top:94px;right:14px}.emoji-menu{top:128px;right:14px}.room-activity{top:127px;left:53px}.emoji-flight{top:calc(135px + var(--lane)*30px)}}@media(prefers-reduced-motion:reduce){.emoji-flight{animation:emoji-fade 3s linear both;left:auto;right:20px}@keyframes emoji-fade{0%,100%{opacity:0}20%,80%{opacity:1}}}

/* Compact open settlement, keeping more of the course visible. */
.result-card.result-designed:has(.finish-ranking){width:302px;top:43%;padding:5px 10px}.result-designed:has(.finish-ranking) h2.finish-title{font-size:24px;margin-bottom:10px;letter-spacing:4px}.finish-ranking-head{grid-template-columns:27px 1fr 66px;gap:7px;font-size:7px;margin-bottom:2px}.finish-rank-row{grid-template-columns:22px 29px minmax(0,1fr) 66px;gap:6px;min-height:48px}.finish-rank-row .finish-row-ball{width:28px;height:28px}.finish-rank-index{font-size:14px}.finish-rank-index i{font-size:10px;top:-10px}.finish-row-identity strong{font-size:14px;gap:5px}.finish-row-identity strong b{font-size:10px}.finish-row-identity small{font-size:7px;gap:3px;margin-top:1px}.finish-row-prize .prize-art{height:27px}.finish-rank-row:not(.has-prize) .finish-row-prize .prize-art{height:18px}.result-designed:has(.finish-ranking) .finish-payout{margin-top:11px}.result-designed:has(.finish-ranking) .finish-payout-label{font-size:9px}.result-designed:has(.finish-ranking) .finish-payout .prize-art{width:205px;max-height:53px;margin-top:3px}.result-designed:has(.finish-ranking) .finish-payout>small{font-size:7px;margin-top:1px}.result-designed:has(.finish-ranking) .finish-ledger{margin-top:9px;gap:23px}.result-designed:has(.finish-ranking) .finish-ledger>span{font-size:8px;gap:3px}.result-designed:has(.finish-ranking) .finish-ledger b{font-size:12px}.result-designed:has(.finish-ranking) .finish-countdown-slot{margin-top:12px;width:190px}.result-designed:has(.finish-ranking) .round-progress-head>b{font-size:19px}.result-designed:has(.finish-ranking) .round-progress-head>span{font-size:8px}.result-designed:has(.finish-ranking) .finish-rays{width:330px;height:330px}
@media(max-height:700px) and (orientation:portrait){.result-card.result-designed:has(.finish-ranking){width:282px;top:43%;padding:3px 8px}.result-designed:has(.finish-ranking) h2.finish-title{font-size:21px;margin-bottom:8px}.finish-rank-row{min-height:39px;grid-template-columns:20px 25px minmax(0,1fr) 63px;gap:5px}.finish-rank-row .finish-row-ball{width:24px;height:24px}.finish-row-identity strong{font-size:12px}.finish-row-identity strong b{font-size:9px}.finish-row-identity small{font-size:6.5px}.finish-row-prize .prize-art{height:24px}.result-designed:has(.finish-ranking) .finish-payout{margin-top:8px}.result-designed:has(.finish-ranking) .finish-payout .prize-art{width:180px;max-height:41px}.result-designed:has(.finish-ranking) .finish-ledger{margin-top:7px}.result-designed:has(.finish-ranking) .finish-ledger b{font-size:11px}.result-designed:has(.finish-ranking) .finish-countdown-slot{width:180px;margin-top:9px}.result-designed:has(.finish-ranking) .round-progress-head>b{font-size:17px}}
@media(orientation:landscape) and (max-height:560px){.result-card.result-designed:has(.finish-ranking){width:470px;grid-template-columns:260px 170px;top:41%}.result-designed:has(.finish-ranking) .finish-countdown-slot{width:166px}.finish-rank-row{min-height:40px}}

/* Four reactions are always available on the course. */
.emoji-menu,.emoji-menu[hidden]{position:fixed;right:18px;top:169px;z-index:8;display:flex;gap:4px;padding:5px 7px;border:0;border-radius:28px;background:#30243b78;box-shadow:none;backdrop-filter:blur(9px)}.emoji-menu button{width:30px;height:30px;font-size:23px}.emoji-menu button:disabled{opacity:.4;cursor:wait}.emoji-menu button:active{transform:scale(.85)}.room-activity{top:213px}
/* Keep the compact list; strengthen title and supporting text. */
.result-designed:has(.finish-ranking) h2.finish-title{font-size:29px;color:#fff4d0;letter-spacing:4px;text-shadow:0 2px 0 #85532b,0 4px 0 #3d203b,0 0 9px #1e102a,0 0 22px #1e102a;margin-bottom:12px}.finish-ranking-head{color:#f2dce9;font-size:8px;text-shadow:0 1px 4px #201128}.finish-row-identity strong b{font-size:11px;color:#fff4dc}.finish-row-identity small{font-size:8px;color:#eee0ef}.result-designed:has(.finish-ranking) .finish-payout-label{font-size:10px;color:#fff2d8}.result-designed:has(.finish-ranking) .finish-ledger>span{color:#eddaed}.result-designed:has(.finish-ranking):before{background:radial-gradient(ellipse at center,#25132ee8 0%,#25132ec7 28%,#25132e66 51%,transparent 74%)}
@media(max-width:780px){.emoji-menu,.emoji-menu[hidden]{right:13px;top:calc(161px + env(safe-area-inset-top));padding:4px 5px;gap:2px}.emoji-menu button{width:29px;height:29px;font-size:22px}.room-activity{top:calc(205px + env(safe-area-inset-top))}}
@media(max-height:700px) and (orientation:portrait){.emoji-menu,.emoji-menu[hidden]{top:calc(139px + env(safe-area-inset-top))}.emoji-menu button{width:27px;height:27px;font-size:21px}.result-designed:has(.finish-ranking) h2.finish-title{font-size:25px;margin-bottom:9px}.finish-row-identity small{font-size:7px}.finish-ranking-head{font-size:7px}.room-activity{top:calc(178px + env(safe-area-inset-top))}}
@media(orientation:landscape) and (max-height:560px){.emoji-menu,.emoji-menu[hidden]{top:94px;right:13px}.emoji-menu button{width:27px;height:27px;font-size:21px}.room-activity{top:130px}.result-designed:has(.finish-ranking) h2.finish-title{font-size:25px}}
@media(max-width:780px) and (orientation:portrait){body:has(#result-card:not([hidden])) .emoji-menu{left:10px;right:auto;top:calc(43% - 80px);flex-direction:column;background:none;backdrop-filter:none;padding:0;gap:5px}}
@media(max-width:780px) and (max-height:700px) and (orientation:portrait){body[data-phase="betting"] .result-card.result-designed:has(.finish-ranking){top:39%}body[data-phase="betting"] .finish-rank-row{min-height:35px}body[data-phase="betting"] .result-designed:has(.finish-ranking) .finish-payout .prize-art{max-height:36px}body[data-phase="betting"] .result-designed:has(.finish-ranking) .finish-ledger{margin-top:4px}body[data-phase="betting"] .result-designed:has(.finish-ranking) .finish-countdown-slot{margin-top:5px}}

/* A single reserved result region: no HUD or emoji can cover its text. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.result-resume{display:none}
body[data-result-open="true"] .road-strip,body[data-result-open="true"] .road-button,body[data-result-open="true"] .camera-button,body[data-result-open="true"] .survival-strip,body[data-result-open="true"] .room-activity,body[data-result-open="true"] .emoji-stream{visibility:hidden;pointer-events:none}
body[data-result-open="true"] #result-card.result-designed{top:var(--result-center,43%);transform:translate(-50%,-50%) scale(var(--result-fit,1));transform-origin:center;animation:result-readable-in .2s ease-out both;z-index:7}
@keyframes result-readable-in{from{opacity:0}to{opacity:1}}
body[data-result-open="true"] #result-card .finish-title{max-width:calc(100% - 42px);margin-left:auto;margin-right:auto;white-space:nowrap}
body[data-result-open="true"] #result-card .finish-dismiss{right:1px;top:1px;width:27px;height:27px;margin:0;background:transparent;line-height:1}
.finish-emojis-slot{display:flex;justify-content:center;margin-top:10px;min-height:34px}
body[data-result-open="true"] #result-card #emoji-menu{position:relative;left:auto;right:auto;top:auto;bottom:auto;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;margin:0;padding:0;background:none;box-shadow:none;backdrop-filter:none;border-radius:0;transform:none}
body[data-result-open="true"] #result-card #emoji-menu button{width:32px;height:32px;font-size:23px}
@media(max-height:700px){body[data-result-open="true"] .bet-panel{display:block;height:auto;min-height:0;padding:7px 10px}body[data-result-open="true"] .bet-panel .ball-grid,body[data-result-open="true"] .bet-panel .bet-controls,body[data-result-open="true"] .bet-panel .panel-heading,body[data-result-open="true"] .bet-panel .panel-intro,body[data-result-open="true"] .bet-panel .panel-footer,body[data-result-open="true"] .select-toolbar>div,body[data-result-open="true"] #selected-count{display:none!important}body[data-result-open="true"] .select-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0;min-height:28px}body[data-result-open="true"] .result-resume{display:block;padding:5px 13px;border:0;border-radius:16px;background:linear-gradient(#ffedb6,#e3bd77);color:#402b36;font-size:11px;font-weight:700}body[data-result-open="true"] .finish-emojis-slot{margin-top:8px;min-height:30px}body[data-result-open="true"] #result-card #emoji-menu button{width:29px;height:29px;font-size:21px}}
@media(orientation:landscape) and (max-height:560px){.finish-emojis-slot{grid-column:2;grid-row:6;margin-top:6px}}
@media(prefers-reduced-motion:reduce){body[data-result-open="true"] #result-card.result-designed{animation:none}}

/* Reactions belong to the race view; the result composition has none. */
#emoji-menu[hidden],body[data-result-open="true"] #emoji-menu{display:none!important}.finish-emojis-slot{display:none!important}

.ledger-history{display:block;max-height:46dvh;overflow:auto}.ledger-entry{padding:12px 0;border-bottom:1px solid #ffffff24}.ledger-entry header{display:flex;flex-direction:column;gap:5px;margin-bottom:8px;color:#ffe6a1}.ledger-entry header span{font-size:12px;color:#f4e5f3}.ledger-entry>div{display:grid;grid-template-columns:42px 1fr 1.4fr 42px;gap:5px;padding:6px 0;font-size:11px;align-items:center}.ledger-entry>div>strong{text-align:right;color:#ffe6a1}.finish-row-identity small{white-space:nowrap}.reward-prize>span{white-space:nowrap}

/* Live reactions rise from the playfield's lower right, above the controls. */
.emoji-stream{inset:auto 10px var(--reaction-bottom,290px) auto;width:118px;height:min(32dvh,270px);overflow:visible;contain:layout style;--rise:min(28dvh,240px)}
.emoji-flight,.emoji-flight.self{left:auto;top:auto;right:18px;bottom:0;display:block;animation:reaction-rise 2.4s cubic-bezier(.18,.52,.36,1) both;will-change:transform,opacity;filter:drop-shadow(0 2px 3px #25162a55)}
.emoji-flight b{display:block;font-size:34px;line-height:1.2;font-weight:400}.emoji-flight small{display:none}
@keyframes reaction-rise{0%{opacity:0;transform:translate3d(0,12px,0) scale(.45) rotate(0)}12%{opacity:1;transform:translate3d(var(--sway),-14px,0) scale(1.1) rotate(var(--tilt))}35%{opacity:1;transform:translate3d(var(--drift),calc(var(--rise)*-.28),0) scale(1) rotate(0)}65%{opacity:.85;transform:translate3d(var(--sway),calc(var(--rise)*-.63),0) scale(.96) rotate(var(--tilt))}100%{opacity:0;transform:translate3d(var(--drift),calc(var(--rise)*-1),0) scale(.7) rotate(0)}}
@media(prefers-reduced-motion:reduce){.emoji-flight,.emoji-flight.self{animation:reaction-rest 1.2s ease-out both;will-change:opacity}@keyframes reaction-rest{0%,100%{opacity:0;transform:none}20%,70%{opacity:1;transform:none}}}

/* The four reaction controls stay beside the playfield's lower right corner. */
.emoji-menu,.emoji-menu[hidden]{left:auto;right:12px;top:auto;bottom:var(--reaction-bottom,290px);flex-direction:column;gap:5px;padding:6px 4px;border-radius:24px}
.emoji-menu button{width:32px;height:32px;font-size:25px;touch-action:manipulation}
.emoji-stream{right:52px;bottom:var(--reaction-bottom,290px)}
@media(orientation:landscape) and (max-height:560px){.emoji-menu,.emoji-menu[hidden]{gap:1px;padding:3px}.emoji-menu button{width:27px;height:27px;font-size:22px}}
