.arc-page{padding:0 16px 28px;color:#fff;isolation:isolate;font-variant-numeric:tabular-nums;min-height:100%}
.arc-stage{padding:24px 10px 18px}
.arc-wheel{display:block;width:100%;max-width:340px;margin:-4px auto -8px;overflow:visible}.arc-wheel text,.arc-plinko text{font-family:inherit}.arc-plinko{width:100%;display:block;overflow:visible;margin:8px 0 0}
.arc-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.arc-choice{--glass-bg:#3d41531a;border:0;cursor:pointer;min-width:0;min-height:61px;border-radius:22px;padding:10px 5px;color:#d3ddff80;background:transparent;font-family:inherit;transition:background .15s,color .15s}.arc-choice span{display:block;font-size:13px;font-weight:600}.arc-choice small{display:block;font-size:12px;margin-top:4px;color:#707486}.arc-choice[aria-pressed=true]{--glass-bg:#4379ff33;background:#4379ff26;color:#fff;box-shadow:inset 0 0 0 1px #75a5ff99}.arc-choice[aria-pressed=true] small{color:#a6bce7}.arc-choice.choice-red[aria-pressed=true]{background:#b7496329;box-shadow:inset 0 0 0 1px #bd6979}.arc-choice.choice-green[aria-pressed=true]{background:#37897729;box-shadow:inset 0 0 0 1px #57ae99}.arc-choice:disabled{cursor:default;opacity:.55}.arc-choice:focus-visible{outline:2px solid #a6c5ff;outline-offset:3px}.arc-positive{color:#69d8aa!important}.arc-danger{color:#ee889b!important}
.arc-active-panel{--glass-bg:#3d41531a;border-radius:38px;padding:20px 10px 10px;display:flex;flex-direction:column;gap:14px;text-align:center}.arc-active-panel>span{font-size:13px;color:#9399ac}.arc-active-panel button{height:50px;border-radius:28px}.arc-running{padding:14px 0 18px;color:#9aadd7;font-size:14px}.arc-running i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#65a2ff;animation:arc-pulse 1s ease-in-out infinite alternate}@keyframes arc-pulse{to{opacity:.3}}
.arc-error{font-size:13px;color:#ff969e;padding:0 12px}.arc-race-track{padding:12px 0 6px}.arc-race-row{display:grid;grid-template-columns:34px 1fr 43px;align-items:center;gap:7px;margin:14px 0;font-size:11px;color:#777f99}.arc-race-row:first-child{color:#c7d8ff}.arc-race-row strong{font-size:11px;font-weight:500;text-align:right}.arc-race-road{position:relative;height:35px;border-block:1px solid #64729030;background:linear-gradient(transparent 48%,#9cadca2b 48%,#9cadca2b 52%,transparent 52%);border-radius:8px}.arc-finish{position:absolute;right:3px;top:0;width:10px;height:100%;background:conic-gradient(#c4cde0 25%,#1f2430 0 50%,#c4cde0 0 75%,#1f2430 0) 0 0/8px 8px;opacity:.6}.arc-race-car{position:absolute;width:40px;height:30px;object-fit:contain;top:2px;filter:drop-shadow(0 3px 2px #0006);transform:rotate(90deg)}.arc-race-car.car-1{filter:hue-rotate(90deg) saturate(.55)}.arc-race-car.car-2{filter:hue-rotate(165deg) saturate(.65)}.arc-race-wheel{display:flex;align-items:center;justify-content:center;gap:18px;margin:-12px 0 0}.arc-wheel-small{width:180px;margin:0}.arc-race-roll{min-width:85px;display:grid;gap:7px}.arc-race-roll b{color:#a2b9ef;font-size:35px;line-height:1}.arc-race-roll span{font-size:11px;color:#707486}
.arc-cards{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:calc(100% - 28px);max-width:420px;margin:0 auto;padding:66px 0 80px;perspective:900px;isolation:isolate}.arc-gift-card{position:relative;min-width:0;aspect-ratio:.51;perspective:700px;z-index:var(--card-i);filter:drop-shadow(0 7px 4px #07151270)}.arc-gift-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.23,.72,.24,1);will-change:transform}.arc-gift-card.is-open .arc-gift-inner{transform:rotateY(180deg)}.arc-card-back,.arc-card-face{position:absolute;inset:0;border-radius:10px;overflow:hidden;border:1px solid #b4c5ff70;backface-visibility:hidden;-webkit-backface-visibility:hidden}.arc-card-back{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#24344c00 0 3px,#a1b4df0a 3px 4px),linear-gradient(135deg,#52658b,#283951 70%);box-shadow:inset 0 0 0 3px #182a42,inset 0 0 0 4px #a0b8db70,inset 0 1px 8px #f4f5ff20,0 2px 0 #7f91b4}.arc-card-back img{width:26px;opacity:.65;filter:grayscale(1) sepia(.4) hue-rotate(165deg)}.arc-card-face{transform:rotateY(180deg);background:radial-gradient(ellipse at 50% 45%,var(--gift-light),var(--gift-dark));box-shadow:inset 0 0 16px #0002}.suit-0{--gift-light:#4675aa;--gift-dark:#1c365b}.suit-1{--gift-light:#8b63aa;--gift-dark:#422d59}.suit-2{--gift-light:#a78542;--gift-dark:#594323}.suit-3{--gift-light:#4b9487;--gift-dark:#234d49}.arc-card-rank{position:absolute;top:6px;left:6px;font-size:11px;font-weight:600;color:#ffffffa8}.arc-suit-mark{position:absolute;right:6px;top:6px;color:#ffffff80;font-size:10px}.arc-card-suit{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:8px;color:#ffffff9c}.arc-gift-picture{position:absolute;inset:25px 0 20px;display:grid;place-items:center}.arc-gift-picture>img{width:100%;height:100%;object-fit:contain}.arc-gift-animation{position:absolute;inset:0}.arc-gift-animation>div{width:100%;height:100%}.arc-gift-animation svg{width:100%;height:100%;display:block}.arc-gift-details{margin:14px 0 20px}.arc-gift-details details{border-top:1px solid #d3ddff15}.arc-gift-details summary{padding:17px 10px;cursor:pointer;color:#969db3;font-size:13px;list-style-position:inside}.arc-gift-details p{color:#707486;font-size:12px;margin:0 10px 12px}.arc-paytable{padding:0 12px 16px}.arc-paytable>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #d3ddff0c;font-size:13px;color:#858da5}.arc-paytable b{color:#a6bdf0;font-weight:600}.arc-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 10px 20px}.arc-catalog>div{display:flex;align-items:center;flex-direction:column;text-align:center;gap:3px}.arc-catalog img{width:54px;height:54px;object-fit:contain}.arc-catalog b{font-size:11px;color:#a5b6db}.arc-catalog span{font-size:10px;color:#7d869d;line-height:1.25}
.arc-preview{position:relative;width:100%;height:100%;overflow:hidden;background:#101219;pointer-events:none}.arc-preview-content{position:absolute;width:360px;left:50%;top:50%;transform-origin:center}.arc-preview .arc-cards{margin:0 auto}.arc-preview .arc-race-view{padding:12px}.arc-preview .arc-gift-inner{transition:none}
@media(max-width:374px){.arc-page{padding-inline:12px}.arc-stage{padding:20px 5px 16px}.arc-choice span{font-size:12px}.arc-choice small{font-size:10px}.arc-card-face,.arc-card-back{border-radius:12px}.arc-card-rank{font-size:10px;left:5px}.arc-suit-mark{right:4px;font-size:9px}.arc-card-suit{font-size:7px}.arc-race-row{grid-template-columns:28px 1fr 37px;gap:4px}.arc-wheel-small{width:158px}.arc-race-wheel{gap:10px}}
@media(prefers-reduced-motion:reduce){.arc-gift-inner{transition:none}.arc-running i{animation:none}}

/* Real 3D scenes use the same open, dark stage as the original games. */
.arc-scene{position:relative;width:100%;aspect-ratio:1/1;max-width:420px;margin:0 auto;isolation:isolate}
.arc-scene-plinko{aspect-ratio:1/1.04}
.arc-scene-canvas{position:absolute;inset:0;touch-action:pan-y}
.arc-scene-canvas canvas{display:block;width:100%;height:100%;outline:0}
.arc-scene-loading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.arc-scene-loading i{width:28px;height:28px;border:2px solid #8195ce25;border-top-color:#8195ce;border-radius:50%;animation:arc-scene-load .7s linear infinite}
@keyframes arc-scene-load{to{transform:rotate(360deg)}}
.arc-scene-fallback{position:absolute;inset:0;display:grid;align-items:center}
.arc-scene-fallback svg{max-height:100%;width:100%}
.arc-preview .arc-scene{width:340px;margin:auto}
.arc-gift-picture{inset:8%;display:block;overflow:hidden;contain:paint}
.arc-gift-animation{inset:auto 0;top:50%;width:100%;height:auto;aspect-ratio:1;transform:translateY(-50%);display:block;overflow:hidden;contain:paint}
.arc-gift-animation>div{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%}
.arc-gift-animation svg{max-width:100%;max-height:100%;overflow:hidden}
.arc-gift-retry{padding:4px;border:0;background:transparent;color:#d5e0ff;font-size:24px;cursor:pointer}
.arc-home-gifts{position:absolute;right:-10%;top:30%;width:58%;height:84%;pointer-events:none;z-index:0;perspective:420px;transform:rotate(12deg);transform-style:flat;isolation:isolate}
.arc-home-gift{position:absolute;width:76%;height:88%;border-radius:15%;box-sizing:border-box;border:2px solid #afc1e4;box-shadow:-3px 3px 0 #465579,-5px 5px 0 #1a233d,-9px 12px 12px #080e2440,inset 1px 1px 2px #e2edff70,inset -2px -3px 5px #10183050;overflow:hidden;transform-origin:50% 100%;display:grid;place-items:center}
.arc-home-gift img{position:static;width:100%;height:auto;max-height:85%;object-fit:contain;filter:drop-shadow(1px 3px 1px #0b153b40)}
.arc-home-gift-0{left:-10%;top:-6%;z-index:0;background:radial-gradient(ellipse at 40% 30%,#8fbcce,#3d6386);transform:rotate(-23deg) rotateY(-8deg)}
.arc-home-gift-1{left:4%;top:-2%;z-index:1;background:radial-gradient(ellipse at 40% 30%,#8399ce,#455b92);transform:rotate(-12deg) rotateY(-8deg)}
.arc-home-gift-2{left:20%;top:2%;z-index:2;background:radial-gradient(ellipse at 40% 30%,#b292ca,#69518f);transform:rotateY(-8deg)}
.arc-race-timer{text-align:right;font-size:13px;font-weight:600;color:#949ab0;margin-bottom:4px;font-variant-numeric:tabular-nums}
.arc-stage>.arc-choices{margin-top:14px}

.arc-card-emblem{position:absolute;inset:18% 8% 22%;background:linear-gradient(135deg,#d9e1f3,#879bc5);mask:var(--gift-mask) center/contain no-repeat;-webkit-mask:var(--gift-mask) center/contain no-repeat;opacity:.68}
.arc-gift-card .arc-gift-picture{inset:8%}

/* Race: physical models and a compact, useful score strip. */
.arc-race-view{position:relative}
.arc-scene-race{aspect-ratio:.91}
.arc-race-timer{position:absolute;right:5px;top:0;z-index:2}
.arc-race-readout{position:absolute;right:12%;bottom:16%;display:grid;gap:4px;text-align:center;min-width:60px;color:#a8bce7;pointer-events:none}
.arc-race-readout strong{font-size:32px;line-height:1;font-weight:650}
.arc-race-readout small{font-size:13px;color:#747f9b}
.arc-race-standings{display:flex;justify-content:space-between;gap:10px;padding:0 3px 12px;font-size:11px;color:#8895ae;font-variant-numeric:tabular-nums}
.arc-race-standings span{display:flex;align-items:center;gap:5px}
.arc-race-standings b{font-size:11px;color:#bdc9e0;font-weight:500}
.arc-race-standings i{width:6px;height:6px;border-radius:50%;background:#749cf1}
.arc-race-standings .racer-1{background:#b58eb3}.arc-race-standings .racer-2{background:#c9b181}
.arc-race-controls{margin-top:5px}
.arc-choice .arc-lane-icon{display:flex;justify-content:center;gap:5px;height:33px}
.arc-lane-icon i{display:block;width:13px;border-inline:1px dashed #8292af55;background:#879ab00d;border-radius:3px}
.arc-lane-icon i.is-selected{background:#76a0e9;box-shadow:inset 0 0 0 1px #d1e2ff66;border-color:transparent}
.arc-preview .arc-race-view{padding:0}
.arc-preview .arc-scene-race{width:100%}
.arc-race-view:has(>.arc-scene-race>.arc-scene-fallback)>.arc-race-readout,.arc-race-view:has(>.arc-scene-race>.arc-scene-fallback)>.arc-race-standings{display:none}
/* Poker: all five cards on a felt table, with staggered dealing and turns. */
.arc-poker-table{position:relative;width:calc(100% + 20px);margin:15px -10px 22px;isolation:isolate;perspective:900px}
.arc-poker-felt{position:absolute;inset:16px -1px 22px;border:10px solid #34435d;border-radius:48% / 25%;background:radial-gradient(ellipse at 38% 30%,#276259,#143b39 72%);box-shadow:0 3px 0 #8d9bbb,0 8px 0 #202c43,0 12px 0 #0f192a,0 18px 17px #05090f70,inset 0 2px 4px #030e19a0,inset 0 0 0 2px #829ba14a,inset 0 0 22px #061b2080;transform:rotateX(12deg)}
.arc-poker-felt:before{content:'';position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(0deg,#e6ffe405 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#001b1b12 0 1px,transparent 1px 3px);pointer-events:none}
.arc-poker-felt:after{content:'';position:absolute;inset:18px 8px;border:1px solid #bacac12e;border-radius:46% / 23%;pointer-events:none}
.arc-poker-rail{position:absolute;left:39%;right:39%;bottom:23px;height:6px;border-radius:8px;background:#7082a3;box-shadow:inset 0 1px 1px #d1dbf04a,0 2px 1px #14243b;pointer-events:none}
.arc-poker-table .arc-card-back,.arc-poker-table .arc-card-face{border-radius:10px;border-color:#a6b9d376}
.arc-gift-card.is-dealing{animation:arc-deal .48s cubic-bezier(.19,.74,.27,1) both;animation-delay:calc(var(--card-i)*.04s)}
.arc-gift-card.is-open .arc-gift-inner{transform:rotateY(180deg)}
.arc-poker-table .arc-gift-inner:after{content:'';position:absolute;inset:0;border-radius:10px;background:linear-gradient(115deg,transparent 35%,#fff2 49%,transparent 62%);pointer-events:none;opacity:0;transform:translateZ(2px)}
.arc-gift-card.is-open .arc-gift-inner:after{animation:arc-card-sheen .6s ease-out}
@keyframes arc-deal{from{opacity:0;transform:translate(calc((2 - var(--card-i))*105%),-18px) rotate(-7deg) scale(.9)}to{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes arc-card-sheen{30%{opacity:.8}to{opacity:0}}
.arc-preview .arc-poker-table{width:100%;margin:0}
@media(max-width:374px){.arc-cards{gap:4px;width:calc(100% - 24px);padding:58px 0 72px}.arc-race-standings{gap:4px;font-size:10px}.arc-race-standings span{gap:3px}.arc-race-readout strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.arc-gift-card.is-dealing,.arc-gift-card.is-open .arc-gift-inner:after{animation:none}.arc-gift-inner{transition:none}}

.arc-gift-card.is-open .arc-gift-inner{animation:arc-turn .55s cubic-bezier(.23,.72,.24,1) both}
@keyframes arc-turn{0%{transform:translateY(0) rotateY(0deg)}40%{transform:translateY(-12px) rotateY(75deg)}75%{transform:translateY(-5px) rotateY(165deg)}100%{transform:translateY(0) rotateY(180deg)}}
.arc-preview .arc-gift-card.is-open .arc-gift-inner{animation:none}
@media(prefers-reduced-motion:reduce){.arc-gift-card.is-open .arc-gift-inner{animation:none}}
