/* The complete supplied course is the native desktop scene. */
.peacock-race-scene{box-sizing:border-box;position:relative;isolation:isolate;container-type:inline-size;width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden;background:#213b20;font-family:var(--game-font);color:#fff1bd}
.peacock-race-scene *{box-sizing:border-box}
.peacock-race-art{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.peacock-race-sr-only{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.peacock-race-mobile-scenery,.peacock-race-mobile-title,.peacock-race-mobile-message-art,.peacock-race-mobile-stake-art,.peacock-race-mobile-gates,.peacock-race-mobile-name,.peacock-race-mobile-lane-art,.peacock-race-mobile-checker{display:none;pointer-events:none;user-select:none}
.peacock-race-message-panel,.peacock-race-stake{position:absolute;z-index:5;left:var(--race-left);top:var(--race-top);width:var(--race-width);height:var(--race-height);margin:0;pointer-events:none}
.peacock-race-scene .peacock-race-message{position:absolute;inset:auto;left:var(--race-left);top:var(--race-top);width:var(--race-width);height:var(--race-height);margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:0;box-shadow:none;transform:none;opacity:1;visibility:visible;font-family:inherit;font-size:1.25cqw;font-weight:400;line-height:1.2;letter-spacing:.025em;white-space:nowrap;color:#fff0b4;text-shadow:0 .12cqw .12cqw #292005}
.peacock-race-scene[data-race-phase=countdown] .peacock-race-message{font-size:2.2cqw}
.peacock-race-stake-value{position:absolute;left:var(--race-left);top:var(--race-top);width:var(--race-width);height:var(--race-height);display:flex;align-items:center;justify-content:center;font-size:min(2.1cqw,calc(17cqw / var(--race-money-length)));line-height:1;font-weight:400;white-space:nowrap;color:#fff0b7;text-shadow:0 .1cqw .1cqw #291807}
.peacock-race-boost{position:absolute;top:110%;left:0;width:100%;text-align:center;font-size:.9cqw;white-space:nowrap;text-shadow:0 2px 3px #182211}
.peacock-race-course{position:absolute;z-index:2;inset:0;pointer-events:none}
.peacock-race-scene .peacock-race-lane{position:absolute;inset:auto;left:var(--race-left);top:var(--race-top);width:var(--race-width);height:var(--race-height);padding:0;margin:0;display:block;border:0;border-radius:0;box-shadow:none;background:none;overflow:visible}
.peacock-race-scene .peacock-race-lane::before,.peacock-race-scene .peacock-race-lane::after{content:none}
.peacock-race-scene .peacock-race-runner{position:absolute;inset:auto;margin:0;display:block;padding:0;transform:none;transition:none;overflow:visible;z-index:2;will-change:left}
.peacock-race-sprite{position:absolute;display:block;width:100%;height:100%;background-repeat:no-repeat;filter:drop-shadow(0 2px 1px #201b1340);image-rendering:auto;pointer-events:none}
.peacock-race-shadow{position:absolute;left:18%;top:91%;width:64%;height:13%;border-radius:50%;background:radial-gradient(ellipse,#27221369,transparent 72%);transform:skewX(-16deg);pointer-events:none}
.peacock-race-dust{position:absolute;z-index:1;inset:0;pointer-events:none;overflow:visible}
.peacock-race-dust-puff{position:absolute;display:block;border-radius:50%;pointer-events:none;filter:blur(.55px);background:radial-gradient(ellipse at 31% 64%,#ffedcff2 0%,#edcf9bb3 29%,transparent 72%),radial-gradient(ellipse at 66% 45%,#ffefd2e8 0%,#d9b57d9e 34%,transparent 74%),radial-gradient(ellipse at 52% 68%,#b98e59b0 0%,#d6b58573 38%,transparent 72%);will-change:opacity,transform}
.peacock-runner-front{position:absolute;left:100%;top:0;width:0;height:100%;pointer-events:none}
.peacock-race-chosen-marker{position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%);white-space:nowrap;font-size:.62cqw;line-height:1.2;letter-spacing:.04em;padding:1px 5px;color:#241706;background:#ffdc7c;border:1px solid #6c501c;border-radius:3px;box-shadow:0 1px 4px #29200e80}
.peacock-race-runner.is-chosen .peacock-race-sprite{filter:drop-shadow(0 0 2px #fff4b8) drop-shadow(0 2px 2px #49371070)}
.peacock-race-scene .peacock-race-place{position:absolute;inset:auto;display:flex;align-items:center;justify-content:center;width:3.8cqw;height:2.1cqw;margin:0;padding:0;transform:none;font-size:1.35cqw;line-height:1;color:#ffe6a0;text-shadow:0 2px 2px #281807;font-weight:400;white-space:nowrap;border:0;background:none}
.peacock-race-place:not(:empty){border:1px solid #dcb97087;border-radius:4px;background:#152c1ed9;box-shadow:0 2px 5px #14241561}
.peacock-race-finish-line{position:absolute;z-index:1;left:90.311005%;top:32.943677%;width:0;height:49.734325%;pointer-events:none}
.peacock-race-reduced .peacock-race-dust{display:none}
@media(max-width:900px){
  #game.bonus-mode>#bonus-scene.peacock-race-host{position:relative;inset:auto;width:100%;height:auto;min-height:100svh;margin:0;padding:0}
  #game.bonus-mode:has(>#bonus-scene.peacock-race-host)>.topbar{position:absolute;inset:0 0 auto auto;width:max-content;height:44px;padding:8px 12px;background:none;border:0;box-shadow:none}
  .peacock-race-scene{height:auto;min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:35px 10px max(18px,env(safe-area-inset-bottom));gap:5px;background:#254127}
  .peacock-race-art{display:none}
  .peacock-race-mobile-scenery{display:block;position:absolute;z-index:0;inset:0;width:100%;height:100%;opacity:.5}
  .peacock-race-mobile-title{display:block;position:relative;z-index:2;width:min(100%,590px);aspect-ratio:808/144;height:auto;order:-3}
  .peacock-race-stake{position:relative;inset:auto;width:188px;height:auto;aspect-ratio:276/139;order:-2;margin-bottom:10px;flex:none}
  .peacock-race-mobile-stake-art{display:block;position:absolute;inset:0;width:100%;height:100%}
  .peacock-race-stake-value{font-size:min(22px,calc(203px / var(--race-money-length)))}
  .peacock-race-boost{font-size:10px;top:100%}
  .peacock-race-message-panel{position:relative;inset:auto;width:min(100%,430px);height:auto;aspect-ratio:522/69;order:-1;flex:none}
  .peacock-race-mobile-message-art{display:block;position:absolute;inset:0;width:100%;height:100%}
  .peacock-race-scene .peacock-race-message{font-size:clamp(10px,3vw,14px);letter-spacing:0}
  .peacock-race-scene[data-race-phase=countdown] .peacock-race-message{font-size:22px}
  .peacock-race-course{position:relative;inset:auto;width:min(100%,650px);display:flex;flex-direction:column;gap:0;flex:none}
  .peacock-race-mobile-gates{display:flex;position:relative;z-index:3;justify-content:space-between;align-items:end;height:42px;padding:0 4px 2px}
  .peacock-race-mobile-start,.peacock-race-mobile-finish{display:block;width:74px;height:38px}
  .peacock-race-scene .peacock-race-lane{position:relative;inset:auto;width:100%;height:clamp(82px,21vw,96px);flex:none}
  .peacock-race-mobile-lane-art{display:block;position:absolute;inset:0;width:100%;height:100%}
  .peacock-race-mobile-name{display:block;position:absolute;z-index:1;left:4px;top:4px;width:99px;height:28.4px}
  .peacock-race-scene .peacock-race-place{width:38px;height:23px;font-size:14px;z-index:3}
  .peacock-race-chosen-marker{font-size:8px;line-height:1.1;padding:1px 4px}
  .peacock-race-finish-line{left:calc(100% - 24px);top:42px;bottom:0;width:14px;height:auto}
  .peacock-race-mobile-checker{display:block;position:absolute;inset:0;width:100%;height:100%}
}
#game.bonus-mode:has(>#bonus-scene.peacock-race-host)>.topbar{background:none;border:0;box-shadow:none;z-index:30}
#game.bonus-mode:has(>#bonus-scene.peacock-race-host) #dev-mode-indicator{display:none}
body:has(#game.bonus-mode>#bonus-scene.peacock-race-host)>.dev-tools{display:none}

/* Feather wakes share the race clock with the existing foot dust. */
.peacock-race-feathers{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:visible}
.peacock-race-feathers[hidden],.peacock-wake-feather[hidden]{display:none}
.peacock-wake-feather{position:absolute;display:block;border-radius:65% 35% 65% 35%;background:radial-gradient(ellipse at 50% 32%,#19234d 0 12%,#edbd52 14% 21%,var(--race-tone) 24% 39%,transparent 42%),linear-gradient(90deg,transparent 0 5%,var(--race-tone) 20% 48%,#ffdfa6 49% 54%,var(--race-tone) 57% 80%,transparent 96%);filter:drop-shadow(0 1px 1px #1e180bb0);transform-origin:50% 65%;will-change:transform,opacity}
.peacock-wake-feather::after{content:'';position:absolute;left:50%;top:8%;height:105%;width:1px;background:linear-gradient(#ffefac,#d2a74f);transform:rotate(3deg)}
.peacock-race-world{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0;pointer-events:none}
.peacock-race-reduced .peacock-race-feathers{display:none}
.peacock-camera-active .peacock-race-place:not(:empty){color:#fff4bd;background:#102619ed;border-color:#fce098;box-shadow:0 1px 5px #000b}
@media(max-width:900px){
 .peacock-race-scene{display:block;padding:0}
 .peacock-race-world{position:relative;inset:auto;height:auto;min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:35px 10px max(18px,env(safe-area-inset-bottom));gap:5px}
 .peacock-camera-active .peacock-race-place{font-size:11px;width:35px;height:20px}
}
@media(prefers-reduced-motion:reduce){.peacock-race-feathers{display:none}}

/* Warm reflected light and open gold flourishes belong to the course artwork. */
.peacock-race-scene .peacock-race-lane.is-chosen::before{content:'';position:absolute;z-index:1;left:15.191388%;right:9.688995%;top:0;bottom:0;pointer-events:none;background:radial-gradient(ellipse at 50% 54%,#fff0b329 0%,#ffdf7720 43%,#f9be4a0c 66%,transparent 80%);border-radius:50%;mix-blend-mode:screen}
.peacock-race-lane-inlay{position:absolute;z-index:1;left:15.191388%;right:9.688995%;top:0;bottom:0;width:75.119617%;height:100%;pointer-events:none;overflow:visible;filter:drop-shadow(0 1px 1px #76501870) drop-shadow(0 0 3px #ffd67b36)}
.peacock-race-runner.is-chosen .peacock-race-sprite{filter:drop-shadow(0 0 2px #fff2b5ad) drop-shadow(0 2px 2px #49371085)}
.peacock-race-chosen-marker{isolation:isolate;top:calc(100% + 1px);display:flex;align-items:center;justify-content:center;min-width:5.2cqw;height:1.08cqw;padding:.06cqw .64cqw;font-size:.62cqw;line-height:1;letter-spacing:.065em;color:#fff0b8;background:linear-gradient(110deg,#85601d,#fff1bd 28%,#d6a33c 52%,#ffe6a1 72%,#836122);border:0;border-radius:0;clip-path:polygon(0 50%,8% 0,92% 0,100% 50%,92% 100%,8% 100%);box-shadow:none;text-shadow:0 1px 1px #081b12}
.peacock-race-chosen-marker::before{content:'';position:absolute;z-index:-1;inset:1px 2px;background:linear-gradient(180deg,#35533a,#152f22 52%,#102217);clip-path:polygon(0 50%,7% 0,93% 0,100% 50%,93% 100%,7% 100%)}
.peacock-race-chosen-marker::after{content:'';position:absolute;inset:3px 8px;border-top:1px solid #fff1bb30;border-bottom:1px solid #e8c36c24;pointer-events:none}
.peacock-race-chosen-label{position:relative;z-index:1;white-space:nowrap}
@media(max-width:900px){
 .peacock-race-scene .peacock-race-lane.is-chosen::before{left:1px;right:24px;top:5px;bottom:5px}
 .peacock-race-lane-inlay{left:1px;right:24px;top:4px;bottom:4px;width:calc(100% - 25px);height:calc(100% - 8px);opacity:.86}
 .peacock-race-chosen-marker{font-size:8px;min-width:69px;height:14px;padding:1px 8px;letter-spacing:.035em}
}

/* Illustrated payout cabinet stays readable while the finish camera follows the birds. */
.peacock-race-payouts{position:absolute;z-index:6;left:50%;bottom:.3%;width:47%;transform:translateX(-50%);pointer-events:none;margin:0;padding:0;filter:drop-shadow(0 2px 4px #081c0b80)}
.peacock-race-payout-cabinet{position:relative;width:100%;aspect-ratio:2098/420}
.peacock-race-payout-art{display:block;width:100%;height:100%;pointer-events:none;user-select:none}
.peacock-race-payout-list{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.peacock-race-payout{position:absolute;left:var(--payout-center);top:37%;width:13.4%;height:41%;transform:translateX(-50%);padding:0;margin:0;text-align:center;isolation:isolate}
.peacock-race-payout-rank{display:block;position:absolute;left:0;right:0;top:11%;height:25%;font-size:.76cqw;line-height:1.1;font-weight:400;letter-spacing:.05em;white-space:nowrap;color:#e9d49c;text-shadow:0 1px 2px #00120e}
.peacock-race-payout-value{display:block;position:absolute;left:8%;top:38%;width:84%;height:55%;font-size:1.65cqw;font-weight:400;line-height:1}
.peacock-race-payout-mobile-art{display:none}
.peacock-race-payout-note{margin:.06cqw 0 0;padding:0;line-height:1.3;text-align:center;font-size:.62cqw;font-weight:400;letter-spacing:.08em;color:#ffecb3;text-shadow:0 1px 2px #071c12,0 0 5px #071c12;white-space:nowrap}
.peacock-race-payout::before{content:'';position:absolute;z-index:-1;inset:-5% -3%;border-radius:8%;background:radial-gradient(ellipse,#ffe88760,#efb32419 58%,transparent 80%);opacity:0;transition:opacity .3s ease}
.peacock-race-payout.is-awarded::before{opacity:1}
.peacock-race-payout.is-awarded .peacock-race-payout-rank{color:#fff3c0}
.peacock-race-payout.is-awarded .peacock-race-payout-value{filter:drop-shadow(0 0 5px #ffd66d80)}
@media(max-width:900px){
 .peacock-race-scene:has(.peacock-race-payouts) .peacock-race-world{min-height:0;padding-bottom:4px}
 .peacock-race-payouts{position:relative;left:auto;bottom:auto;transform:none;width:min(calc(100% - 20px),480px);margin:8px auto max(14px,env(safe-area-inset-bottom));filter:drop-shadow(0 2px 4px #081c0b80)}
 .peacock-race-payout-cabinet{aspect-ratio:auto}
 .peacock-race-payout-art{display:none}
 .peacock-race-payout-list{position:relative;inset:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
 .peacock-race-payout{position:relative;inset:auto;transform:none;width:100%;height:auto;aspect-ratio:370/420;grid-column:span 2}
 .peacock-race-payout:nth-child(4){grid-column:2/span 2}
 .peacock-race-payout:nth-child(5){grid-column:4/span 2}
 .peacock-race-payout-mobile-art{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;z-index:-2;pointer-events:none}
 .peacock-race-payout-rank{top:43%;left:8%;right:8%;height:12%;font-size:clamp(9px,2.5vw,13px);letter-spacing:.025em}
 .peacock-race-payout-value{top:56%;left:13%;width:74%;height:22%}
 .peacock-race-payout-note{margin:3px 0 0;font-size:clamp(8px,2.2vw,11px);letter-spacing:.035em}
 .peacock-race-payout::before{inset:35% 8% 20%}
}
@media(prefers-reduced-motion:reduce){.peacock-race-payout::before{transition:none}}

.peacock-race-payout-note.includes-stake-return{white-space:normal;text-wrap:balance}
