.game-card .cartridge,.moving-cart .cartridge{width:100%;height:100%;position:relative;box-sizing:border-box;border:1px solid #454444;border-radius:8px 8px 12px 12px;background:linear-gradient(90deg,#141414,#53504d 4%,#242425 9%,#111 15%,#212122 84%,#383738 93%,#121213);box-shadow:inset 0 -6px 2px #08090b,0 12px 18px #0008;display:flex;align-items:center;flex-direction:column;padding:0 11% 5%;overflow:hidden}
.sticker{height:78%;width:100%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at center,#364258,#101726);border-inline:1px solid #56585c;font-weight:900}.sticker img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;filter:none}.cartridge .cart-badge{width:100%;height:22%;object-fit:contain;background-color:#151518;background-image:linear-gradient(#54606e66 1px,transparent 1px),linear-gradient(90deg,#54606e66 1px,transparent 1px);background-size:9px 9px;border-top:2px solid #80858c;filter:none}
#insertion{position:fixed;inset:0;margin:0;box-sizing:border-box;container-type:size;right:auto;bottom:auto;width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:radial-gradient(ellipse at center,#20314c,#070b13 70%);color:#e8f6ff}#insertion[open]{display:grid;place-content:center;text-align:center}#insertion::backdrop{background:#000}.load-status{font:700 11px monospace;letter-spacing:.23em;color:#8be7ef}#insertion strong{font-size:clamp(20px,4cqw,38px);display:block;margin:8px}.machine-stage{position:relative;width:min(480px,90cqw);height:290px;margin:18px auto}.moving-cart{position:absolute;width:49%;height:49%;left:25.5%;top:0;z-index:2;animation:insert-game 1.26s both}.deck{position:absolute;top:56%;width:100%;height:41%;border-radius:48% 48% 14px 14px / 26% 26% 16px 16px;background:linear-gradient(#535862,#252932 32%,#10151d 34%,#353b44 37%,#191c23 95%);box-shadow:0 18px 25px #0009,inset 0 -8px 0 #06090c}.slot{position:absolute;left:20%;width:60%;height:8%;top:10%;background:black;border-radius:60%;box-shadow:0 2px 1px #91979f}.fascia{position:absolute;z-index:3;top:62%;width:100%;height:35%;border-radius:45% 45% 14px 14px / 12% 12% 16px 16px;background:linear-gradient(#424953,#242830 24%,#11151b 28%,#30343b 32%,#15181f 90%);display:flex;align-items:center;justify-content:center}.fascia img{width:33%}.fascia i{position:absolute;right:12%;background:#78f9cd;width:8px;height:8px;border-radius:50%;box-shadow:0 0 12px #49eab2}@keyframes insert-game{0%,30%{transform:translateY(0)}45%{transform:translateY(-9px)}90%,100%{transform:translateY(108px)}}@media(prefers-reduced-motion:reduce){.moving-cart{transform:translateY(108px)}}

/* Keep the intrinsic size of a tall cover from expanding the label's grid row. */
.sticker{grid-template: minmax(0,1fr) / minmax(0,1fr);min-height:0}
.sticker img{min-width:0;min-height:0;display:block;object-position:center}
.sticker[data-title="Pencil Pals - Paper Climb"]{background:repeating-linear-gradient(#f5f5f3 0 6px,#d5e0e9 6px 7px)}
.sticker[data-title="The Buddy Drop"]{background:radial-gradient(ellipse at 50% 75%,#238495,#104956 65%,#072632)}

#insertion .fascia i{background:#28312e;box-shadow:none}
#insertion.powered .fascia i{background:#95ffbc;box-shadow:0 0 6px 4px #73ffab,0 0 28px 9px #37f68980}
#insertion .startup-logo{display:none}
#insertion.startup{background:#000;box-sizing:border-box;padding:0;place-items:center;place-content:stretch}
#insertion.startup > :not(.startup-logo){display:none}
#insertion.startup .startup-logo{display:block;width:min(78cqw,1000px);max-height:75cqh;object-fit:contain}
@media(prefers-reduced-motion:reduce){#insertion .moving-cart{animation:none}}

#insertion{overflow:hidden}
#insertion.powered .slot{background:#e7ffff;box-shadow:0 0 12px 5px #aafaff,0 -8px 32px 10px #36d7ff}
#insertion.powered .deck{box-shadow:0 0 25px #3caed9,inset 0 3px 10px #a6f5ff}
#insertion.powered .moving-cart .cartridge{
  box-shadow:inset 2px -2px 5px #adffffb0,inset -2px -2px 6px #64dbff99,0 0 12px #3bbaff55;
}
#insertion.powered .slot::after{
  content:"";position:absolute;inset:-30% -4%;border-radius:50%;
  background:radial-gradient(ellipse closest-side,#fff 8%,#b0ffff 50%,#55daff88 77%,transparent);
}
/* Feather the light shafts and the surrounding spill on the same full-screen layer. */
#insertion.powered:not(.startup)::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    conic-gradient(from 0deg at var(--slot-x) var(--slot-y),transparent 2deg,#95f5ff3b 15deg,transparent 24deg,#5ccfff2b 36deg,transparent 48deg 311deg,#70dbff42 330deg,transparent 340deg,#c4ffff38 350deg,transparent),
    radial-gradient(ellipse min(27cqw,285px) 38px at var(--slot-x) var(--slot-y),#f2ffff,#67efffb3 43%,transparent),
    radial-gradient(ellipse min(33cqw,360px) min(29cqh,210px) at var(--slot-x) calc(var(--slot-y) - 32px),#bdffffe6,#57dbff8a 40%,transparent 100%),
    radial-gradient(ellipse min(49cqw,620px) min(50cqh,360px) at var(--slot-x) var(--slot-y),#55daff99,#359fff45 52%,transparent 100%);
  mask-image:radial-gradient(ellipse min(64cqw,780px) min(60cqh,470px) at var(--slot-x) var(--slot-y),black 18%,#000c 50%,transparent 100%);
  transform-origin:var(--slot-x) var(--slot-y);
  animation:slot-uplight 1.74s ease-out both;
}
@keyframes slot-uplight{
  from{opacity:.35;transform:scale(.48,.05)}
  to{opacity:1;transform:scale(1,1)}
}
@media(prefers-reduced-motion:reduce){#insertion.powered:not(.startup)::before{animation:none;opacity:.5}}
#insertion.powered::after{
  content:"";position:absolute;left:calc(var(--slot-x) - 150cqmax);top:calc(var(--slot-y) - 150cqmax);width:300cqmax;height:300cqmax;z-index:5;pointer-events:none;
  background:radial-gradient(circle closest-side at center,#f1ffff 0%,#e9ffff 49%,#a5f7ff 62%,#46caffbb 74%,transparent 100%);
  transform-origin:center;
  animation:slot-bloom 2.88s linear both;
}
@keyframes slot-bloom{
  0%,44%{transform:scale(.055,.008);opacity:0}
  63%{transform:scale(.19,.105);opacity:.23}
  75%{transform:scale(.49,.38);opacity:.53}
  89%{transform:scale(1.12);opacity:.92}
  100%{transform:scale(2.2);opacity:1}
}
#insertion.powered.startup::after{background:#efffff;transform:none;animation:logo-reveal .78s ease-out both}
@keyframes logo-reveal{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){
  #insertion.powered::after{transform:none;animation:still-glow .35s both}
  @keyframes still-glow{from{opacity:0}to{opacity:.22}}
  #insertion.powered.startup::after{display:none}
}
