/* Rev147 — Bacon Bin Arcade */
.arcade-page{background:radial-gradient(circle at 50% 5%,rgba(128,18,18,.16),transparent 28%),#030405;color:#f4f3ef}
.bb-arcade-main{max-width:1540px;margin:0 auto;padding:26px clamp(16px,4vw,60px) 70px}.bb-arcade-titlebar{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:18px}.bb-arcade-titlebar h1{margin:4px 0 0;font-size:clamp(38px,5vw,72px);line-height:.9;letter-spacing:-.055em}.bb-arcade-titlebar h1 strong{color:#e23b33}.bb-arcade-titlebar p{max-width:520px;margin:0;color:#9ca1a8;font-size:15px;line-height:1.55}
.bb-arcade-stage{position:relative;min-height:570px;height:min(70vh,760px);overflow:hidden;background:#020304;border:1px solid rgba(255,255,255,.09);border-left:2px solid #df352e;box-shadow:0 25px 70px rgba(0,0,0,.45)}
#bbArcadeCanvas{display:block;width:100%;height:100%;touch-action:none;background:#020304}
.bb-arcade-hud{position:absolute;z-index:4;left:16px;right:16px;top:14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;pointer-events:none}.bb-arcade-player{display:flex;align-items:center;gap:10px}.bb-arcade-player img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:1px solid #e03b34;background:#080a0d}.bb-arcade-player b{display:block;font-size:13px}.bb-arcade-player small{display:block;color:#8d939b;font-size:11px;margin-top:2px}.bb-arcade-score{text-align:center;padding:8px 18px;background:rgba(2,3,4,.82);border:1px solid rgba(255,255,255,.1)}.bb-arcade-score span{display:block;color:#e04a43;font-size:10px;font-weight:900;letter-spacing:.15em}.bb-arcade-score strong{display:block;font-size:30px;line-height:1}.bb-arcade-time{justify-self:end;text-align:right}.bb-arcade-time span{display:block;color:#8e949d;font-size:10px;font-weight:900;letter-spacing:.12em}.bb-arcade-time strong{font-size:28px}
.bb-arcade-overlay{position:absolute;z-index:6;inset:0;display:grid;place-items:center;background:linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.88));padding:24px}.bb-arcade-overlay[hidden]{display:none}.bb-arcade-card{max-width:570px;padding:34px;text-align:center;background:rgba(5,7,10,.94);border:1px solid rgba(255,255,255,.11);border-top:2px solid #df352e}.bb-arcade-card h2{margin:7px 0 12px;font-size:clamp(31px,4vw,54px);letter-spacing:-.045em}.bb-arcade-card p{margin:0;color:#a3a7ad;font-size:15px;line-height:1.65}.bb-arcade-card button{margin-top:22px;min-width:210px;height:50px;border:1px solid #ef4a41;background:linear-gradient(180deg,#e43c34,#b8201b);color:#fff;font-size:12px;font-weight:950;letter-spacing:.12em;cursor:pointer}.bb-arcade-result{display:block;margin-top:14px;color:#77dc91;font-size:13px}
.bb-arcade-touch{position:absolute;z-index:5;left:16px;right:16px;bottom:18px;display:flex;justify-content:space-between;pointer-events:none}.bb-arcade-touch button{pointer-events:auto;width:72px;height:58px;border:1px solid rgba(255,255,255,.18);background:rgba(3,5,8,.72);color:#fff;font-size:26px;cursor:pointer;backdrop-filter:blur(8px)}
.bb-arcade-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.bb-arcade-info article{padding:20px;background:#080a0d;border:1px solid rgba(255,255,255,.07)}.bb-arcade-info i{color:#df3b34;font-size:20px}.bb-arcade-info b{display:block;margin-top:10px;font-size:14px}.bb-arcade-info p{margin:6px 0 0;color:#858b93;font-size:13px;line-height:1.5}
.bb-arcade-flash{position:absolute;z-index:3;inset:0;pointer-events:none;opacity:0;background:rgba(223,53,46,.28);transition:opacity .18s}.bb-arcade-flash.hit{opacity:1}.bb-arcade-flash.collect{background:rgba(255,169,65,.2);opacity:1}
@media(max-width:760px){.bb-arcade-main{padding-inline:12px}.bb-arcade-titlebar{align-items:start;flex-direction:column}.bb-arcade-stage{height:72vh;min-height:520px}.bb-arcade-hud{grid-template-columns:1fr auto}.bb-arcade-player{display:none}.bb-arcade-score{text-align:left}.bb-arcade-info{grid-template-columns:1fr}.bb-arcade-touch button{width:82px;height:64px}.bb-arcade-card{padding:26px 20px}}
@media(hover:hover) and (pointer:fine){.bb-arcade-touch{opacity:.45}.bb-arcade-touch:hover{opacity:1}}


/* Rev151 — Shelf Raid fantasy identity + pause/quit */
.game-shelf{--shelf-accent:#df352e;--shelf-gold:#f0c778;background:radial-gradient(circle at 48% 4%,rgba(126,22,20,.22),transparent 28%),linear-gradient(#0b0305,#020304)}
.game-shelf .bb-arcade-titlebar{align-items:center}.game-shelf .bb-game-logo{display:inline-grid;gap:2px;margin:0 0 8px;text-transform:uppercase;font-family:Georgia,"Times New Roman",serif;filter:drop-shadow(0 8px 20px rgba(0,0,0,.65))}.game-shelf .bb-game-logo span,.game-shelf .bb-game-logo em{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.25em;color:#f0c778}.game-shelf .bb-game-logo b{font-size:clamp(36px,5vw,70px);line-height:.82;letter-spacing:-.035em;color:#fff2d3;text-shadow:0 2px 0 #000,0 0 24px rgba(223,53,46,.38)}
.game-shelf .bb-arcade-stage{border-left-color:#c93731;background:radial-gradient(circle at 50% 20%,rgba(104,15,15,.10),transparent 40%),#020304;box-shadow:0 25px 70px rgba(0,0,0,.45),inset 0 0 100px rgba(103,13,13,.08)}
.bb-arcade-commandbar{position:absolute;z-index:8;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px}.bb-arcade-commandbar button,.bb-arcade-commandbar a{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid rgba(255,255,255,.18);background:rgba(3,5,8,.84);color:#fff;text-decoration:none;font-size:9px;font-weight:950;letter-spacing:.12em;cursor:pointer;backdrop-filter:blur(8px)}.bb-arcade-commandbar button:hover,.bb-arcade-commandbar a:hover{border-color:#df352e;box-shadow:0 0 18px rgba(223,53,46,.18)}
.bb-arcade-pause-overlay{position:absolute;z-index:10;inset:0;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.91))}.bb-arcade-pause-overlay[hidden]{display:none}.bb-arcade-pause-card{max-width:590px;padding:34px;text-align:center;background:rgba(8,4,5,.97);border:1px solid rgba(255,255,255,.11);border-top:2px solid #df352e;box-shadow:0 28px 70px rgba(0,0,0,.48)}.bb-arcade-pause-card h2{margin:8px 0 12px;font:700 clamp(32px,4vw,52px)/.9 Georgia,serif;color:#fff2d3}.bb-arcade-pause-card p{margin:0;color:#aaa3a2;line-height:1.6}.bb-arcade-pause-card button,.bb-arcade-pause-card a{margin-top:22px;min-width:200px;height:50px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e44b43;background:linear-gradient(180deg,#e43c34,#9e1815);color:#fff;text-decoration:none;font-size:10px;font-weight:950;letter-spacing:.12em;cursor:pointer}.bb-arcade-pause-card a{margin-left:8px;background:#080a0d;border-color:rgba(255,255,255,.18)}
@media(max-width:760px){.bb-arcade-commandbar{left:50%;right:auto;bottom:12px}.bb-arcade-pause-card{padding:27px 20px}.bb-arcade-pause-card a{margin-left:0}.game-shelf .bb-game-logo b{font-size:42px}}

/* REV158 — Shelf Raid overhead scan */
.bb-shelf-minimap{position:absolute;z-index:18;right:16px;top:92px;width:180px;padding:9px;border:1px solid rgba(255,255,255,.12);border-left:2px solid #e1473c;background:rgba(2,4,7,.84);box-shadow:0 18px 42px rgba(0,0,0,.46);backdrop-filter:blur(8px);pointer-events:none}
.bb-shelf-minimap-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#c8cdd2;font:900 7px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em}.bb-shelf-minimap-head b{color:#ff7064;font-size:6px;letter-spacing:.12em}.bb-shelf-minimap canvas{display:block;width:100%;height:auto;background:linear-gradient(180deg,rgba(22,27,34,.9),rgba(2,4,7,.98));border:1px solid rgba(255,255,255,.07)}
.bb-shelf-minimap-key{display:flex;justify-content:space-between;gap:6px;margin-top:7px;color:#767f87;font:900 6px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em}.bb-shelf-minimap-key span{display:flex;align-items:center;gap:4px}.bb-shelf-minimap-key i{width:6px;height:6px;display:inline-block;border-radius:1px}.bb-shelf-minimap-key .you{background:#f5f7fa;box-shadow:0 0 7px rgba(255,255,255,.8)}.bb-shelf-minimap-key .box{background:#e3a83e;box-shadow:0 0 7px rgba(227,168,62,.62)}.bb-shelf-minimap-key .hazard{background:#d73d36;box-shadow:0 0 7px rgba(215,61,54,.62)}
@media(max-width:760px){.bb-shelf-minimap{right:9px;top:88px;width:138px;padding:6px}.bb-shelf-minimap-key{display:none}.bb-shelf-minimap-head{margin-bottom:5px}}

/* Rev159 cabinet embed mode: the hub can run the real game inside the cabinet screen. */
body.bb-cabinet-embed{background:#000!important;overflow:hidden!important}
body.bb-cabinet-embed .bb-site-header,
body.bb-cabinet-embed .bb-arcade-back,
body.bb-cabinet-embed .bb-arcade-titlebar,
body.bb-cabinet-embed .bb-arcade-info,
body.bb-cabinet-embed .bb-mini-controls,
body.bb-cabinet-embed .bb-social-dock-shell,
body.bb-cabinet-embed .shop-footer,
body.bb-cabinet-embed .bb-night-drive-jukebox{display:none!important}
body.bb-cabinet-embed .bb-arcade-main{width:1077px!important;max-width:none!important;margin:0!important;padding:0!important}
body.bb-cabinet-embed .bb-arcade-stage{height:870px!important;min-height:870px!important;border:0!important;box-shadow:none!important}
body.bb-cabinet-embed .bb-arcade-commandbar{bottom:8px!important}
body.bb-cabinet-embed .bb-shelf-minimap{transform:scale(.82);transform-origin:top right}

/* Rev164 cabinet embed: dedicated CRT-sized viewport, no second layer of browser controls. */
body.bb-cabinet-embed .bb-arcade-main{width:980px!important;max-width:none!important;margin:0!important;padding:0!important}
body.bb-cabinet-embed .bb-arcade-stage{height:714px!important;min-height:714px!important;border:0!important;box-shadow:none!important}
body.bb-cabinet-embed .bb-arcade-commandbar,body.bb-cabinet-embed .bb-arcade-touch{display:none!important}
body.bb-cabinet-embed .bb-shelf-minimap{right:14px!important;top:78px!important;transform:scale(.94)!important;transform-origin:top right!important}
body.bb-cabinet-embed .bb-arcade-hud{padding:13px 16px!important}

/* Rev171 cabinet embed — exact CRT aspect, no inner browser chrome/remnant strip. */
html:has(body.bb-cabinet-embed),body.bb-cabinet-embed{width:980px!important;height:777px!important;overflow:hidden!important;margin:0!important;background:#000!important}
body.bb-cabinet-embed .bb-arcade-main{width:980px!important;height:777px!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important}
body.bb-cabinet-embed .bb-arcade-stage{width:980px!important;height:777px!important;min-height:777px!important;border:0!important;box-shadow:none!important;margin:0!important}
body.bb-cabinet-embed .bb-arcade-commandbar,body.bb-cabinet-embed .bb-arcade-touch{display:none!important}
body.bb-cabinet-embed .bb-shelf-minimap{right:14px!important;top:76px!important;transform:scale(.94)!important;transform-origin:top right!important}

/* Rev174 — Shelf Raid: overhead neon aisle run + pseudo-3D tactical map. */
.game-shelf .bb-arcade-stage{background:#010205!important}
.game-shelf #bbArcadeCanvas{background:#010205!important}
.bb-arcade-touch-4{align-items:flex-end;justify-content:center;gap:8px;left:18px;right:auto}
.bb-arcade-touch-4>span{display:flex;flex-direction:column;gap:5px}
.bb-arcade-touch-4 button{width:52px;height:46px;font-size:18px}
.bb-shelf-minimap{border-left-color:#ef3d86;background:linear-gradient(180deg,rgba(4,7,14,.9),rgba(2,3,7,.96));box-shadow:0 18px 42px rgba(0,0,0,.48),0 0 28px rgba(28,176,255,.08)}
.bb-shelf-minimap-head b{color:#5bd4ff}.bb-shelf-minimap-key .box{background:#ffc64d}.bb-shelf-minimap-key .hazard{background:#ff425b}
body.bb-cabinet-embed .bb-arcade-touch-4{display:none!important}
