*{box-sizing:border-box} :root{color-scheme:dark;--gold:#ebc777;--deep:#270306;--cream:#fff2c6;--curtain:url("/static/bdb93470363360e8c92b-red-curtain-v2.png");--bonus-curtain:url("/static/f8d31ff7a56d9d3b0d32-bonus-stage-v17.png");--plaque-blue:url("/static/38ed454c05d209caff84-plaque-blue-v17.png");--plaque-green:url("/static/73f4fab6f394f9654d4a-plaque-green-v17.png");font-family:"Microsoft JhengHei","Noto Sans TC",sans-serif}
body{margin:0;background:radial-gradient(ellipse at 50% 40%,#40121a 0,#190c12 48%,#09070c 100%);color:var(--cream);min-height:100vh}
button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a7e7ff;outline-offset:3px}button{touch-action:manipulation}
.toolbar{max-width:930px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;gap:10px}
.edition{font-family:Georgia,serif;font-size:13px;letter-spacing:2px;color:#bd9e68}.edition b{font-size:22px;color:var(--gold)}.edition small{font:10px "Microsoft JhengHei",sans-serif;letter-spacing:1px;margin-left:7px;color:#ae9294}
nav{display:flex;gap:6px}nav button{background:transparent;border:1px solid #72504a;color:#dabf98;padding:6px 10px;border-radius:4px;font-size:12px}nav button:hover{background:#4d2027}
main{display:flex;flex-direction:column;align-items:center;padding:0 12px 12px}
.cabinet{width:min(740px,calc((100svh - 95px) * .75),calc(100vw - 24px));min-width:370px;border:5px ridge #d5ab53;border-radius:14px 14px 22px 22px;background:#210405;box-shadow:0 0 0 2px #0a0507,0 0 0 5px #6f441e,0 0 32px #aa431b33,0 25px 70px #000c;overflow:hidden}
.top-bezel{border:4px solid #160504;border-bottom:2px solid #e0bd66;background:#1c0000;line-height:0}#top-screen{width:100%;height:auto;filter:saturate(1.07)}
.divider{height:20px;display:flex;align-items:center;gap:12px;padding:0 20px;background:linear-gradient(#24120a,#865925,#281007);font:bold 8px Georgia;letter-spacing:4px;color:#ffe7a6;box-shadow:0 3px 5px #0008;position:relative;z-index:1}.divider i{height:1px;background:#e1ad60;flex:1}
.game-screen{padding:0 25px 10px;background:#79090c var(--curtain) center/100% 100%;position:relative}
.game-screen:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#6c000033,#79000844)}
.game-heading{height:81px;display:flex;align-items:center;justify-content:space-between;position:relative}
.ways{display:flex;flex-direction:column;align-items:center;color:#ffe08e;text-shadow:2px 2px #4d1e00;font:bold 9px Georgia;letter-spacing:1px;width:90px}.ways strong{font-size:30px;line-height:1}
.pot-area{position:absolute;left:50%;transform:translateX(-50%);width:144px;top:-1px;text-align:center}.pot{width:122px;height:75px;object-fit:contain;filter:drop-shadow(0 1px 4px #ffd85677)}.pot-area>span{display:none}
.free-counter{text-align:right;display:flex;flex-direction:column;font-size:10px;gap:5px}.free-counter strong{font-size:14px;color:#ffe6a0}
.reel-frame{padding:3px;border:2px ridge #ffe3a0;background:linear-gradient(130deg,#e4ad32,#fff5a1 30%,#986311 60%,#ffd15a);border-radius:2px;position:relative;box-shadow:0 0 0 2px #550b07,0 6px 12px #390204b0}
.reel-frame:before,.reel-frame:after{content:"恭喜發財";position:absolute;writing-mode:vertical-rl;top:25%;font:bold 16px "Microsoft JhengHei",serif;color:#ffdc69;text-shadow:1px 1px #6c0904;letter-spacing:3px}.reel-frame:before{left:-23px}.reel-frame:after{right:-23px}
.corner{position:absolute;color:#fff2a6;z-index:3;font-size:16px;text-shadow:1px 2px #633c03;line-height:1}.tl{top:-8px;left:-8px}.tr{top:-8px;right:-8px}.bl{bottom:-8px;left:-8px}.br{bottom:-8px;right:-8px}
.reels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));aspect-ratio:2;border:1px solid #4f1004;background:#240608;overflow:hidden}
.reel{min-height:0;border-right:2px solid #be6040;position:relative;overflow:hidden;background:linear-gradient(90deg,#1e0307,#42080e 50%,#200308)}.reel:last-child{border-right:0}
.reel-track{height:100%;width:100%;will-change:transform}.reel-track>.symbol{height:33.333333%}.reel.rolling .symbol{height:var(--cell-height);filter:blur(.8px)}.reel.rolling:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#17000388,transparent 18%,transparent 82%,#17000388)}
.symbol{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid #fff0c70a;isolation:isolate}
.symbol svg{width:96%;height:96%;filter:drop-shadow(0 2px 1px #000);overflow:hidden}.symbol svg.royal-sprite{width:86%;height:86%}
.coin-art{clip-path:circle(44% at 50% 50%)}
.symbol.hit{background:radial-gradient(ellipse,#edba4e66,transparent 70%);box-shadow:inset 0 0 0 2px #ffdf69;animation:win-glow .7s ease-in-out 3 alternate}
.symbol.golden:before{content:"";position:absolute;inset:3px 4px;background:radial-gradient(ellipse at 50% 45%,#42682b,#102314 72%);border:1px solid #a98739;box-shadow:inset 0 0 0 2px #1e370f;z-index:-1}.symbol.golden.hit:before{border-color:#ffec8d;background:radial-gradient(ellipse,#836f22,#193612)}
.message-bar{min-height:27px;text-align:center;font-size:12px;line-height:1.6;color:#ffecaa;padding:5px 0 2px;text-shadow:0 1px #480700}
.gold-selector{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:3px;position:relative}
.gold-option{border:1px solid #d19739;border-radius:4px;background:linear-gradient(#6c2113,#300507);color:#cfa66a;min-width:0;padding:4px 2px;box-shadow:inset 0 1px #f2c97833;display:flex;flex-direction:column;align-items:center;gap:2px}
.gold-option .mini-symbols{display:flex;justify-content:center;align-items:center;height:18px}.mini-symbols svg{height:18px;width:18px;margin-left:-3px}.mini-symbols svg:first-child{margin-left:0}.gold-option b{font-size:10px}.gold-option small{font-size:7px;letter-spacing:.3px;white-space:nowrap}
.gold-option.selected{color:#fff0b8;background:linear-gradient(#b87122,#743415);border-color:#fff2b7;box-shadow:0 0 6px #ffe3a5a0,inset 0 1px #fff5bb}
.console{padding:11px 14px 8px;background:linear-gradient(#1c0f10,#312023 44%,#110b0d);border-top:3px ridge #c59a4d}
.meters{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:7px}.meters>div{background:#090909;border:1px solid #916c3c;border-radius:3px;padding:5px 8px;min-width:0}.meters span{display:block;font:bold 8px Georgia;color:#b89e74;letter-spacing:1px}.meters small{font:8px sans-serif;letter-spacing:0;margin-left:4px}.meters strong{display:block;text-align:right;color:#ffe8a6;font:clamp(15px,2.5vw,24px) Georgia;white-space:nowrap;margin-top:2px}.meters .win-meter strong{color:#f9dc5c}
.controls{display:flex;align-items:stretch;gap:7px;margin-top:10px}.bet-controls{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.control-label{font:bold 7px Georgia;color:#bda27d;letter-spacing:.6px;margin-bottom:5px}.control-label small{font:8px sans-serif;letter-spacing:0}.bet-controls>div{display:flex;gap:3px}
#multipliers button{flex:1;background:linear-gradient(#2e333a,#101217);border:1px solid #787275;border-radius:3px;color:#e7d6b2;padding:7px 0;font:bold 11px Georgia}#multipliers button.selected{background:linear-gradient(#f4d17f,#9d6b22);border-color:#ffe3a1;color:#271100}
.metal-button{color:#ead9ad;background:linear-gradient(#574e45,#26221e);border:2px ridge #baa06b;border-radius:5px;font-size:11px;min-width:42px;padding:4px}.metal-button small{font:8px Georgia}
.spin-button{min-width:103px;border:3px ridge #ffdd70;border-radius:50%;background:radial-gradient(ellipse at 50% 25%,#fff6ad 0,#eec54b 32%,#b56e0c 74%);box-shadow:0 3px 0 #53300a,0 0 12px #ffd57933;color:#62210d;font-size:24px;font-weight:900;padding:5px 13px;text-shadow:0 1px #fff1b3}
.spin-button span{display:block;font:bold 7px Georgia;letter-spacing:.6px}.spin-button:active:not(:disabled){transform:translateY(2px);box-shadow:none}.spin-button:disabled{opacity:.75}.machine-foot{display:flex;justify-content:space-between;margin-top:8px;color:#987b65;font:7px Georgia}.machine-foot span:nth-child(2){font:8px sans-serif;color:#cca778}.disclosure{max-width:700px;margin:13px 0 0;font-size:10px;text-align:center;color:#a68b8a;line-height:1.7}
dialog{width:min(640px,calc(100vw - 24px));max-height:90svh;border:1px solid #9e7645;border-radius:15px;background:#211416;color:#f1dfc0;padding:28px;box-shadow:0 20px 100px #000b;overscroll-behavior:contain}
dialog::backdrop{background:#080509c9;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #614137;padding-bottom:17px;margin-bottom:17px}.eyebrow{color:#c9a873;font:10px Georgia;letter-spacing:2px}h1{font-size:24px;margin:7px 0 0;letter-spacing:2px}.close{border:1px solid #705246;background:transparent;color:#ead0aa;border-radius:50%;width:35px;height:35px;font-size:25px;line-height:1}
dialog p{font-size:13px;line-height:1.8;color:#c7b7a5}.intro{margin-bottom:20px}.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-metrics>div{border:1px solid #65453a;border-radius:7px;padding:15px 8px;text-align:center;background:#190f11}.admin-metrics span{display:block;font-size:11px;color:#bc9f86;margin-bottom:8px}.admin-metrics strong{font:26px Georgia;color:#e6c795}.admin-metrics .current{border-color:#d3ad65;background:#3b251b}.admin-metrics .current strong{color:#ffe59e}
.adjust-box{padding:22px;margin-top:18px;background:#130c0e;border:1px solid #553a31;border-radius:8px}.adjust-box>label{display:block;font-size:12px;color:#c8ad91;margin-bottom:8px}.adjust-input{display:flex;border:1px solid #886345;border-radius:5px;align-items:center;background:#25191a}.adjust-input input{width:100%;background:transparent;border:0;color:#ffedb1;font:30px Georgia;padding:11px 12px;outline-color:#ffe099;min-width:0}.adjust-input span{font:24px Georgia;padding:0 18px;color:#bb9871}
.adjust-actions{display:flex;gap:9px;margin:12px 0 9px}.adjust-actions button,.gold-action{flex:1;border:1px solid #e3b56b;border-radius:5px;background:linear-gradient(#e7c57f,#bb8a45);color:#311a0e;padding:12px 7px;font-size:14px;font-weight:bold}.adjust-actions button:nth-child(2){color:#e6cdab;background:#352723;border-color:#8c6a54}.reset-button{width:100%;padding:11px;background:transparent;color:#d9bb91;border:1px solid #664c3d;border-radius:5px}
.adjust-box p{font-size:11px;margin-bottom:0;color:#a68e7e}#admin-notice{color:#ffdc89;min-height:18px}.model-details{margin-top:18px}.model-details>div{display:flex;justify-content:space-between;padding:9px 0;gap:20px;border-bottom:1px solid #493027;font-size:12px}.model-details span{color:#b69d88}.model-details b{color:#ead3ac;text-align:right;font-weight:500}.note{font-size:11px;color:#9c897c}details{border-top:1px solid #604237;padding-top:15px;margin-top:20px}summary{cursor:pointer;font-size:12px;color:#d7b78e}.rules-feature{border-left:2px solid #b7894b;padding-left:15px;margin:22px 0}.rules-feature b{font-size:14px;color:#edcc87}.rules-feature p{margin:6px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}caption{text-align:left;font-size:11px;color:#c0a584;margin-bottom:12px}th,td{padding:9px;text-align:right;border-bottom:1px solid #51392e}th:first-child,td:first-child{text-align:left}th{color:#a68a70;font-size:11px}.sources{padding-left:17px;line-height:1.7;font-size:11px}.sources li{margin:8px 0}a{color:#d2b887}
.bonus-dialog{text-align:center;background:#590b0f var(--curtain) center/100% 100%;border:4px ridge #e4bc69}.bonus-dialog h1{font-family:serif;font-size:30px;color:#ffe790;text-shadow:0 3px #6b2703}.bonus-dialog>p{color:#f5deb1}.coins{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:24px 12px}
.coin-button{position:relative;aspect-ratio:1;border:0;border-radius:50%;padding:0;background:transparent;filter:drop-shadow(0 0 6px #ffd93288);transition:transform .2s;overflow:visible}.coin-button svg{width:100%;height:100%;overflow:hidden}.coin-button:hover:not(:disabled){transform:scale(1.07)}.coin-button:disabled{opacity:.48}.coin-button.revealed{opacity:1;filter:drop-shadow(0 0 4px #ffe7a099)}.coin-button.revealed .coin-prize{position:absolute;bottom:0;left:0;right:0;color:#fff5b0;background:#450510dd;border:1px solid #c99a4a;border-radius:4px;padding:2px 0;font:bold 12px "Microsoft JhengHei",sans-serif;text-shadow:1px 1px #4b1302}
#bonus-tiers{display:flex;justify-content:center;gap:10px;font:11px Georgia}#bonus-tiers span{border:1px solid currentColor;border-radius:3px;padding:4px 7px}#bonus-result{color:#ffe698;font-size:22px;line-height:1.6;margin:15px 0}.bonus-dialog .gold-action{width:100%}
body.free-mode .game-screen:before{background:#41006866}body.free-mode .spin-button{box-shadow:0 0 20px #ca76ef77}
@keyframes win-glow{to{box-shadow:inset 0 0 0 2px #ffe993,0 0 12px #ffc33c}}
@media(min-width:1600px){.symbol .royal{font-size:60px}}
@media(max-width:600px){.toolbar{padding:10px 12px}.edition{font-size:10px;letter-spacing:1px}.edition small{display:none}nav{gap:4px}nav button{padding:7px 9px}.cabinet{width:100%;min-width:0;border-width:3px}.game-screen{padding:0 10px 9px}.game-heading{height:71px}.pot-area{top:-4px}.pot{height:57px}.pot-area>span{font-size:10px}.ways strong{font-size:27px}.ways{width:65px}.free-counter strong{font-size:11px}.free-counter{font-size:9px}.divider{height:16px;font-size:7px}.reel-frame{padding:4px}.symbol .royal{font-size:34px}.gold-selector{gap:3px}.gold-option{padding:5px 0;min-height:46px}.gold-option b{font-size:9px}.gold-option small{font-size:6px}.mini-symbols svg{width:14px;height:14px}.console{padding:9px 8px}.meters{gap:4px}.meters>div{padding:5px}.meters small{display:none}.meters strong{font-size:18px}.controls{gap:4px}.control-label small{display:none}#multipliers button{font-size:11px;min-height:36px}.spin-button{min-width:82px;font-size:22px;padding:6px 7px}.metal-button{min-width:36px;font-size:10px}.metal-button small{font-size:7px}.machine-foot{font-size:6px}.machine-foot span:nth-child(2){font-size:7px}.disclosure{font-size:9px}.disclosure span{display:block}dialog{padding:21px 18px}h1{font-size:21px}.admin-metrics{gap:6px}.admin-metrics strong{font-size:22px}.admin-metrics span{font-size:10px}.admin-metrics>div{padding:12px 3px}.adjust-box{padding:16px}.coins{gap:12px}.coin-button{font-size:29px;border-width:4px}.coin-button.revealed{font-size:11px}.coin-button.revealed span{font-size:9px}.bonus-dialog h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.game-screen{padding-left:21px;padding-right:21px}.pot{height:68px;width:112px}.reel-frame{padding:2px}.reel-frame:before,.reel-frame:after{font-size:13px;letter-spacing:2px}.reel-frame:before{left:-20px}.reel-frame:after{right:-20px}.coin-button{border:0}.coin-button.revealed .coin-prize{font-size:9px}.coins{margin-left:4px;margin-right:4px;gap:9px}}
[hidden]{display:none!important}
#top-screen{filter:none}
#top-screen svg{overflow:hidden}
.board-title{font-family:"Microsoft JhengHei","Noto Sans TC",sans-serif;font-weight:900;text-anchor:middle;paint-order:stroke fill;stroke:#ffeb89;stroke-width:3.3;stroke-linejoin:round;filter:drop-shadow(1px 2px 0 #581500)}
.board-sub{font-family:Georgia,serif;font-size:9px;font-weight:bold;text-anchor:middle;fill:#ffd96a;paint-order:stroke fill;stroke:#611b00;stroke-width:1.2}
.board-amount{font-family:Georgia,serif;font-weight:bold;text-anchor:middle;fill:url(#board-gold);paint-order:stroke fill;stroke:#795017;stroke-width:.4}
.board-rule-title{font-family:Georgia,serif;font-size:14px;font-weight:900;text-anchor:middle;fill:#ffed86;stroke:#512800;stroke-width:2;paint-order:stroke fill}
.board-rule{font:bold 8px Georgia,serif;fill:#7a0500}
.pay-number{font:bold 15px Georgia,serif;fill:#b91f04;stroke:#fff1a2;stroke-width:.7;paint-order:stroke fill;text-anchor:middle}
.pay-count{font:bold 15px Georgia,serif;fill:#c72912;stroke:#fff0a0;stroke-width:.7;paint-order:stroke fill;text-anchor:middle}
.pot-awake .pot{animation:pot-ring .6s ease-in-out 2}
.win-celebration{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse,#3c0808ef,#300407b8 50%,#30040755);pointer-events:none;overflow:hidden}
.win-celebration>span{font-size:clamp(22px,3vw,40px);font-weight:900;letter-spacing:5px;color:#fff1a6;text-shadow:0 2px #9a3b00,0 0 20px #ffbe44}
.win-celebration>strong{font:bold clamp(30px,5vw,60px) Georgia;color:#ffe47a;text-shadow:1px 3px #793400;z-index:1}
.win-celebration>small{font-size:11px;color:#e8d3a2;z-index:1}
.coin-shower{position:absolute;inset:0;pointer-events:none}.coin-shower i{position:absolute;left:var(--x);top:-30px;width:19px;height:22px;border-radius:50%;border:3px double #fff0a2;background:radial-gradient(#e49b19,#ffe787,#b96b09);box-shadow:0 2px 4px #0009;animation:coin-fall 1.6s var(--delay) ease-in infinite}
.feature-dialog{text-align:center;border:4px ridge #e6bb59;background:#690a0b var(--curtain) center/100% 100%;padding:30px;max-width:580px}.feature-dialog h1{font-size:35px;color:#ffe58b;text-shadow:1px 3px #6a2603}.feature-art{display:flex;justify-content:center;height:115px;margin:10px 0}.feature-art svg{width:105px;height:115px;overflow:hidden;filter:drop-shadow(0 0 12px #ffc94566)}.feature-value{display:block;font:bold 85px Georgia,serif;color:#ffe682;line-height:1.2;text-shadow:2px 4px #8b3e04}.feature-summary .feature-value{font-size:48px}.feature-summary .feature-art{height:140px}.feature-summary .feature-art svg{width:160px;height:145px}.feature-dialog p{color:#f8dfab;white-space:pre-line}.feature-dialog .gold-action{width:100%;margin-top:10px}
#bonus-tiers .tier-progress{min-width:65px;display:flex;flex-direction:column;gap:6px}#bonus-tiers small{display:flex;justify-content:center;gap:5px}#bonus-tiers i{width:8px;height:8px;border:1px solid currentColor;border-radius:50%;background:#320704}#bonus-tiers .lit{background:currentColor;box-shadow:0 0 6px currentColor}
.coin-button.turning{transform:rotateY(90deg);transition:transform .16s ease-in}.coin-button.arriving{animation:coin-reveal .16s ease-out}
.bonus-winner{display:flex;align-items:center;justify-content:center;gap:12px;border:3px ridge #dfb047;background:radial-gradient(ellipse at 40% 50%,color-mix(in srgb,var(--tier-color),#170606 65%),#240608);box-shadow:inset 0 0 0 4px #341305;margin-top:15px;padding:12px}.bonus-winner>svg{width:120px;height:120px;overflow:hidden}.bonus-winner>div{display:flex;flex-direction:column;gap:7px}.bonus-winner strong{font-size:26px;text-shadow:1px 1px #000}.bonus-winner b{font:32px Georgia;color:#ffe685}.bonus-winner span{font:10px Georgia;letter-spacing:2px;color:#f2cd74}
.bonus-dialog.completed .coins{max-width:260px;margin:12px auto;gap:6px}.bonus-dialog.completed .coin-prize{font-size:8px}.bonus-dialog.completed .bonus-winner{margin:10px 0;padding:8px}.bonus-dialog.completed .bonus-winner>svg{width:85px;height:85px}.bonus-dialog.completed #bonus-result{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;margin:0}
@keyframes coin-fall{0%{transform:translate(0,0) rotateY(0deg) rotate(-15deg)}100%{transform:translate(var(--drift),420px) rotateY(540deg) rotate(45deg)}}
@keyframes coin-reveal{from{transform:rotateY(-90deg)}to{transform:rotateY(0)}}
@keyframes pot-ring{50%{filter:drop-shadow(0 0 15px #fff367);transform:scale(1.07)}}
@media(max-width:600px){.free-counter strong{font-size:9px}.feature-dialog{padding:22px 16px}.feature-dialog h1{font-size:28px}.feature-value{font-size:68px}.feature-summary .feature-value{font-size:36px}.feature-art{height:90px}.feature-art svg{height:90px;width:85px}.bonus-winner{gap:4px;padding:10px 4px}.bonus-winner>svg{width:82px;height:90px}.bonus-winner strong{font-size:21px}.bonus-winner b{font-size:26px}.win-celebration>span{font-size:24px}.win-celebration>strong{font-size:36px}.win-celebration>small{font-size:9px}.symbol.golden:before{inset:2px}.coin-shower i{width:13px;height:15px}}
@media(prefers-reduced-motion:reduce){.coin-shower{display:none}.coin-button{transition:none}}
.pot-area .pot{margin:auto;width:116px;height:81px;position:relative}
.pot>svg{display:block;width:100%;height:100%;overflow:hidden}
#pot-effects{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.fu-bat{position:absolute;width:5.5%;aspect-ratio:2;filter:drop-shadow(0 0 .6px #ffdc74);will-change:transform,left,top}
.fu-bat svg{display:block;width:100%;height:100%;overflow:visible}
.fu-wing{transform-box:view-box;transform-origin:50% 48%;animation:fu-wingbeat .18s ease-in-out infinite alternate}
.fu-bat .fu-right{animation-delay:-.025s}
@keyframes fu-wingbeat{from{transform:scaleX(1) scaleY(1)}to{transform:scaleX(.35) scaleY(.72)}}
.fu-source-glow{position:absolute;pointer-events:none;background:radial-gradient(ellipse,#ffffeef5 0%,#fffbd6d9 25%,#ffe27b6b 45%,transparent 72%);mix-blend-mode:screen;will-change:opacity}
#pot-announcement{position:absolute;inset:80px 20px 75px;z-index:7;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;pointer-events:none;background:radial-gradient(ellipse,#5a0d08ed,#4a070373 60%,transparent);text-shadow:0 2px #833600,0 0 20px #ffd453}
#pot-announcement span{color:#fff3a5;font-size:23px;font-weight:900;letter-spacing:9px}
#pot-announcement b{color:#ffe277;font-size:34px;letter-spacing:5px}
.bonus-winner small{font-size:11px;color:#f4d9a5}
.bonus-dialog.direct-award .bonus-winner{min-height:220px;margin:25px 0;background:radial-gradient(ellipse,#205a12,#092e0d 70%);border-width:4px}
.bonus-dialog.direct-award .bonus-winner>svg{width:180px;height:180px}
.bonus-dialog.direct-award .bonus-winner strong{font-size:32px}
.bonus-dialog.direct-award .bonus-winner b{font-size:38px}
@media(max-width:600px){.pot-area .pot{height:69px;width:104px}#pot-announcement{inset:65px 20px 75px}#pot-announcement span{font-size:18px}#pot-announcement b{font-size:25px}.bonus-dialog.direct-award .bonus-winner{min-height:180px}.bonus-dialog.direct-award .bonus-winner>svg{width:120px;height:150px}.bonus-dialog.direct-award .bonus-winner strong{font-size:25px}.bonus-dialog.direct-award .bonus-winner b{font-size:30px}}
/* v5: staged reel and feature performance, based on physical 88 Fortunes video. */
.symbol-figure{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;perspective:450px}
.symbol-figure>svg{display:block}
.symbol.hit{animation:none}
.symbol.hit .symbol-figure{animation:award-emphasis 1.8s ease-in-out infinite}
.symbol.hit[data-symbol="coin"]{background:none;box-shadow:none}
.symbol[data-symbol="coin"]:before{display:none}
.symbol[data-symbol="coin"] .coin-art{clip-path:none}
.symbol.hit[data-symbol="coin"] .symbol-figure{animation:none}
.symbol.hit[data-symbol="coin"] .symbol-figure>svg{animation:coin-prize-reveal 1s linear infinite}
.symbol.hit[data-symbol="coin"] .symbol-spark{display:none}
.symbol.hit[data-symbol="Q"]{background:none;box-shadow:none}
.symbol.hit[data-symbol="Q"] .symbol-figure{animation:none}
.symbol.hit[data-symbol="Q"] .royal-sprite{animation:queen-prize-reveal 1s cubic-bezier(.333333,0,.666667,1) infinite}
.symbol.hit[data-symbol="Q"] .symbol-spark{display:none}
@keyframes queen-prize-reveal{0%,50%,100%{opacity:1}60%,95%{opacity:0}}
/* Verified gold-symbol fallback: same printed grounds and reveal as WebGL. */
.symbol-ground{position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;pointer-events:none}
.symbol-ground>svg{width:97%;height:97%;filter:none}
.symbol-ground.ground-back{opacity:0}
.symbol.golden:is([data-symbol="turtle"],[data-symbol="bird"],[data-symbol="ship"],[data-symbol="ingot"]):before{display:none}
.symbol.golden.hit:is([data-symbol="turtle"],[data-symbol="bird"],[data-symbol="ship"],[data-symbol="ingot"]){background:none;box-shadow:none}
.symbol.golden.hit:is([data-symbol="turtle"],[data-symbol="bird"],[data-symbol="ship"],[data-symbol="ingot"]) .symbol-figure{animation:none}
.symbol.golden.hit:is([data-symbol="turtle"],[data-symbol="bird"],[data-symbol="ship"],[data-symbol="ingot"]) .symbol-spark{display:none}
.symbol.golden.hit:is([data-symbol="turtle"],[data-symbol="ingot"]) .symbol-figure>svg,
.symbol.golden.hit[data-symbol="ingot"] .ground-front{animation:gold-prize-reveal 1.6s cubic-bezier(.333333,0,.666667,1) infinite}
.symbol.golden.hit[data-symbol="ingot"] .ground-back{animation:gold-prize-back 1.6s cubic-bezier(.333333,0,.666667,1) infinite}
.symbol.golden.hit[data-symbol="bird"] .symbol-figure>svg{animation:coin-prize-reveal 1s cubic-bezier(.333333,0,.666667,1) infinite}
.symbol.golden.hit[data-symbol="ship"] .symbol-figure>svg{animation:ship-prize-reveal 1.6s steps(1,end) infinite}
@keyframes gold-prize-reveal{0%,37.5%,100%{opacity:1}50%,87.5%{opacity:0}}
@keyframes gold-prize-back{0%,37.5%,100%{opacity:0}50%,87.5%{opacity:1}}
@keyframes ship-prize-reveal{0%,100%{opacity:1}50%{opacity:0}}
.symbol-spark{pointer-events:none;position:absolute;inset:0;overflow:hidden}
.symbol.hit .symbol-spark:before,.symbol.hit .symbol-spark:after{content:"";position:absolute;width:16px;height:16px;background:#fff9bd;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 5px #ffcc3d);animation:symbol-twinkle 1.8s infinite}
.symbol.hit .symbol-spark:before{left:18%;top:24%}.symbol.hit .symbol-spark:after{right:14%;bottom:18%;animation-delay:.6s;width:12px;height:12px}
.reel.rolling .symbol-figure{animation:none}
#reel-effects{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:visible}
.gong-actor{position:absolute;transform:translate(-50%,-50%);filter:drop-shadow(0 0 9px #ffc74b);z-index:2}
.gong-performance{width:100%;height:100%;overflow:visible}
.gong-disc{transform-origin:80px 80px;animation:gong-vibrate 1.1s var(--beat-delay) infinite}
.gong-mallet{transform-origin:163px 103px;animation:gong-strike 1.1s var(--beat-delay) infinite}
.gong-flash{opacity:0;animation:gong-flash 1.1s var(--beat-delay) infinite;mix-blend-mode:screen}
.performance-coins{position:absolute;inset:-15% -2% -12%;overflow:hidden;z-index:3;pointer-events:none}
.performance-coins i{position:absolute;width:9%;aspect-ratio:1;left:var(--x);top:-15%;animation:performance-rain 1.55s var(--delay) linear infinite;filter:drop-shadow(1px 3px 2px #51320088)}
.performance-coins svg{width:100%;height:100%}

body.free-mode .game-screen{background:radial-gradient(ellipse at 50% 20%,#ffef9a,#cd9b3a 65%,#9f6c25);transition:background-color .5s}
body.free-mode .game-screen:before{background:repeating-radial-gradient(ellipse at 0 0,transparent 0 12px,#78591612 13px 15px,transparent 16px 26px)}
body.free-mode .spin-button{box-shadow:0 0 20px #f7ca4277}
body.free-mode .message-bar,body.free-mode .free-counter{color:#fff8c8;text-shadow:0 1px 2px #573006}
.gold-transition{position:absolute;inset:0;background:radial-gradient(ellipse,#ffffbd,#ffda5c 60%,transparent);z-index:8;pointer-events:none}
.feature-dialog{position:fixed;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;max-height:calc(100svh - 24px)}
.feature-dialog::backdrop{background:#08050935;backdrop-filter:none}
.feature-plaque{padding:15px 12px 11px;border:5px ridge #e6cb52;outline:2px solid #064b30;background:radial-gradient(ellipse,#368d3c,#045b35 70%);box-shadow:inset 0 0 0 3px #1dc56e,inset 0 0 0 6px #cdd46c,0 5px 20px #0009;animation:plaque-enter .45s cubic-bezier(.18,.8,.2,1)}
.feature-dialog .eyebrow{font-size:8px;letter-spacing:1px;color:#f7dc79}
.feature-dialog h1{font-size:19px;margin:6px 0;color:#fff5af}
.feature-dialog .feature-art{display:none}
.feature-dialog .feature-value{font-size:56px;line-height:1;color:#ffe966;paint-order:stroke fill;-webkit-text-stroke:1px #fff2af;text-shadow:2px 3px #9f4b12,0 0 12px #fff8a866}
.feature-dialog .feature-value:after{content:" 次免費遊戲";font:bold 20px "Microsoft JhengHei",sans-serif;white-space:nowrap}
.feature-dialog .feature-description,.feature-dialog p{font-size:10px;line-height:1.6;margin:8px 0}
.feature-dialog .gold-action{font-size:12px;margin:0;padding:8px;background:linear-gradient(#fce6a0,#cf9d37)}
.feature-summary .feature-value{font-size:34px}
.feature-summary .feature-value:after{content:""}
.feature-summary .feature-art{display:flex;height:70px;margin:0}
.feature-summary .feature-art svg{height:70px;width:80px}
@keyframes award-emphasis{0%,100%{transform:scale(1)}28%,55%{transform:scale(1.09)}}
@keyframes coin-prize-reveal{0%,42%,100%{opacity:1}50%,92%{opacity:0}}
@keyframes symbol-twinkle{0%,15%,75%,100%{opacity:0;transform:scale(.2) rotate(0)}35%,45%{opacity:1;transform:scale(1.2) rotate(90deg)}}
@keyframes gong-strike{0%,100%{transform:rotate(-19deg) translateX(9px)}22%{transform:rotate(0) translateX(0)}30%{transform:rotate(-4deg) translateX(2px)}48%,80%{transform:rotate(-24deg) translateX(13px)}}
@keyframes gong-vibrate{0%,20%,65%,100%{transform:scale(1)}26%,38%{transform:scale(1.08,1.02)}32%,44%{transform:scale(.98,1.06)}}
@keyframes gong-flash{0%,20%,65%,100%{opacity:0}26%{opacity:.9}45%{opacity:.1}}
@keyframes performance-rain{0%{transform:translate(0,-20px) rotateY(0deg);opacity:0}8%{opacity:1}100%{transform:translate(calc(var(--drift)*42px),420px) rotateY(700deg);opacity:1}}
@keyframes plaque-enter{from{transform:scale(.22);opacity:0}70%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}
@media(max-width:600px){.feature-dialog .feature-value{font-size:46px}.feature-dialog .feature-value:after{font-size:17px}.feature-dialog h1{font-size:17px}.feature-dialog .eyebrow{font-size:7px}.feature-summary .feature-value{font-size:29px}.gong-actor{filter:drop-shadow(0 0 4px #ffc74b)}}
@media(prefers-reduced-motion:reduce){.performance-coins{display:none}.symbol-figure,.symbol-figure>svg,.symbol-spark:before,.symbol-spark:after,.feature-plaque{animation:none!important}body.free-mode .game-screen{transition:none}}
.coin-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.win-celebration>span,.win-celebration>strong,.win-celebration>small{position:relative;z-index:3}
.win-celebration>span{animation:prize-title .7s cubic-bezier(.12,.8,.2,1)}
.win-celebration:before{content:"";position:absolute;inset:-100%;background:repeating-conic-gradient(from 0deg,#ffe77300 0deg 12deg,#ffe78933 13deg 21deg,#ffe77300 22deg 36deg);animation:prize-rays 14s linear infinite}
.win-celebration[data-rank="grand"]{background:radial-gradient(ellipse,#882b10ee,#510610c9 65%,#20000688)}
.bonus-winner{position:relative;overflow:hidden}
.bonus-winner>svg,.bonus-winner>div{position:relative;z-index:3}
.bonus-winner>svg{animation:prize-title .8s cubic-bezier(.12,.8,.2,1)}
.feature-dialog:not(.feature-summary) .eyebrow,.feature-dialog:not(.feature-summary) h1,.feature-dialog:not(.feature-summary) p{display:none}
.feature-dialog:not(.feature-summary) .feature-plaque{padding:20px 8px}
.feature-dialog:not(.feature-summary) .feature-value{font-size:44px;white-space:nowrap}
.feature-dialog .gold-action{margin-top:12px;border:1px solid #efca6a;background:#1c310ce8;color:#fff2ad;text-shadow:0 1px #000}
.game-focus .top-bezel,.game-focus .divider{display:none}
.game-focus .cabinet{width:min(900px,calc((100svh - 95px)*1.3),calc(100vw - 24px))}
.game-focus .game-heading{height:100px}
.game-focus .pot-area .pot{height:100px;width:145px}
@keyframes prize-title{0%{transform:scale(.1);opacity:0}60%{transform:scale(1.15);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes prize-rays{to{transform:rotate(360deg)}}
@media(max-width:600px){.toolbar{padding:10px 12px}.edition{font-size:10px}.edition small{display:none}nav{gap:4px}nav button{padding:6px;font-size:10px}.game-focus .cabinet{min-width:0;width:calc(100vw - 24px)}.game-focus .game-heading{height:81px}.game-focus .pot-area .pot{height:75px;width:112px}.feature-dialog:not(.feature-summary) .feature-value{font-size:38px}}
.symbol.hit .royal-sprite{animation:royal-prize-turn 1.8s ease-in-out infinite}
.symbol.hit[data-symbol="wild"] .symbol-spark:before{width:38px;height:38px;left:35%;top:30%}
.pot-area:after{content:"";position:absolute;pointer-events:none;left:49%;top:26%;width:14px;height:14px;background:#fffbd0;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:symbol-twinkle 4s infinite}
@keyframes royal-prize-turn{0%,100%{transform:rotateY(0) scale(1)}20%{transform:rotateY(-25deg) scale(1.08)}45%{transform:rotateY(25deg) scale(1.08)}70%{transform:rotateY(0) scale(1)}}
.gpu-reels{position:absolute;pointer-events:none;z-index:2;display:block}
.gpu-active .symbol-figure{visibility:hidden;animation:none!important}
.gpu-active .symbol-figure *{animation:none!important}
.gpu-active .symbol-ground{display:none}
.gpu-active .symbol{background:none;box-shadow:none}
.gpu-active .symbol:before,.gpu-active .symbol-spark{display:none}
.pot-rig{display:block;width:100%;height:100%;object-fit:contain}
.pot-awake .pot{animation:none}
.baby-rig{overflow:visible!important}
.baby-rig .baby-part{filter:none;overflow:hidden}
.rig-head{transform-origin:128px 127px;animation:rig-head-greet 2.8s cubic-bezier(.4,0,.3,1) infinite}
.rig-arm-left{transform-origin:75px 144px;animation:rig-left-offer 2.8s cubic-bezier(.4,0,.3,1) infinite}
.rig-arm-right{transform-origin:181px 144px;animation:rig-right-offer 2.8s cubic-bezier(.4,0,.3,1) infinite}
.rig-gift{animation:rig-gift-offer 2.8s cubic-bezier(.4,0,.3,1) infinite}
.rig-body{transform-origin:128px 228px;animation:rig-body-breathe 2.8s ease-in-out infinite}
.baby-rig[data-tier=major] g{animation-delay:-.7s}
.baby-rig[data-tier=minor] g{animation-delay:-1.4s}
.baby-rig[data-tier=mini] g{animation-delay:-2.1s}
@keyframes rig-head-greet{0%,100%{transform:rotate(-3deg)}30%{transform:translateY(3px) rotate(4deg)}58%{transform:translateY(-3px) rotate(1deg)}78%{transform:rotate(-5deg)}}
@keyframes rig-left-offer{0%,100%{transform:rotate(2deg)}35%{transform:rotate(-12deg)}60%{transform:rotate(-9deg)}78%{transform:rotate(0)}}
@keyframes rig-right-offer{0%,100%{transform:rotate(-2deg)}35%{transform:rotate(12deg)}60%{transform:rotate(9deg)}78%{transform:rotate(0)}}
@keyframes rig-gift-offer{0%,100%{transform:translateY(0)}35%{transform:translateY(-11px) rotate(-2deg)}60%{transform:translateY(-8px) rotate(2deg)}78%{transform:translateY(0)}}
@keyframes rig-body-breathe{0%,100%{transform:scaleY(1)}35%,60%{transform:scaleY(1.018)}}

/* v7: measured original cabinet layout; see research/reference-positioning-v7.md. */
.game-screen{aspect-ratio:16/9;padding:0 11% 0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 12%,#c52a14 0,#a31812 40%,#69080e 100%);container-type:inline-size}
.game-screen:before{background:repeating-radial-gradient(ellipse at 0 50%,transparent 0 12px,#e96b3c13 13px 15px,transparent 16px 26px);opacity:.8}
.game-heading{height:auto;flex:1;min-height:0;margin:0 -10.5%;align-items:flex-start}
.meters{position:absolute;left:0;top:6%;width:36%;gap:3%;z-index:2}
.meters>div{padding:0;border:0;background:none;text-align:center}
.meters span{font:900 clamp(7px,2cqw,15px) "Microsoft JhengHei",serif;letter-spacing:0;color:#ffe4a7;text-shadow:1px 1px #4e1a07}
.meters b,.meters strong{font:bold clamp(6px,1.9cqw,15px) Georgia,serif;color:#fff4b9;display:block;text-align:center;line-height:1.12;margin:2px 0 0;text-shadow:1px 1px #4b260b}
.meters .win-meter strong{color:#fff4b9}
.pot-area{width:22%;height:auto;aspect-ratio:288/178;top:-1%;z-index:3}
.pot-area .pot,.game-focus .pot-area .pot{width:100%;height:100%;filter:drop-shadow(0 0 5px #ffe77888)}
.pot-area:after{display:none}
.active-symbols{position:absolute;right:0;top:5%;width:29%;height:58%;min-height:34px;padding:2px 17% 2px 2px;border:1px solid #ecb34b;background:#6e100c;display:grid;grid-template-rows:1fr 1fr;z-index:2}
.active-babies,.active-icons{display:flex;min-height:0;gap:1px}
.active-babies{padding-left:20%}
.active-babies>span,.active-icons>span{flex:1;min-width:0;opacity:.24;display:flex;align-items:center;justify-content:center}
.active-symbols .eligible{opacity:1}
.active-symbols svg{width:100%;height:100%}
.active-symbols g{animation:none}
.all-up{position:absolute;right:0;top:0;width:26%;height:100%;display:grid;place-content:center;text-align:center;color:#ffe6a4;font:900 clamp(6px,1.9cqw,15px)/1.05 "Microsoft JhengHei",serif;text-shadow:1px 1px #8c3b10;border-left:1px solid #d99d45}
.active-symbols{padding-right:7.5%}
.reel-crown{position:absolute;left:10.5%;width:79%;height:8%;top:15%;pointer-events:none;z-index:2}
.reel-frame{padding:0;border:1px solid #dca74c;border-radius:0;background:#8e170e;box-shadow:0 0 0 2px #59160d;flex:none}
.reels{border:0;aspect-ratio:2}
.reel{border-right:4px solid #a52613;background:linear-gradient(90deg,#68080b,#a91812 55%,#710a0e)}
.symbol{border-bottom:0}
.reel-frame:before,.reel-frame:after{content:"路路發";top:18%;height:64%;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;border:1px solid #e0b04f;background:linear-gradient(90deg,#790934,#ce1d69,#79092c);font:900 2.8cqw/1.1 "Microsoft JhengHei",serif;letter-spacing:1.2cqw;text-shadow:1px 1px #702b08;box-shadow:inset 0 0 0 2px #651019;width:5.8%;color:#ffe7a4}
.reel-frame:before{left:-7.4%}.reel-frame:after{right:-7.4%}
.message-bar{position:absolute;bottom:1.2%;left:18%;width:64%;min-height:0;padding:0;font-size:clamp(6px,1.45cqw,12px);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-screen.has-win-details .message-bar{width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.win-details{position:absolute;left:15%;bottom:.4%;width:70%;height:3.5%;display:flex;align-items:center;justify-content:center;gap:.35em;color:#fff0c0;font:700 clamp(6px,1.6cqw,13px) Georgia,"Microsoft JhengHei",serif;white-space:nowrap;pointer-events:none;z-index:4}
.win-details[hidden]{display:none}
.win-symbol{height:100%;aspect-ratio:1;display:inline-flex;align-items:center}
.win-symbol svg{height:100%;width:100%}
.symbol.hit[data-symbol="wild"] .symbol-figure{animation:none}
.screen-footer{position:relative;display:flex;align-items:center;flex:none;height:8%;margin:0 -10.5%;gap:4px;font-size:clamp(6px,1.4cqw,11px)}
.screen-footer button,.language-label{border:1px solid #a7ced6;background:linear-gradient(#76bdd0,#204761);border-radius:2px;color:#effdff;padding:1px 5px;font:inherit}
.screen-footer .free-counter{position:absolute;bottom:100%;right:0;background:#8b2e0caa;padding:2px 4px;font-size:1.4cqw}
.free-counter:has(#feature-label:empty){display:none}
.free-counter strong{font-size:inherit}
.denomination{margin-left:auto;min-width:9%;text-align:center;padding:0 5px;border:1px solid #deb46d;background:linear-gradient(#c33e24,#69050a);color:#ffefba;font:bold 1.9cqw Georgia}
.console{padding:9px 12px 5px;background:linear-gradient(#102b58,#18467d 50%,#081b3b);border-top:4px ridge #b6a978}
.controls{margin-top:0;gap:8px;align-items:stretch}
.bet-controls{display:grid;grid-template-rows:1fr 1fr;gap:5px}
.bet-controls>.gold-selector,.bet-controls>#multipliers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0}
.gold-option,#multipliers button,.metal-button{background:linear-gradient(#367aae,#133568 55%,#102c57);border:3px ridge #a0c6dc;border-radius:5px;box-shadow:0 2px 1px #060d1b,inset 0 0 4px #7ec9f044;color:#ffdf94}
.gold-option{padding:2px;display:flex;flex-direction:row;justify-content:center;gap:3px}
.gold-option b{font:bold 22px Georgia;color:#fff3c6;text-shadow:0 0 4px #d6eaff}
.gold-option>span{font-size:8px;max-width:27px;line-height:1.1}
.gold-option.selected,#multipliers button.selected{background:linear-gradient(#e7ba55,#895523);border-color:#e8f3e5;box-shadow:0 0 4px #9edcff;color:#fff7d2}
#multipliers button{padding:3px;font:bold 13px Georgia;min-height:25px}
.metal-button{min-width:50px;font-size:11px}
.spin-button{min-width:80px;max-width:110px;aspect-ratio:1.12;border:4px ridge #c9e2ec;background:radial-gradient(ellipse at 50% 35%,#70d5f2,#2773b9 45%,#12345c 76%);color:#fff1b7;box-shadow:0 2px 2px #071225,inset 0 0 6px #bde9ff;font-size:22px;text-shadow:1px 1px #0b2d54;padding:4px}
.machine-foot{align-items:center;gap:5px;color:#a9bbd0}
.machine-foot #auto{border:1px solid #526d8c;background:#102a49;color:#dce5ec;font-size:8px;padding:2px 5px;border-radius:2px}
.machine-foot #auto br{display:none}.machine-foot #auto small{font-size:inherit}
.win-celebration,.win-celebration[data-rank="grand"]{background:none;display:block;overflow:visible}
.win-celebration:before{display:none}
.win-celebration .coin-particles{z-index:6}
.game-focus .game-heading{height:auto}
.bonus-dialog{position:fixed;margin:0;padding:0;border:2px solid #b88a38;border-radius:0;max-width:none;max-height:none;overflow:hidden;container-type:inline-size;background:#8f130e var(--bonus-curtain) center/100% 100%;box-shadow:none}
.bonus-dialog::backdrop{background:transparent;backdrop-filter:none}
.bonus-dialog .bonus-meters{left:3%;top:3%;width:36%;gap:5%;z-index:2}
.bonus-dialog .bonus-meters b,.bonus-dialog .bonus-meters strong{font-size:var(--meter-number-size,1.9cqw)}
.bonus-dialog.direct-award .bonus-meters{display:none}
.bonus-dialog>p{position:absolute;top:18%;left:5%;right:5%;font-size:1.8cqw;line-height:1.25;margin:0;color:#ffefcd;text-shadow:1px 1px #461203;white-space:pre-line}
.coins,.bonus-dialog.completed .coins{position:absolute;inset:26% 16% 7% 20%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:1% 4%;max-width:none;margin:0}
.coin-button{aspect-ratio:auto;min-height:0;display:flex;justify-content:center;align-items:center;filter:drop-shadow(0 0 4px #ffd35a)}
.coin-button svg{width:100%;height:100%}
.coin-button:disabled{opacity:1}
.coin-button.revealed{filter:drop-shadow(0 0 5px currentColor)}
.coin-button.revealed .coin-prize,.bonus-dialog.completed .coin-prize{writing-mode:vertical-rl;left:auto;right:0;top:4%;bottom:auto;max-height:92%;border-radius:50%;font-size:1.8cqw;line-height:1.1;padding:4px 2px;color:#fff6ab;background:linear-gradient(90deg,color-mix(in srgb,var(--prize-color),#000 30%),var(--prize-color));border:1px solid #ffd477}
.bonus-dialog .coin-button[data-tier="mini"] .coin-prize,.bonus-dialog .coin-button[data-tier="major"] .coin-prize{left:0;right:auto}
.coin-button.matched{animation:matching-medallion 1.05s ease-in-out infinite}
/* v14: the reference holds three synchronized winners before the plaque. */
.bonus-dialog .rig-head,.bonus-dialog .rig-body{animation:none;transform:none}
/* v16: reference plaque geometry; all decoration scales with the same SVG. */
.bonus-winner,.bonus-dialog.completed .bonus-winner,.bonus-dialog.direct-award .bonus-winner{position:absolute;left:6%;top:16%;width:88%;height:64%;margin:0;min-height:0;padding:3% 4.5%;display:flex;align-items:center;gap:1%;border:0;border-radius:0;overflow:visible;background:radial-gradient(ellipse at 38% 45%,color-mix(in srgb,var(--tier-color),#000 22%),color-mix(in srgb,var(--tier-color),#000 76%));box-shadow:none;animation:jackpot-plaque-reveal .35s ease-out}
.bonus-winner:before,.bonus-winner:after{display:none}
.bonus-dialog .bonus-winner[data-tier="minor"]{background:#0856b2 var(--plaque-blue) center/100% 100%}
.bonus-dialog .bonus-winner[data-tier="mini"]{background:#155024 var(--plaque-green) center/100% 100%}
.bonus-winner>svg,.bonus-dialog.completed .bonus-winner>svg,.bonus-dialog.direct-award .bonus-winner>svg{width:33%;height:100%;flex:none;animation:none}
.bonus-winner>.jackpot-border,.bonus-dialog.completed .bonus-winner>.jackpot-border,.bonus-dialog.direct-award .bonus-winner>.jackpot-border{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:visible}
.bonus-winner>.jackpot-copy{flex:1;min-width:0;gap:5%;height:88%;justify-content:center;text-align:center}
.bonus-winner .jackpot-title{width:100%;height:auto;flex:none;display:block;overflow:visible}
.bonus-winner b,.bonus-dialog.direct-award .bonus-winner b{font-weight:bold;font-family:Georgia,serif;line-height:1.1;white-space:nowrap;color:#ffed80;text-shadow:.025em .04em #a67b22,.05em .075em #4e2907}
.bonus-dialog .gold-action{position:absolute;bottom:1%;left:34%;width:32%;padding:3px 0;font-size:1.8cqw;margin:0}
#bonus-result,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.bonus-dialog.direct-award{background:transparent}
.bonus-dialog.direct-award::backdrop{background:#0002}
@keyframes matching-medallion{0%,100%{filter:drop-shadow(0 0 4px currentColor)}42%,58%{filter:drop-shadow(0 0 11px currentColor)}}
@keyframes jackpot-plaque-reveal{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){.console{padding:7px 6px 4px}.controls{gap:4px}.bet-controls{gap:3px}.bet-controls>.gold-selector,.bet-controls>#multipliers{gap:3px}.gold-option{min-height:24px;border-width:2px}.gold-option b{font-size:17px}.gold-option>span{font-size:6px;max-width:18px}#multipliers button{min-height:23px;font-size:10px;border-width:2px}.metal-button{min-width:33px;font-size:9px;border-width:2px}.metal-button small{font-size:6px}.spin-button{min-width:57px;font-size:17px;border-width:3px}.spin-button span{font-size:5px}.machine-foot{font-size:5px;margin-top:5px}.machine-foot #auto{font-size:6px}.machine-foot span:nth-child(2){font-size:6px}.game-focus .game-heading{height:auto}.game-focus .pot-area .pot{height:100%;width:100%}.active-symbols{min-height:0}}
@media(prefers-reduced-motion:reduce){.coin-button.matched,.bonus-winner{animation:none}}
.feature-rate-settings{margin:24px 0;padding:16px;border:1px solid #735037;border-radius:12px;background:#211515}
.feature-rate-settings h2{font-size:19px;color:#f9d58b;margin:0 0 10px}
.feature-rate-row{display:grid;grid-template-columns:1fr 145px;gap:6px 12px;align-items:center;margin:14px 0}
.feature-rate-row input{width:100%;min-width:0;padding:9px;background:#170d0d;border:1px solid #805a39;color:#ffe6ae;border-radius:5px;font-size:15px}
.feature-rate-row output{grid-column:1/-1;font-size:12px;color:#d1c0a9;overflow-wrap:anywhere}
#feature-rates-notice{color:#ffe5a7;line-height:1.6}
@media(max-width:600px){.feature-rate-settings{padding:12px}.feature-rate-row{grid-template-columns:1fr 125px}.feature-rate-row label{font-size:12px}}
.baby-rig-v7 .rig-head{transform-origin:128px 153px}
.baby-rig-v7 .rig-body{transform-origin:128px 245px}
.bet-controls{grid-template-columns:minmax(0,1fr);justify-content:stretch}
/* v8: original cabinet reference has separate red/black vertical reel wells. */
.reels{gap:0;background:#ad2616;overflow:hidden}
.reel{border:1px solid #ad733e!important;border-right:5px solid #ad2616!important;background:linear-gradient(90deg,#260407 0%,#630809 14%,#b92113 48%,#7a0b0c 83%,#290305 100%);box-shadow:inset 0 0 8px #100003}
.reel:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#29030560 0%,#29030560 2%,transparent 7%,#ef3a1717 17%,transparent 27%,#29030560 33.3333%)}
.reel.rolling:before{opacity:.3}
.coin-art{clip-path:none}

/* v10: distinct bonus coin and localized continuous reveal particles. */
.bonus-coin-art{display:block;width:100%;height:100%;object-fit:contain}
.reveal-sparks{position:absolute;pointer-events:none;z-index:7}
.bonus-dialog:not(.direct-award){animation:bonus-stage-enter .25s linear}
@keyframes bonus-stage-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.bonus-dialog{animation:none!important}}

/* v18: physical cabinet's green horizontal feature sign, over visible reels. */
.feature-dialog:not(.feature-summary){container-type:inline-size;max-width:none}
.feature-dialog:not(.feature-summary)::backdrop{background:transparent}
.feature-dialog:not(.feature-summary) .feature-plaque{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3.45;padding:0;border:0;outline:0;background:radial-gradient(ellipse,#126b36,#004c29);box-shadow:0 2px 4px #120e0870}
.feature-frame{display:none}
.feature-dialog:not(.feature-summary) .feature-frame{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.feature-dialog:not(.feature-summary) .feature-value{position:relative;font-size:15cqw;line-height:1;font-family:Georgia,"Microsoft JhengHei",serif;color:#ffdd60;-webkit-text-stroke:.18cqw #fff1ba;text-shadow:.3cqw .4cqw #913c18,.55cqw .6cqw #442614}
.feature-dialog:not(.feature-summary) .feature-value:after{font-size:12.8cqw;font-family:"Microsoft JhengHei",sans-serif}
.feature-dialog:not(.feature-summary) #feature-continue{position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;color:transparent;text-shadow:none;border:0;border-radius:0;background:transparent}
.feature-dialog:not(.feature-summary) #feature-continue:focus-visible{outline:2px solid #fff5bb;outline-offset:3px}
.gong-repeating{animation:gong-reprise 2.2s ease-in-out infinite}
@keyframes gong-reprise{0%,38%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}55%,82%{opacity:0;transform:translate(-50%,-50%) scale(.62)}}
@media(prefers-reduced-motion:reduce){.gong-repeating,.gong-disc,.gong-mallet,.gong-flash{animation:none!important}}

/* v35: owner-requested controls follow the cabinet button palette. */
.playback-controls{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:6px;margin-top:8px;align-items:stretch}
.playback-button,.auto-choice{border:3px ridge #a0c6dc;border-radius:5px;background:linear-gradient(#367aae,#133568 55%,#102c57);box-shadow:0 2px 1px #060d1b,inset 0 0 4px #7ec9f044;color:#ffefb9}
.playback-button{min-height:42px;padding:4px 8px;font-size:14px;font-weight:700;line-height:1.15}
.playback-button span{display:block;font-size:9px;line-height:1.3;font-weight:400;color:#e5f1ff}
.playback-button:disabled{opacity:.48;cursor:default}.playback-button[aria-pressed="true"]{background:linear-gradient(#e7ba55,#895523);color:#fff7d2}
.auto-choice{display:flex;align-items:center;justify-content:center;gap:7px;padding:3px 7px;font-size:11px;white-space:nowrap}
#auto-count{min-width:0;max-width:92px;width:55%;padding:4px 2px;border:0;border-bottom:1px solid #90bed8;border-radius:0;background:#123566;color:#fff2bd;font-size:13px;font-weight:700;color-scheme:dark}
.playback-controls :focus-visible{outline:2px solid #fff2b2;outline-offset:3px}
@media(max-width:600px){.playback-controls{gap:4px;margin-top:6px}.playback-button{min-height:40px;padding:4px 2px;font-size:12px;border-width:2px}.playback-button span{font-size:8px}.auto-choice{border-width:2px;gap:3px;padding:3px;font-size:10px}#auto-count{font-size:12px;max-width:72px}}
