/* A quiet product-display stage for the Japanese capsule cabinet. */
.hero .machine-stage{height:490px;max-width:660px;margin:8px auto 18px;overflow:hidden;background:radial-gradient(ellipse 42% 46% at 50% 47%,#f6e7d4a6,transparent 95%);border-radius:24px}
.hero .machine-stage:before{inset:5% 18% 7%;border:1px solid #dfc7ab60;border-radius:48% 48% 8% 8%;background:linear-gradient(180deg,#fffaf04a,#edd4b70c);filter:none}
.hero .machine-stage:after{left:21%;right:21%;bottom:13px;height:28px;background:radial-gradient(ellipse,#8b6b422b,transparent 70%);box-shadow:none}
.hero #machine3d{inset:0;filter:none}
.hero #machineStatus{bottom:1px;padding:7px 13px;border:1px solid #e3d0b9;background:#fffdf6f2;color:#a4203c;font-size:12px;box-shadow:0 4px 14px #5e352a12}
.machine-stage .ejection-ball{left:var(--chute-x,50%);bottom:var(--chute-bottom,20%)}
/* The no-WebGL fallback uses the same cabinet silhouette and local artwork. */
.hero .machine{width:248px;height:414px;margin:36px auto 0;transform:none;filter:drop-shadow(10px 13px 10px #543b2c2b);perspective:none}
.hero .machine:before{content:"コロ寿司";position:absolute;z-index:2;left:9px;right:9px;top:0;height:45px;display:grid;place-items:center;border:9px solid #bc203d;border-radius:13px 13px 8px 8px;background:#fffaf2;box-shadow:3px 4px 0 #811b2d;color:#bd203c;font-size:24px;font-weight:900;line-height:1;letter-spacing:.1em}
.hero .machine:after{content:"";position:absolute;left:16px;right:14px;bottom:1px;height:12px;border-bottom:7px solid #3f4040;border-left:9px solid #3f4040;border-right:9px solid #3f4040;border-radius:0 0 6px 6px}
.hero .machine .glass{left:15px;top:43px;width:218px;height:163px;border:5px solid #e9e5dc;border-bottom:8px solid #bd203c;border-radius:5px;background:linear-gradient(108deg,#fdfbf245,transparent 38%,#ffffff8a 39%,#ffffff08 57%),linear-gradient(#eff2ed,#e2e6e3);box-shadow:inset 4px 2px 8px #928a7142,3px 0 0 #c9c6be;transform:none}
.hero .machine .glass:after{content:"5皿で1回";position:absolute;right:4px;top:6px;padding:4px 6px;border-radius:12px;background:#bd203c;color:#fff9e9;font-size:9px;font-weight:900}
.hero .machine .ball{width:37px;height:37px;border:1px solid #c3cacd;background:linear-gradient(160deg,#fff 40%,#dce6e8 47%,#aab7bb 49%,#f2f6f5 52%,#d3dce0 90%);box-shadow:inset -4px -5px 6px #57697b24,2px 4px 6px #4f514b32;animation:none}
.hero .machine .ball:nth-child(5n){background:linear-gradient(#f5d176 47%,#bda968 50%,#e5ecea 53%)}
.hero .machine .body{left:7px;top:204px;width:234px;height:194px;border:7px solid #bc203d;border-top-width:5px;border-radius:5px 5px 14px 14px;background:linear-gradient(110deg,#fffdf5 40%,#f2eade 96%);box-shadow:4px 1px 0 #83162e,inset 0 -6px 0 #dfd6c8;transform:none}
.hero .machine .body:before{content:"ハンドルを右へ";position:absolute;left:18px;top:12px;font-size:9px;font-weight:800;color:#8d3944}
.hero .machine .body:after{content:"";position:absolute;right:20px;top:33px;width:32px;height:66px;border:4px solid #c5cbce;border-radius:6px;background:linear-gradient(90deg,#d2d7d9,#fff 50%,#a9b1b7);box-shadow:inset 0 0 0 1px #7d858b}
.hero .machine .sushi{left:0;right:0;top:111px;font-size:0}
.hero .machine .sushi:after{content:"お皿5枚で、1回のおたのしみ。";display:block;color:#942a40;font-size:8px;font-weight:800}
.hero .machine .body #crank{left:25px;right:auto;top:35px;width:73px;height:73px;padding:0;border:5px solid #b2b9bd;background:radial-gradient(circle,#d3d8db 30%,#fff 48%,#8e989f 71%,#e9edef);box-shadow:0 2px 5px #383c4130;border-radius:50%;font-size:0}
.hero .machine .body #crank:after{content:"";position:absolute;left:3px;right:3px;top:23px;height:17px;border-radius:12px;border:1px solid #a9a69f;background:linear-gradient(#fff,#e5dfd1);box-shadow:0 3px 3px #43494e40}
.hero .machine .slot{left:43px;bottom:10px;width:132px;height:47px;border:6px solid #b5203c;border-radius:10px;background:linear-gradient(120deg,#64727a,#233139);box-shadow:inset 0 4px 7px #0005}
.hero .machine .slot:after{content:"PUSH";display:block;margin-top:8px;font-size:10px;letter-spacing:.15em;color:#f0f0e7}
.hero .machine.spin .glass{animation:none}.hero .machine.spin .ball{animation:float .35s ease-in-out infinite alternate}
@media(max-width:650px){.hero .machine-stage{height:430px;margin:6px auto 13px;border-radius:16px}.hero .machine-stage:before{inset:5% 7% 7%}.hero #machine3d{inset:0}.hero .machine{margin-top:8px;transform:scale(.93);transform-origin:top center}.hero #machineStatus{font-size:11px;max-width:95%;white-space:normal;text-align:center}}
@media(max-width:380px){.hero .machine-stage{height:400px}.hero .machine{transform:scale(.88)}}
@media(prefers-reduced-motion:reduce){.hero .machine.spin .ball,.hero .machine.spin #crank{animation:none}}
