:root{--bg:#0a0612;--bg2:#150a22;--panel:#1c0f2e;--panel-edge:#36204f;--ink:#f4ecff;--dim:#a892c7;--pink:#ff2e88;--pink-glow:#ff5fa8;--cyan:#28e6ff;--gold:#ffd400;--green:#36c98d;--chrome-1:#fff;--chrome-2:#b9c4d6;--chrome-3:#6b7790;--frame:#2a1840}*{box-sizing:border-box;margin:0;padding:0}body,html{background:radial-gradient(1200px 700px at 50% -10%,#2a1140 0,transparent 60%),radial-gradient(900px 600px at 100% 110%,#10243a 0,transparent 55%),var(--bg);color:var(--ink);font-family:Bai Jamjuree,system-ui,sans-serif;min-height:100%;overflow-x:hidden}.crt{position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,.16) 3px,rgba(0,0,0,0) 4px),radial-gradient(120% 120% at 50% 50%,transparent 60%,rgba(0,0,0,.55) 100%);mix-blend-mode:multiply}.wrap{max-width:1080px;margin:0 auto;padding:28px 20px 80px}.topbar{justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px}.brand .torii{font-size:34px;filter:drop-shadow(0 0 10px var(--pink))}.brand h1{font-family:Press Start\ 2P,monospace;font-size:18px;line-height:1.3;letter-spacing:.02em;color:#fff;text-shadow:0 0 8px var(--pink),0 0 22px rgba(255,46,136,.6)}.brand h1 .yen{color:var(--gold);text-shadow:0 0 10px var(--gold)}.brand .sub{font-size:12px;color:var(--dim);letter-spacing:.08em;margin-top:4px}.marquee{margin:0 0 24px;border:1px solid var(--panel-edge);border-radius:10px;background:linear-gradient(180deg,#1a0d2c,#120820);overflow:hidden;box-shadow:inset 0 0 30px rgba(255,46,136,.12)}.marquee-track{display:inline-flex;white-space:nowrap;gap:48px;padding:9px 0;font-family:DotGothic16,monospace;font-size:14px;color:var(--cyan);text-shadow:0 0 8px rgba(40,230,255,.6);animation:scroll 22s linear infinite}.marquee-track span b{color:var(--gold);text-shadow:0 0 8px var(--gold)}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.stage{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:22px;gap:22px;align-items:start}@media (max-width:860px){.stage{grid-template-columns:1fr}}.panel{position:relative;background:linear-gradient(180deg,var(--panel),#160a26);border:1px solid var(--panel-edge);border-radius:14px;padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05)}.panel+.panel{margin-top:18px}.panel h2{font-family:DotGothic16,monospace;font-size:16px;letter-spacing:.06em;color:var(--ink);margin-bottom:4px;display:flex;align-items:center;gap:8px}.panel h2 .chip{font-family:Press Start\ 2P,monospace;font-size:8px;padding:4px 7px;border-radius:4px;background:var(--pink);color:#1a0010;letter-spacing:0}.panel .hint{font-size:12px;color:var(--dim);margin-bottom:14px;line-height:1.5}.cabinet{position:relative;background:linear-gradient(180deg,#241433,#120720);border:1px solid var(--panel-edge);border-radius:16px;padding:14px;box-shadow:0 22px 50px rgba(0,0,0,.55),inset 0 0 40px rgba(40,230,255,.05)}.cabinet-glass{position:relative;border-radius:10px;overflow:hidden;border:2px solid #2c1a44;box-shadow:inset 0 0 0 2px rgba(0,0,0,.6);aspect-ratio:3/4;background:radial-gradient(140% 100% at 50% 0,#1a1030,#0a0414)}.cabinet-glass canvas{display:block;width:100%;height:100%}.readout{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:10px 12px;border-radius:8px;background:#0c0618;border:1px solid var(--panel-edge);font-family:DotGothic16,monospace}.readout .label{font-size:12px;color:var(--dim)}.readout .val{font-family:Press Start\ 2P,monospace;font-size:16px;color:var(--gold);text-shadow:0 0 10px var(--gold)}.btn{font-family:DotGothic16,monospace;font-size:15px;letter-spacing:.04em;border:none;border-radius:9px;padding:13px 18px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#3a2356,#271640);border:1px solid var(--panel-edge);transition:transform 60ms ease,box-shadow .12s ease,filter .12s ease}.btn:hover{filter:brightness(1.12)}.btn:active{transform:translateY(2px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.big{width:100%;padding:16px;font-size:17px}.btn.drop{background:linear-gradient(180deg,var(--pink),#c61168);border-color:#ff7ab5;box-shadow:0 0 0 1px rgba(255,122,181,.3),0 10px 24px rgba(255,46,136,.35);text-shadow:0 1px 0 rgba(0,0,0,.3)}.btn.gold{background:linear-gradient(180deg,#ffe24d,#f0b400);color:#2a1600;border-color:#fff0a0;box-shadow:0 10px 24px rgba(255,212,0,.3)}.btn.ghost{background:transparent}.field{margin-bottom:12px}.field label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}.row{display:flex;gap:10px}input[type=number],select{width:100%;background:#0c0618;border:1px solid var(--panel-edge);border-radius:8px;color:var(--ink);font-family:Bai Jamjuree,sans-serif;font-size:16px;padding:12px 13px}input[type=number]:focus,select:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,46,136,.18)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.chips button{font-family:DotGothic16,monospace;font-size:13px;padding:7px 12px;border-radius:999px;background:#0c0618;border:1px solid var(--panel-edge);color:var(--cyan);cursor:pointer}.chips button:hover{border-color:var(--cyan)}.stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.stat{background:#0c0618;border:1px solid var(--panel-edge);border-radius:9px;padding:12px}.stat .k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.stat .v{font-family:Press Start\ 2P,monospace;font-size:15px;margin-top:7px}.stat .v.balls{color:var(--cyan)}.stat .v.credit{color:var(--gold)}.stat .v.deposit{color:var(--green)}.stat .v.yield{color:var(--pink-glow)}.status{margin-top:12px;padding:11px 13px;border-radius:8px;font-size:13px;line-height:1.5;border:1px solid}.status.ok{background:rgba(54,201,141,.1);border-color:rgba(54,201,141,.4);color:#9af0c8}.status.err{background:rgba(255,46,136,.1);border-color:rgba(255,46,136,.4);color:#ffb0d0}.status.warn{background:rgba(255,212,0,.08);border-color:rgba(255,212,0,.35);color:#ffe488}.demo-tag{display:inline-block;font-family:Press Start\ 2P,monospace;font-size:8px;padding:4px 7px;border-radius:4px;background:var(--gold);color:#2a1600;letter-spacing:0;margin-left:6px;vertical-align:middle}.footer{margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--panel-edge);padding-top:18px}.footer .note{font-size:12px;color:var(--dim);max-width:560px;line-height:1.6}.sodax-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:9px;background:#0c0618;border:1px solid var(--panel-edge);text-decoration:none;transition:box-shadow .14s ease,transform 80ms ease}.sodax-badge:hover{box-shadow:0 0 0 1px var(--pink),0 8px 22px rgba(255,46,136,.3);transform:translateY(-1px)}.sodax-badge .by{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);display:block}.sodax-badge .name{font-family:Press Start\ 2P,monospace;font-size:14px;color:#fff;text-shadow:0 0 8px var(--cyan)}.sodax-badge svg{width:26px;height:26px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:linear-gradient(180deg,rgba(10,6,18,.92),rgba(10,6,18,.55));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--panel-edge)}.nav .brand h1{font-size:14px}.nav .brand .torii{font-size:24px}.hero{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 20px 80px;overflow:hidden}.hero-bg{z-index:0;background-size:cover;background-position:50%;background-image:radial-gradient(120% 90% at 50% 0,#2a1140 0,#0a0612 60%)}.hero-bg,.hero-scrim{position:absolute;inset:0}.hero-scrim{z-index:1;background:radial-gradient(90% 70% at 50% 45%,transparent 0,rgba(10,6,18,.65) 70%,rgba(10,6,18,.95) 100%),linear-gradient(180deg,rgba(10,6,18,.45),rgba(10,6,18,.2) 40%,rgba(10,6,18,.95))}.hero-inner{position:relative;z-index:3;max-width:760px}.hero .torii-mark{width:84px;height:84px;margin:0 auto 22px;filter:drop-shadow(0 0 18px var(--pink))}.hero h2{font-family:Press Start\ 2P,monospace;font-size:clamp(30px,7vw,64px);line-height:1.06;letter-spacing:-.01em;color:#fff;text-wrap:balance;text-shadow:0 0 14px rgba(255,46,136,.7),0 0 40px rgba(255,46,136,.4)}.hero h2 .ylw{color:var(--gold);text-shadow:0 0 16px var(--gold)}.hero .lede{margin:22px auto 0;max-width:560px;font-size:18px;line-height:1.6;color:#d9ccef}.hero .lede strong{color:#fff}.hero-cta{margin-top:30px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.story{position:relative;z-index:3;min-height:78vh;display:flex;align-items:center;padding:80px 20px}.story-inner{max-width:680px;margin:0 auto}.story.right .story-inner{margin-right:8vw;margin-left:auto;text-align:right}.story.left .story-inner{margin-left:8vw;margin-right:auto}.story .kicker{font-family:DotGothic16,monospace;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}.story h3{font-family:Press Start\ 2P,monospace;font-size:clamp(22px,4vw,38px);line-height:1.2;margin:14px 0 18px;color:#fff;text-wrap:balance}.story p{font-size:18px;line-height:1.7;color:#cbbce6}.story p strong{color:#fff}.story .big-num{font-family:Press Start\ 2P,monospace;font-size:clamp(40px,9vw,92px);line-height:1;margin-bottom:18px;color:var(--gold);text-shadow:0 0 24px rgba(255,212,0,.4)}@media (max-width:720px){.story.left .story-inner,.story.right .story-inner{margin:0 auto;text-align:left}}.play{position:relative;z-index:3;padding:70px 20px 60px}.play-head{text-align:center;max-width:620px;margin:0 auto 34px}.play-head h3{font-family:Press Start\ 2P,monospace;font-size:clamp(22px,4vw,36px);color:#fff;text-shadow:0 0 16px rgba(40,230,255,.5)}.play-head p{margin-top:14px;font-size:16px;color:#cbbce6;line-height:1.6}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.reveal{animation:revealIn linear forwards;animation-timeline:view();animation-range:entry 0 entry 50%}}}@keyframes revealIn{0%{transform:translateY(30px);filter:blur(5px)}to{transform:translateY(0);filter:blur(0)}}@keyframes pop{0%{transform:scale(.6);opacity:0}40%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.flash{animation:pop .28s ease}