.arc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0 8px}
.arc-head h2{font-size:21px;letter-spacing:-.8px;margin:5px 0}.arc-head h3{font-size:17px;margin:0}
.arc-head .badge{flex-shrink:0;font-size:10px}.arc-kicker{color:var(--gold);font-weight:900;font-size:10px;letter-spacing:2px}
.arc-copy{font-size:12px;color:var(--dim);line-height:1.7;margin:8px 0 14px;overflow-wrap:anywhere}
.arc-wheel{overflow:hidden;position:relative;background:radial-gradient(ellipse at center,#342441,#10101e 70%)}
.arc-wheel-scene{height:270px}.arc-wheel canvas{display:block;width:100%;height:100%}.arc-result{position:relative;padding:15px 9px;text-align:center;background:#0b0b16bb;font-size:15px;font-weight:900;min-height:52px;color:var(--gold)}
.arc-controls{padding:16px;margin-top:12px}.arc-controls h3{margin:0 0 12px;font-size:15px}
.arc-bets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.arc-bets button,.arc-quick button,.arc-row button{padding:12px 6px;border:1px solid var(--line);background:#0d1021;border-radius:11px;font-size:12px;font-weight:800}
.arc-bets small{opacity:.65;font-size:10px}.arc-bets [data-kind=red]{color:#ff7189}.arc-bets [data-kind=straight]{grid-column:span 3}
.arc-bets .selected,.dz-aim .selected{border-color:var(--gold);background:#ffd24a20;box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold)}
.arc-number,.arc-stake{display:flex;align-items:center;gap:12px;margin:15px 0;font-size:13px;font-weight:800}
.arc-stake input,.arc-number select{background:#090c1a;color:var(--gold);border:1px solid var(--line);border-radius:10px;padding:10px;font:800 21px inherit;min-width:0;width:120px;margin-left:auto;font-size:21px}
.arc-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.arc-notice{font-size:12px;color:var(--green);line-height:1.6;min-height:1em;margin:10px 0 0}.arc-notice.error{color:var(--red)}
.arc-rules{font-size:11px;color:var(--dim);line-height:1.8;margin:12px 0 0}.arc-controls button:disabled{opacity:.42;cursor:default}
.arc-history-row{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--line);font-size:12px}.arc-history-row strong{margin-left:auto}
.arc-ball{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff33;color:white}.arc-ball.red{background:#be2649}.arc-ball.black{background:#202134}.arc-ball.green{background:#108454}

.dz-cabinet{padding:10px;background:linear-gradient(135deg,#456567,#102e36 18%,#071a23 70%,#3c5657);border:1px solid #6c9690;border-radius:24px;box-shadow:0 18px 35px #0005,inset 0 1px 0 #d8efcc55}
.dz-machine{position:relative;overflow:hidden;border-radius:15px;background:#102630;box-shadow:0 0 0 1px #8bada45c}
.dz-marquee{position:relative;text-align:center;padding:17px 8px 15px;border-bottom:2px solid #c5b071;background:radial-gradient(ellipse at 50% 0,#48645a,#183838 65%);color:#f8e8b7}
.dz-marquee:before,.dz-marquee:after{content:"";position:absolute;top:15px;bottom:15px;width:3px;border-radius:4px;background:#e5d199;box-shadow:0 0 10px #e5d19966}.dz-marquee:before{left:14px}.dz-marquee:after{right:14px}
.dz-marquee small{display:block;font-size:8px;letter-spacing:4px;font-weight:800;color:#a8c0b0}.dz-marquee strong{display:block;font:900 clamp(24px,7vw,36px)/1.2 Georgia,serif;letter-spacing:2px;margin:5px 0;text-shadow:0 2px 0 #695429}
.dz-marquee span{font-size:8px;letter-spacing:2px;color:#c6ceaf}
.dz-canvas{display:block;width:100%;height:auto;aspect-ratio:600/680}
.dz-console{padding:12px 4px 4px}.dz-console-label{display:flex;justify-content:space-between;color:#b2c6be;font-size:9px;letter-spacing:1px;margin:0 3px 9px}.dz-console-label b{color:#e4cd8e;font-weight:700}
.dz-aim{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.dz-aim button{min-height:44px;padding:10px 0;border:1px solid #617e7b;border-radius:8px;background:linear-gradient(#29494c,#132e36);box-shadow:0 3px 0 #07191f,inset 0 1px 0 #b5c7b72b;color:#a5c0b6;font-weight:900;font-size:13px}
.dz-aim .selected{background:linear-gradient(#f7df9e,#bc9850);border-color:#ffe9b1;box-shadow:0 3px 0 #7c5b28,0 0 14px #e6c37330,inset 0 1px 0 #fff3ce;color:#3f321d}
.dz-turn{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:14px}.dz-turn span{font-size:11px;flex-shrink:0}.arc-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.dz-loot{font-size:12px;color:var(--gold);line-height:1.7;margin:10px 0 0}
.dz-collection{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dz-set{padding:12px 9px}.dz-set-title{display:flex;flex-direction:column;gap:5px;font-size:14px}.dz-set-title span{font-size:10px;color:var(--gold)}.dz-set-items{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:10px}.dz-set-items div{opacity:.45;text-align:center}.dz-set-items .owned{opacity:1}.dz-set-items img{display:block;width:100%;max-width:64px;height:auto;margin:auto}.dz-set-items b{display:block;font-size:9px;white-space:nowrap;margin:4px 0 6px}.dz-set-items small{font-size:9px;color:var(--gold)}.dz-set p{font-size:9px;color:var(--dim);margin:12px 0 0}
.arc-controls button:focus-visible,.dz-aim button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.dz-host-overlay{position:fixed;inset:0;background:#090b16f5;z-index:500;overflow:auto;padding:20px}.dz-host-overlay>div{max-width:620px;margin:20px auto}.dz-host-overlay .dz-machine{max-width:540px;margin:auto}.dz-host-overlay button{float:right;padding:12px 20px;border:1px solid var(--line);border-radius:12px}
@media(max-width:360px){.arc-head h2{font-size:18px}.arc-head .badge{font-size:9px}.dz-cabinet{padding:7px}.dz-collection{gap:7px}.dz-set{padding:10px 6px}.dz-aim{gap:4px}.dz-marquee strong{letter-spacing:1px}}


/* Personal arcade cabinets */
.tabs button[data-tab="game"]{grid-column:1/-1}
.solo-go{margin-top:16px}.solo-rules{padding:14px;margin-top:12px;font-size:12px;color:var(--dim)}
.solo-rules summary{cursor:pointer;font-weight:800;color:var(--gold)}.solo-rules p{font-size:11px;line-height:1.7;margin:12px 0 0}.slot-paytable{display:grid;gap:9px;margin-top:14px}
.slot-paytable>div{display:flex;justify-content:space-between;gap:10px}.slot-paytable b{color:var(--gold);white-space:nowrap}
.mini-cabinet{overflow:hidden;border:1px solid #a98b59;border-radius:20px;background:#151322;box-shadow:0 14px 30px #0005}.mini-cabinet canvas{display:block;width:100%;height:auto}
.mini-cabinet .arc-result{border-top:1px solid #9d78434d;background:#131521;color:#f5d591;font-size:13px;min-height:48px}
.slot-cabinet{border-color:#ae8459}.pc-cabinet{border-color:#7395a5;background:#102237}
.pc-marquee{text-align:center;padding:15px 8px 12px;background:linear-gradient(120deg,#314554,#101c31 60%,#344b57);border-bottom:2px solid #c7ab75}
.pc-marquee small,.pc-marquee span{display:block;font-size:8px;letter-spacing:3px;color:#aac6cb}.pc-marquee strong{display:block;font:900 29px Georgia,serif;letter-spacing:4px;color:#f6dfa5;margin:5px 0;text-shadow:0 2px 0 #86652f}
.pc-launch{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:12px 0}
.pc-launch button{border:1px solid #4b6575;background:linear-gradient(#253e4e,#142335);padding:12px 0;min-height:44px;border-radius:9px;font-weight:900}
.pc-launch [aria-pressed=true]{border-color:#e9cf92;background:linear-gradient(#e9d3a0,#b89556);color:#233543;box-shadow:0 2px 0 #71572d}
.pc-launch button:disabled,.parity-picks button:disabled{opacity:.55}
.pc-launch button:focus-visible,.solo-rules summary:focus-visible,.parity-picks button:focus-visible,.playing-card:focus-visible{outline:2px solid #fff;outline-offset:3px}
.solo-history-symbol{font-size:13px;min-width:60px;color:var(--gold);overflow-wrap:anywhere}.arc-history-row>span{white-space:nowrap;font-size:11px}.arc-history-row>strong{white-space:nowrap}
.parity-table,.poker-table{overflow:hidden;border:1px solid #8c8260;background:radial-gradient(ellipse at top,#285a50,#102f30 65%,#092327);box-shadow:inset 0 0 40px #0005}
.table-stamp{text-align:center;font-size:9px;letter-spacing:3px;color:#bcbd99;padding:19px 8px 14px}
.parity-dice{display:flex;justify-content:center;gap:18px;padding:28px 20px 42px;perspective:600px}
.dice-face{width:78px;height:78px;flex-shrink:0;transform:rotate(-7deg);border-radius:16px;background:linear-gradient(140deg,#fffcf1,#e4ddcb);border:1px solid #fcf5dd;box-shadow:3px 8px 0 #a5a899,5px 14px 15px #0007,inset 0 2px 6px #fff}
.dice-face:nth-child(2){transform:translateY(-7px) rotate(9deg)}.dice-face:nth-child(3){transform:rotate(-4deg)}
.dice-face>span{height:100%;padding:14px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px}
.dice-face i{border-radius:50%}.dice-face .pip{background:#21363d;box-shadow:inset 1px 2px 2px #000b,0 1px 0 #fff}
.parity-dice.rolling .dice-face{animation:dice-tumble .24s ease-in-out infinite alternate}.parity-dice.rolling .dice-face:nth-child(2){animation-delay:-.1s}.parity-dice.rolling .dice-face:nth-child(3){animation-delay:-.17s}
.parity-picks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.parity-picks button{padding:15px 8px;border:1px solid #49686b;border-radius:13px;background:#132c34}
.parity-picks b{display:block;font-size:27px;color:#c6dcd6}.parity-picks span{display:block;font-size:9px;color:#8caba7;margin-top:8px}
.parity-picks [aria-pressed=true]{border-color:#e0c48a;background:#3a493e;box-shadow:inset 0 0 0 1px #e0c48a55}.parity-picks [aria-pressed=true] b{color:#ffe0a0}
.poker-table{padding-bottom:0}.poker-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:18px 12px 10px}
.playing-card{position:relative;padding:0!important;min-width:0;aspect-ratio: .67;border-radius:7px;background:linear-gradient(140deg,#fffdf2,#e7e2d1)!important;border:1px solid #fff4d7!important;box-shadow:0 5px 0 #9aada0,0 9px 12px #00181788;color:#263540!important;transition:transform .15s,box-shadow .15s;opacity:1}
.playing-card.red{color:#b53445!important}.playing-card .card-corner{position:absolute;top:5px;left:5px;font:bold clamp(12px,3.5vw,19px)/1 Georgia,serif;text-align:center}
.card-corner i{display:block;font-style:normal;font-size:.9em;margin-top:2px}.card-corner.lower{top:auto;left:auto;bottom:5px;right:5px;transform:rotate(180deg)}
.playing-card .card-suit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:36px Georgia,serif}
.playing-card.selected{transform:translateY(-10px);box-shadow:0 0 0 3px #ffda88,0 5px 0 #a38b50,0 12px 15px #00181788}
.playing-card em{position:absolute;bottom:-19px;left:0;right:0;font-size:9px;font-style:normal;font-weight:800;color:#ffdf9c}
.playing-card.card-back{display:grid;place-items:center;border:3px solid #dedccb!important;background:repeating-linear-gradient(45deg,#29425c 0 4px,#334e6a 4px 6px)!important}
.card-back span{display:grid;place-items:center;width:64%;height:70%;border:1px solid #b4bdac;border-radius:50%;font:34px Georgia,serif;color:#e6cc92}
.poker-selection{font-size:11px;line-height:1.5;color:#d0d8be;text-align:center;padding:21px 8px 17px;min-height:55px}
.poker-table .arc-result,.parity-table .arc-result{font-size:13px;background:#061c24aa;border-top:1px solid #becba521}
@keyframes dice-tumble{from{transform:translateY(-10px) rotate(-14deg)}to{transform:translateY(6px) rotate(17deg)}}
@media(max-width:360px){.parity-dice{gap:13px}.dice-face{width:66px;height:66px}.dice-face>span{padding:12px;gap:4px}.poker-cards{gap:5px;padding-left:8px;padding-right:8px}.playing-card .card-suit{font-size:29px}.playing-card .card-corner{font-size:12px}.parity-picks span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.parity-dice.rolling .dice-face{animation:none}.playing-card{transition:none}}

/* Cups share one shuffle timeline; only the reveal is staggered. */
.parity-dice{display:flex;gap:10px;padding:3px 12px 0;justify-content:center;height:235px;perspective:800px}
.cup-station{position:relative;flex:1;max-width:125px;height:220px}
.cup-station>small{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:10px;color:#b9c5a7}
.cup-die{position:absolute;top:126px;left:50%;transform:translateX(-50%);visibility:hidden}
.cup-die .dice-face{width:58px;height:58px;border-radius:10px;transform:rotate(-5deg);box-shadow:2px 4px 0 #a0aa9a,3px 8px 9px #0006}
.cup-die .dice-face>span{padding:10px;gap:3px}
.dice-cup{position:absolute;left:50%;margin-left:-42px;top:73px;width:84px;height:119px;transform-origin:50% 85%;will-change:transform;z-index:2}
.cup-shell{position:absolute;inset:10px 0 6px;clip-path:polygon(13% 0,87% 0,100% 94%,97% 100%,3% 100%,0 94%);background:linear-gradient(90deg,#422537,#9f6660 16%,#d9a47e 29%,#9e6557 40%,#653641 78%,#bd8970);border-radius:13px 13px 9px 9px;box-shadow:inset 0 0 16px #371e3355}
.cup-shell:before{content:"";position:absolute;inset:12px 9px;border:1px solid #eac58a66;border-radius:4px}
.cup-shell span{position:absolute;top:30px;left:0;right:0;text-align:center;color:#f2d39a;font:36px Georgia,serif;text-shadow:0 2px 0 #6c4144}
.cup-top{position:absolute;top:2px;left:11px;width:62px;height:19px;border-radius:50%;background:radial-gradient(ellipse at 40% 30%,#deb38c,#9f6f65 60%,#4f3041);border:2px solid #dfbd91;z-index:3}
.cup-rim{position:absolute;bottom:0;left:-1px;width:86px;height:13px;border-radius:50%;background:linear-gradient(#f0d5a2,#a77d62 35%,#523944 80%,#ba9472);border:1px solid #d7b48a}
.cup-shadow{position:absolute;left:50%;margin-left:-45px;top:181px;width:90px;height:23px;border-radius:50%;background:#001917aa;filter:blur(4px);will-change:transform,opacity}
.poker-cards{min-height:150px;perspective:800px;overflow:visible}
.playing-card.card-moving{transition:none;will-change:transform,opacity;pointer-events:none}
.playing-card:disabled{opacity:1}
@media(max-width:360px){.parity-dice{gap:7px;padding-left:7px;padding-right:7px}.dice-cup{width:74px;margin-left:-37px}.cup-top{width:54px;left:10px}.cup-rim{width:76px}.cup-die .dice-face{width:51px;height:51px}.poker-cards{min-height:130px}}

#cupCanvas{width:100%;height:auto;display:block}.cup-accessibility{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);padding:0!important}

/* 입체 게임 화면의 외곽과 조작부는 같은 금속 프레임을 공유한다. */
.mini-cabinet,.dz-machine{border-color:#708891;border-radius:22px;background:#08101b;box-shadow:0 2px 0 #c8d6d733,inset 0 0 0 3px #070e16,0 14px 0 -7px #03070d,0 24px 45px #0008}
.mini-cabinet canvas,.dz-canvas{background:#080f1a}
.pc-marquee,.dz-marquee{background:linear-gradient(115deg,#131e2a,#263a46 48%,#121a29);border-bottom:1px solid #82919080;box-shadow:inset 0 1px 0 #fff2;text-shadow:0 2px 5px #0009}
.pc-marquee strong,.dz-marquee strong{color:#f0d6a8;letter-spacing:.15em}
.mini-cabinet .arc-result{background:linear-gradient(#14212b,#0a101b);border-top:1px solid #a8c6cd33;font-size:14px;min-height:54px}
.pc-launch button,.parity-picks button,.arc-quick button{box-shadow:inset 0 1px 0 #fff2,0 3px 0 #040a12;border-color:#4e6475}
.pc-launch button[aria-pressed=true],.parity-picks button[aria-pressed=true]{background:linear-gradient(#39484a,#253437);border-color:#e4c487;box-shadow:inset 0 1px 0 #ffeba366,0 3px 0 #100f0c,0 0 20px #d6b57218;color:#ffe4ac}
.poker-table,.parity-table{background:radial-gradient(ellipse at 45% 30%,#254d4a,#102d30 65%,#091d26);border:5px solid #27313b;border-top-color:#777467;border-bottom-color:#0b1018;box-shadow:inset 0 0 0 1px #b9a07499,inset 0 5px 24px #0008,0 8px 0 #060c13,0 22px 40px #0005;border-radius:25px;overflow:hidden}
.poker-cards{padding-top:30px;padding-bottom:10px;perspective:950px}
.playing-card{background:linear-gradient(125deg,#fffdf5,#e8e1cf)!important;border-color:#f0eadb!important;transform:rotateX(9deg);box-shadow:0 1px 0 #d6cfbd,0 2px 0 #b8b19f,0 3px 0 #ded5bf,0 5px 0 #8e9185,2px 12px 13px #0008,inset 0 0 0 1px #fff7;transition:transform .18s ease,box-shadow .18s ease}
.playing-card.selected{transform:translateY(-12px) rotateX(0deg);box-shadow:0 0 0 2px #ffdc96,0 4px 0 #978e72,2px 19px 22px #0008}
.playing-card:focus-visible{outline:3px solid #88ece0;outline-offset:5px}
.poker-selection,.parity-picks span{font-size:14px}
.table-stamp{font-size:12px;letter-spacing:.15em;color:#b7c8b9}
.race-3d{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #71858766;margin-bottom:10px}
.has-race-3d .lane{min-height:43px!important;height:auto!important;padding:8px 10px!important;background:linear-gradient(110deg,#15272d,#0d1725);box-shadow:inset 0 1px 0 #8cafa822}
.has-race-3d .runner,.has-race-3d .goal,.has-race-3d .fill{display:none}
.has-race-3d .lane .row{position:relative!important;inset:auto!important}
.has-race-3d .lane .row{padding:2px!important}
.stage .race-3d{max-height:37vh;object-fit:contain;background:#111416}
#dice3d + .dboard{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);padding:0!important}
#dice3d{display:block;width:100%;height:auto;border:1px solid #596986;border-radius:20px;margin:12px 0}
.dboard{perspective:900px;padding:12px!important;background:linear-gradient(135deg,#162334,#0a1422);border:1px solid #66758c;border-bottom:6px solid #030a14;border-radius:17px;box-shadow:0 12px 22px #0006}
.dcell{box-shadow:inset 0 1px 0 #fff2,0 3px 0 #050b15,0 5px 7px #0005;transform:rotateX(8deg);border-top-color:#8b98af55!important}
.dcell.target{box-shadow:inset 0 1px 0 #fff5,0 3px 0 #6e4c1b,0 0 20px #eac36933}
.tcard,.totogate{background:linear-gradient(135deg,#1c2939,#111927);border-top-color:#70819788;box-shadow:inset 0 1px 0 #fff1,0 6px 0 -2px #070d16,0 16px 28px #0004}
@media(prefers-reduced-motion:reduce){.playing-card{transition:none}}
