*{box-sizing:border-box}body{margin:0;background:#140d22;color:#f6ecdb;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;font-size:16px;background-image:radial-gradient(ellipse at 50% 20%,#3e244b,transparent 65%);min-height:100vh}button,select{font:inherit}button{touch-action:manipulation;cursor:pointer}button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #89f7e0;outline-offset:4px}main{max-width:720px;margin:auto;padding:20px 18px 32px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.brand{font-size:12px;letter-spacing:2px;color:#c2a8cc}header button{background:#2b2035;color:#eadcf1;border:1px solid #755c83;border-radius:24px;padding:9px 16px;font-size:14px}.machine{background:linear-gradient(130deg,#382444,#25182e 50%,#36213f);border:2px solid #c39760;border-radius:30px;padding:26px 28px 15px;box-shadow:0 22px 70px #090510aa,inset 0 0 0 6px #110c1a,inset 0 0 0 8px #77593d;position:relative;overflow:hidden}.mast{text-align:center}.edition{color:#d7b781;font-size:12px;letter-spacing:3px}h1{font-family:serif;font-size:clamp(32px,6vw,46px);margin:9px 0 4px;letter-spacing:5px;color:#f6d496;text-shadow:0 2px 0 #88502c}h1 span{color:#fff2da}.mast p{font-size:14px;margin:4px 0 23px;color:#cbb7cd;letter-spacing:2px}.dashboard{display:flex;justify-content:space-between;gap:8px;background:#110e16;border:1px solid #745c44;padding:12px;border-radius:9px;color:#edd3a1;font-size:14px}.pips{display:flex;gap:7px;margin:10px 3px 13px}.pips i{height:4px;flex:1;background:#675065;border-radius:5px}.pips i.on{background:#f0c572;box-shadow:0 0 10px #f7c36070}.reel-frame{position:relative;background:#c49860;border-radius:13px;padding:5px}.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.reel{height:192px;background:linear-gradient(#acadae,#faf5e9 30%,#fffaf0 68%,#a8aaae);color:#2c1a31;overflow:hidden;border-radius:8px;display:grid;grid-template-rows:1fr 1.4fr 1fr;text-align:center;align-items:center;box-shadow:inset 0 0 15px #2226}.cell{padding:4px;overflow-wrap:anywhere;line-height:1.35;font-weight:600}.cell.side{font-size:14px;opacity:.38;max-height:45px;overflow:hidden}.cell.center{font-size:clamp(18px,3.8vw,25px);font-family:serif;font-weight:900;min-height:68px;display:flex;align-items:center;justify-content:center;border-top:1px solid #ac638764;border-bottom:1px solid #ac638764}.reel.stopped .center{color:#a12b58;background:#fff8e3b0}.payline{pointer-events:none;position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:space-between;color:#ae284e;font-size:14px;margin:0 -12px}.stops{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:19px 8px 0}.stop{border:2px solid #e2bd80;border-radius:50%;aspect-ratio:1;max-width:84px;width:100%;justify-self:center;background:radial-gradient(circle at 35% 20%,#fd8b9c,#b72253 65%,#641430);color:#fff8eb;box-shadow:0 5px 0 #6c1531,0 6px 0 2px #c59b62;font-size:12px;letter-spacing:1px;font-weight:700}.stop span{display:block;font-size:20px;line-height:1.3}.stop:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #6c1531}.stop:disabled{opacity:.5;cursor:default}.instruction{text-align:center;font-size:14px;color:#d8c5dc;margin:21px 0 15px}.start{display:block;width:100%;border:1px solid #fbd89a;background:linear-gradient(#f6d792,#d8a555);border-radius:12px;padding:13px;color:#352038;font-weight:900;font-size:19px;box-shadow:0 4px 0 #765034}.start span{font-size:12px;letter-spacing:2px;margin-left:12px}.start:disabled{opacity:.55;cursor:default}.score{display:flex;justify-content:space-between;gap:8px;margin-top:20px;color:#bb9ec5;font-size:12px}.score b{color:#f1d29a;font-family:monospace;font-size:16px;margin-left:6px}.result{padding:25px 6px 12px;min-height:190px}.label{font-size:12px;letter-spacing:2px;color:#e9b874}h2{font-size:24px;line-height:1.65;font-family:serif;margin:7px 0;color:#fff1d9}.result p{line-height:1.7;font-size:14px;color:#cdb8d6;margin:6px 0}#meaning{color:#f4ca8a}#transition{color:#95e9d0;font-weight:700}.guide{border-top:1px solid #64456c;padding:17px 5px;font-size:14px;line-height:1.8;color:#cebcd6}.guide summary{cursor:pointer;color:#e4d5e9}.guide ul{padding-left:22px}.guide select{background:#30203c;color:#f5e8d4;border:1px solid #9879a7;border-radius:6px;padding:7px;margin-left:10px}.speed{display:flex;align-items:center}footer{font-size:12px;color:#92789e;text-align:center;padding:15px}.machine.special{border-color:#96e6da;background:linear-gradient(140deg,#183f40,#162830 50%,#244149)}.special .dashboard{color:#a8ffdc}.special h1{color:#98efda}.win{animation:glow 1.8s ease-out}.result.win h2{color:#ffe19a}@keyframes glow{0%{box-shadow:0 0 55px #f0c56788}100%{box-shadow:0 0 0 transparent}}@media(max-width:480px){main{padding:14px 12px 24px}header{margin-bottom:14px}.brand{font-size:10px;letter-spacing:1px}.machine{padding:23px 15px 15px;border-radius:24px}.dashboard{font-size:12px;padding:10px 7px}.reel{height:178px}.cell.center{font-size:19px}.cell.side{font-size:13px}.stops{gap:18px;padding:17px 7px 0}.stop{max-width:72px}.instruction{font-size:12px}.score{font-size:11px}.mast p{margin-bottom:17px}h2{font-size:22px}}@media(prefers-reduced-motion:reduce){.win{animation:none}}
/* Moving paper drum behind a fixed central payline. */
.reel{display:block;position:relative;height:224px;background:#f7f0df;isolation:isolate;border:1px solid #6d564b}.belt{position:absolute;top:50%;left:0;right:0;will-change:transform}.belt .cell{position:absolute;height:76px;width:100%;padding:8px 3px;display:flex;align-items:center;justify-content:center;font-family:serif;font-size:clamp(18px,3.6vw,25px);font-weight:900;line-height:1.35;backface-visibility:hidden;border-bottom:1px solid #c6bca755;color:#2c1a31;transform-origin:center}.lens{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#251d20ce 0%,#5a4c423d 18%,transparent 36%,#fff8df22 50%,transparent 66%,#5a4c424d 84%,#251d20ce 100%);box-shadow:inset 5px 0 12px #26192d38,inset -5px 0 12px #26192d38;z-index:2}.lens:after{content:'';position:absolute;top:calc(50% - 38px);height:76px;left:0;right:0;border-top:1px solid #a837596e;border-bottom:1px solid #a837596e;background:#ffe7a612}.reel.stopped .cell.selected{color:#982049}.reel-frame{box-shadow:0 4px 0 #0f0816,0 0 0 2px #876b4c,inset 0 2px 1px #ffe0a1;padding:7px;gap:7px}.reels{gap:7px}.running .reel-frame{box-shadow:0 4px 0 #0f0816,0 0 0 2px #876b4c,0 0 25px #e5b46626}.running .stop:not(:disabled){box-shadow:0 5px 0 #6c1531,0 6px 0 2px #c59b62,0 0 20px #fa477251}.start:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #765034}.payline{font-size:17px;margin:0 -13px}@media(max-width:480px){.reel{height:206px}.belt .cell{font-size:19px}.reels{gap:5px}.reel-frame{padding:5px}}@media(prefers-reduced-motion:reduce){.belt .cell{transform:none!important}}

/* Hidden light source in a deep housing, reflected off opaque ivory drums. */
.mode-detail{font-size:13px;line-height:1.65;margin:9px 2px 5px;color:#d2bdd6;min-height:22px}.reel-frame{padding:15px 11px 13px;background:linear-gradient(180deg,#161016,#30231d 9%,#4c3725 50%,#160e12);border:3px solid #95714a;border-radius:16px;box-shadow:inset 0 7px 9px #000b,inset 0 -5px 8px #0009,0 2px 0 #edca85,0 7px 12px #0008;overflow:hidden;isolation:isolate}.reels{gap:10px;position:relative;z-index:1}.reel{background:linear-gradient(90deg,#b5a995,#eee5d3 16%,#f0e9da 65%,#cfc0a7);border:1px solid #302319;box-shadow:inset 6px 0 12px #37282155,inset -6px 0 12px #37282155;border-radius:7px}.lens{background:linear-gradient(to bottom,#191213df 0%,#3b291f77 17%,transparent 38%,transparent 62%,#3b291f66 83%,#191213df 100%);box-shadow:inset 4px 0 10px #25170e66,inset -4px 0 10px #25170e66}.payline{z-index:5;margin:0 -1px}.reel-frame:before{content:'';position:absolute;left:7px;right:7px;top:1px;height:8px;border-radius:50%;background:#fff0bd;box-shadow:0 0 11px 5px #ffd774,0 10px 24px 13px #f2b254aa;opacity:0;z-index:4;pointer-events:none}.reel-frame:after{content:'';position:absolute;inset:0;border-radius:12px;pointer-events:none;z-index:3;opacity:0;background:radial-gradient(ellipse at 50% 0%,#fff5c858 0%,#ffce7235 23%,transparent 55%),linear-gradient(90deg,#ffb74238,transparent 10%,transparent 90%,#ffb74238);box-shadow:inset 0 11px 18px #ffd17780,inset 9px 0 18px #eab75d50,inset -9px 0 18px #eab75d50}.machine.win{animation:none}.machine.win .reel-frame:before{opacity:.82;animation:housing-source 1.05s ease-in-out 4}.machine.win .reel-frame:after{opacity:.9;animation:housing-reflection 1.05s ease-in-out 4}.machine.win .reel-frame{border-color:#e5bf78;box-shadow:inset 0 7px 9px #000b,inset 0 -5px 8px #0009,0 2px 0 #ffe2a6,0 7px 12px #0008}.machine.special.win .reel-frame:before{background:#fff9df;box-shadow:0 0 12px 6px #ffe1a2,0 10px 26px 15px #f8cf8caa}.machine.special.win .reel-frame:after{background:radial-gradient(ellipse at 50% 0%,#ffebc16b 0%,#f8cf8c3a 28%,transparent 60%),linear-gradient(90deg,#eebc6350,transparent 12%,transparent 88%,#eebc6350)}@keyframes housing-source{0%,100%{opacity:.7}45%{opacity:1}75%{opacity:.5}}@keyframes housing-reflection{0%,100%{opacity:.7}45%{opacity:1}75%{opacity:.45}}
/* Heavy gold keycaps: tall barrel, deep key travel, restrained spring return. */
.stops{padding-top:25px;padding-bottom:10px}.stop{position:relative;isolation:isolate;border:1px solid #ffe0a0;background:conic-gradient(from 20deg,#7a4617,#f7db8b 13%,#a56c28 26%,#fff1b0 39%,#af762d 52%,#e8c36a 68%,#85501b 81%,#f6d78b 92%,#7a4617);box-shadow:0 2px 0 #9e6b2b,0 5px 0 #946023,0 8px 0 #6a3f17,0 10px 0 #44280e,0 11px 0 3px #120d15,0 14px 15px #000b,inset 0 1px 2px #fff3b9;transform:translateY(0);transition:transform 85ms cubic-bezier(.2,.8,.2,1),box-shadow 85ms;opacity:1;outline-offset:7px}.stop:before{content:'';position:absolute;inset:6px;border-radius:50%;border:1px solid #986221;background:repeating-linear-gradient(112deg,#fff3b00a 0px,#fff3b00a 1px,#593a1608 1px,#593a1608 2px),radial-gradient(ellipse at 38% 24%,#ffeab0,#eac875 35%,#c79742 67%,#eed08b);box-shadow:inset 0 2px 4px #fff5c3,inset 0 -3px 6px #77501b90,0 0 0 1px #fff2b3b0;pointer-events:none}.stop:after{content:'';position:absolute;inset:11px;border-radius:50%;border-top:1px solid #fff7d7a0;border-bottom:1px solid #79532260;pointer-events:none}.stop:disabled{opacity:1;cursor:default}.stop:disabled:before{filter:brightness(.92)}.running .stop:not(:disabled){box-shadow:0 2px 0 #9e6b2b,0 5px 0 #946023,0 8px 0 #6a3f17,0 10px 0 #44280e,0 11px 0 3px #120d15,0 14px 15px #000b,inset 0 1px 2px #fff3b9}.stop.pressed,.stop:active:not(:disabled){transform:translateY(9px) scale(.99);box-shadow:0 1px 0 #6a3f17,0 2px 0 #44280e,0 3px 0 3px #120d15,0 4px 7px #000a,inset 0 1px 2px #fff3b9}.stop.pressed:before{filter:brightness(.94);box-shadow:inset 0 2px 6px #79501845,inset 0 -1px 3px #fff1aca0}.stop.releasing{animation:key-return 210ms ease-out}@keyframes key-return{0%{transform:translateY(9px)}65%{transform:translateY(-.7px)}100%{transform:translateY(0)}}@media(max-width:480px){.reel-frame{padding:13px 7px 11px}.reels{gap:7px}.mode-detail{font-size:12px}}@media(prefers-reduced-motion:reduce){.machine.win .reel-frame:before,.machine.win .reel-frame:after,.stop.releasing{animation:none}.stop{transition:none}}

/* Title lettering only; the moving words retain their existing readable face. */
@font-face{font-family:'Slot Title Mincho';src:url('fonts/slot-title-mincho.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}.mast h1{font-family:'Slot Title Mincho','Yu Mincho',serif;font-weight:800;font-size:clamp(32px,6.8vw,49px);letter-spacing:1px;line-height:1.5;display:flex;justify-content:center;align-items:baseline;gap:3px;white-space:nowrap;margin:5px 0 2px}.mast h1 .title-venom{display:inline-block;font-size:1.15em;color:#dc4859;-webkit-text-stroke:.4px #eab77c;text-shadow:1px 2px 0 #491723,2px 4px 0 #100817,0 0 16px #cc3c4930;transform:skew(-5deg) rotate(-2deg);letter-spacing:-2px;margin-right:4px}.mast h1 .title-slot{color:#f4d492;text-shadow:1px 2px 0 #5b3420,2px 4px 0 #100817;-webkit-text-stroke:.2px #fce3b2}

.mode-detail:empty{display:none}.instruction:empty{margin:0;height:18px}.start{letter-spacing:2px}

@font-face{font-family:'Slot Mode Mincho';src:url('fonts/slot-mode-mincho.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}.mast{margin-bottom:20px}.dashboard{align-items:center;min-height:83px;padding:12px 15px;background:linear-gradient(115deg,#100d12,#1c1620 50%,#100d12);border:1px solid #957344;border-radius:10px;box-shadow:inset 0 2px 5px #0009,inset 0 -1px 0 #d9b97625,0 1px 0 #d9b9763d}.mode-indicators{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.mode-lamp{font-family:'Slot Mode Mincho','Yu Mincho',serif;font-size:18px;font-weight:800;line-height:1.5;letter-spacing:1px;color:rgba(204,181,137,.58);text-shadow:0 1px 1px #000;-webkit-text-stroke:.15px #b4996a40;transition:color .4s ease,text-shadow .4s ease;white-space:nowrap}.mode-lamp.active{color:#fff0c4;-webkit-text-stroke:.15px #fff6d8;text-shadow:0 0 3px #fff7d0,0 0 9px #efc878aa,0 0 20px #e7b45070,0 1px 1px #7a4d25}.dashboard #meter{font-size:14px;color:#d6bc86;white-space:nowrap;text-align:right}.special .dashboard{border-color:#957344}@media(max-width:480px){.dashboard{padding:11px 10px}.mode-lamp{font-size:16px;letter-spacing:.65px}.dashboard #meter{font-size:12px}.mast{margin-bottom:17px}}@media(prefers-reduced-motion:reduce){.mode-lamp{transition:none}}

.machine .sound-toggle{position:absolute;top:15px;right:17px;z-index:8;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid #bd965957;border-radius:50%;color:#cbb184;background:linear-gradient(145deg,#241a2c,#17101e);box-shadow:inset 0 1px 1px #edd09c17,0 2px 5px #08061066;touch-action:manipulation}.sound-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.sound-toggle[aria-pressed="false"] .sound-on,.sound-toggle[aria-pressed="true"] .sound-muted{display:none}.sound-toggle[aria-pressed="true"]{color:#ffe9b3;border-color:#d7b274a0;box-shadow:inset 0 1px 1px #edd09c33,0 0 12px #d7ae5122}.sound-toggle:active{transform:translateY(2px)}.mast{padding-top:20px}.mode-lamp{font-family:serif;font-weight:900}@media(max-width:480px){.machine .sound-toggle{top:13px;right:14px}.mast{padding-top:23px}}

/* Compact unframed controls and three recessed red progress lamps. */
.mast{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;margin-bottom:12px;padding-top:0}.mast h1{grid-column:2;grid-row:1;margin:4px 0;font-size:clamp(32px,6.8vw,49px)}.machine .mast .sound-toggle{grid-column:3;grid-row:1;position:static;width:40px;height:44px;margin-left:-4px;padding:10px;border:0;border-radius:0;background:none;box-shadow:none;color:#ceb98e}.machine .mast .sound-toggle[aria-pressed="true"]{border:0;box-shadow:none;color:#fff0c6}.sound-toggle svg{width:18px;height:18px;flex-shrink:0}.dashboard,.special .dashboard{display:block;min-height:0;padding:0;margin:0 0 12px;background:none;border:0;border-radius:0;box-shadow:none}.mode-indicators{flex-direction:row;justify-content:center;align-items:center;gap:20px}.mode-lamp{font-size:14px;line-height:1.6;letter-spacing:.6px}.dashboard #meter{display:block;margin-top:4px;text-align:center;font-size:12px}.dashboard #meter:empty{display:none}.pips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:10px;margin:0 0 13px;padding:0 14px}.pips i{display:block;justify-self:center;flex:none;width:8px;height:8px;box-sizing:border-box;border:1px solid #5c2527;border-radius:50%;background:radial-gradient(circle at 35% 26%,#9f655b 0%,#571f23 27%,#340c14 65%,#19080c 100%);box-shadow:0 1px 2px #080309,inset 0 -1px 2px #0009,0 0 0 1px #130911;transition:background .2s,box-shadow .2s}.pips i.on{border-color:#db675b;background:radial-gradient(circle at 35% 26%,#ffe0bb 0%,#ff7966 20%,#f32835 50%,#a00b23 82%,#620e1d);box-shadow:0 0 4px 1px #ff394ab3,0 0 10px 2px #f21f4b55,inset 0 -1px 2px #8e001955,0 0 0 1px #4f1522}@media(max-width:480px){.mast{padding-top:0;margin-bottom:10px}.mode-indicators{gap:18px}.mode-lamp{font-size:14px;letter-spacing:.3px}.dashboard{padding:0}.pips{gap:7px;padding:0 10px}}@media(max-width:359px){.mast h1{font-size:28px}.mode-indicators{gap:14px}}@media(prefers-reduced-motion:reduce){.pips i{transition:none}}

/* Five lamps count down the bonus; the normal three still track wins. */
.pips.bonus{grid-template-columns:repeat(5,minmax(0,1fr))}
/* A compact console leaves the result and a future banner below the cabinet. */
.control-deck{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,180px) minmax(0,1fr);align-items:center;gap:12px;margin-top:12px}
.control-deck .start{padding:9px 12px;min-height:44px;font-size:18px;border-radius:10px}
.score-count{display:flex;align-items:baseline;justify-content:center;gap:6px;color:#bb9ec5;font-size:12px;white-space:nowrap}
.score-count b{color:#f1d29a;font-family:monospace;font-size:16px}
.result{padding:16px 6px 8px;min-height:0}
.result .label{font-size:11px;letter-spacing:.6px;line-height:1.4}
.result h2{font-size:22px;line-height:1.4;margin:5px 0}
.result p{margin:4px 0;line-height:1.5}
.result p:empty{display:none}
.ad-space{min-height:60px;width:100%;margin:8px auto 0}
footer{display:flex;flex-direction:column;align-items:center;gap:8px}
@media(max-width:480px){
 main{padding:8px 12px max(14px,env(safe-area-inset-bottom))}
 .machine{padding:10px 14px 14px}
 .mast{margin-bottom:4px;grid-template-columns:28px minmax(0,1fr) 28px}
 .mast h1{font-size:30px;line-height:1.25;margin:2px 0}
 .machine .mast .sound-toggle{margin-left:-8px}
 .dashboard{margin-bottom:7px}
 .mode-lamp{line-height:1.45}
 .pips{margin-bottom:9px}
 .reel-frame{padding:9px 7px}
 .reel{height:clamp(154px,23svh,176px)}
 .stops{padding:14px 7px 20px}
 .stop{max-width:60px}
 .control-deck{grid-template-columns:minmax(0,1fr) minmax(110px,144px) minmax(0,1fr);gap:8px;margin-top:4px}
 .control-deck .start{padding:7px 10px;font-size:17px;min-height:40px}
 .score-count{font-size:11px;gap:4px}
 .score-count b{font-size:15px}
 .result{padding:10px 5px 0}
 .result h2{font-size:19px;line-height:1.35;margin:3px 0}
 .result p{font-size:14px;line-height:1.45;margin:3px 0}
 .result #transition{font-size:12px}
 .ad-space{min-height:50px;margin-top:8px}
}
@media(max-width:359px){.mast h1{font-size:27px}.mode-indicators{gap:12px}.mode-lamp{font-size:13px}.score-count{flex-direction:column;align-items:center;gap:0}}
@media(max-width:480px) and (max-height:700px){
 .machine{padding-top:7px;padding-bottom:11px}
 .mast{margin-bottom:1px}
 .mast h1{font-size:28px}
 .dashboard{margin-bottom:5px}
 .pips{margin-bottom:7px}
 .reel{height:148px}
 .stops{padding-top:11px;padding-bottom:18px}
 .stop{max-width:56px}
 .result{padding-top:8px}
}

/* Reuse the original mercury wordmark from the mincurium home. */
footer .brand{display:flex;align-items:center;justify-content:center;gap:12px;color:#c2a8cc}
.brand-logo{position:relative;display:block;width:150px;height:36px;overflow:hidden;flex-shrink:0}
.brand-logo img{position:absolute;left:0;top:50%;width:100%;height:auto;max-width:none;transform:translateY(-47.2%)}
.brand-caption{font-size:10px;letter-spacing:1.5px;white-space:nowrap}

.brand-logo:focus-visible{outline:3px solid #89f7e0;outline-offset:4px;border-radius:4px}
