<html style="max-height: 100%;"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><style id="basic-style"></style><style id="root-style">:root{--pic-image-data:none;}</style><script src="https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap" class="manual-link"></script><style id="vsc-protection">body { pointer-events: auto !important; opacity: 1 !important; }.vsc-controller { display: none !important; }</style><script src="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap" class="manual-link"></script><style id="out-style">:root {
--pixel-size: 3px;
--bg-color: #5c94fc;
--ground-height: 48px;
--block-size: 24px;
--question-block-size: calc(var(--pixel-size) * 16);
--question-block-bottom: 95px;
--gw-face-gradient-start: #e8e8e8;
--gw-face-gradient-end: #bfbfbf;
--gw-accent-border: #b0192b;
}
body {
background-color: #222;
margin: 0;
overflow: hidden;
font-family: 'Press Start 2P', cursive;
user-select: none;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
/* Game & Watch 本体 */
.gamewatch {
width: 800px;
height: 480px;
background: linear-gradient(135deg, var(--gw-face-gradient-start) 0%, var(--gw-face-gradient-end) 100%);
border-radius: 40px;
border: 10px solid var(--gw-accent-border);
box-shadow:
inset 3px 3px 6px rgba(255,255,255,0.4),
inset -3px -3px 6px rgba(0,0,0,0.3),
0 20px 50px rgba(0,0,0,0.6);
position: relative;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 30px 50px;
box-sizing: border-box;
}
/* 左サイド (十字キー) */
.left-side {
width: 120px;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
position: relative;
z-index: 10;
padding-bottom: 40px;
}
.d-pad {
--dpad-size: 110px;
--dpad-thickness: 36px;
--dpad-arm: calc((var(--dpad-size) - var(--dpad-thickness)) / 2);
width: var(--dpad-size);
height: var(--dpad-size);
position: relative;
}
.dpad-part {
background-color: #222;
position: absolute;
box-sizing: border-box;
border-style: solid;
border-color: var(--gw-accent-border);
border-width: 0;
}
.dpad-shadow {
box-shadow: 3px 3px 5px rgba(0,0,0,0.4), inset 1px 1px 2px rgba(255,255,255,0.1);
}
.dpad-up {
width: var(--dpad-thickness);
height: var(--dpad-arm);
left: var(--dpad-arm);
top: 0;
border-top-width: 3px;
border-left-width: 3px;
border-right-width: 3px;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
.dpad-down {
width: var(--dpad-thickness);
height: var(--dpad-arm);
left: var(--dpad-arm);
bottom: 0;
border-bottom-width: 3px;
border-left-width: 3px;
border-right-width: 3px;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
}
.dpad-left {
width: var(--dpad-arm);
height: var(--dpad-thickness);
left: 3px;
top: var(--dpad-arm);
border-left-width: 3px;
border-top-width: 3px;
border-bottom-width: 3px;
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
.dpad-right {
width: var(--dpad-arm);
height: var(--dpad-thickness);
right: 3px;
top: var(--dpad-arm);
border-right-width: 3px;
border-top-width: 3px;
border-bottom-width: 3px;
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
}
.dpad-center {
width: var(--dpad-thickness);
height: var(--dpad-thickness);
left: var(--dpad-arm);
top: var(--dpad-arm);
background-color: #222;
box-shadow: none;
border-width: 0;
z-index: -1;
}
/* 中央エリア (画面・ロゴ) */
.center-area {
flex-grow: 1;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
margin: 0 30px;
position: relative;
}
.screen-container {
width: 100%;
flex-grow: 1;
background-color: #2a2a2a;
border-radius: 15px;
padding: 25px;
box-shadow:
inset 3px 3px 8px rgba(0,0,0,0.5),
0 3px 8px rgba(255,255,255,0.2);
position: relative;
z-index: 10;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 0;
}
.screen-display {
width: 100%;
height: 100%;
background-color: var(--bg-color);
box-shadow: inset 4px 4px 15px rgba(0,0,0,0.6);
position: relative;
overflow: hidden;
border-radius: 4px;
}
.gw-logo-plate {
position: absolute;
top: 30px;
left: 50px;
width: 110px;
height: 110px;
background: #fff;
border: 2px solid #333;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
box-shadow: none;
z-index: 20;
}
.gw-text {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 1.3;
text-align: center;
color: #000;
font-weight: normal;
font-style: italic;
}
/* 右サイド (ボタン) */
.right-side {
width: 120px;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
position: relative;
z-index: 10;
padding-top: 0px;
padding-bottom: 10px;
}
.mode-buttons {
display: flex;
flex-direction: column;
gap: 5px;
align-items: center;
}
.mode-btn-group {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
}
.mode-btn {
width: 56px;
height: 28px;
background: linear-gradient(135deg, #f6f6f6 0%, #d7d7d7 100%);
border-radius: 14px;
box-shadow: 2px 3px 5px rgba(0,0,0,0.35), inset 1px 1px 2px rgba(255,255,255,0.75);
cursor: pointer;
border: 3px solid var(--gw-accent-border);
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.mode-label {
font-family: sans-serif;
font-size: 9px;
color: #2a2a2a;
font-weight: bold;
white-space: nowrap;
text-transform: uppercase;
}
.action-btn-container {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
margin-top: auto;
margin-bottom: 0;
}
.action-btn {
width: 90px;
height: 90px;
background-color: #b92e2e;
border-radius: 50%;
border: 6px solid var(--gw-accent-border);
box-shadow: 4px 4px 8px rgba(0,0,0,0.4), inset 3px 3px 6px rgba(255,255,255,0.2);
cursor: pointer;
}
.action-btn:active {
box-shadow: 2px 2px 4px rgba(0,0,0,0.4), inset 2px 2px 5px rgba(0,0,0,0.2);
transform: translateY(3px);
}
.action-label {
font-family: sans-serif;
font-size: 16px;
font-weight: bold;
color: #4a3b2a;
}
/* マリオアニメーション */
.scene {
position: absolute;
bottom: var(--ground-height);
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: flex-end;
pointer-events: none;
}
.mario {
width: var(--pixel-size);
height: var(--pixel-size);
background-color: transparent;
position: absolute;
bottom: calc(var(--pixel-size) * -1);
left: 58%;
margin-left: calc(var(--pixel-size) * -6);
z-index: 10;
transform: scaleX(-1);
--mario-sprite-run:
/* 帽子 (赤) */
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 8) calc(var(--pixel-size) * -10) 0 0 #d9001b,
/* 顔 (肌色) */
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -9) 0 0 #fca044,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -9) 0 0 #fca044,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -9) 0 0 #fca044,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -8) 0 0 #fca044,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -8) 0 0 #fca044,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -8) 0 0 #fca044,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -7) 0 0 #fca044,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -7) 0 0 #fca044,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -7) 0 0 #fca044,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -7) 0 0 #fca044,
/* 髭/目/髪 */
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -9) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -8) 0 0 #462203,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -7) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -7) 0 0 #462203,
/* 胴体 (赤) */
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -6) 0 0 #d9001b,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -6) 0 0 #d9001b,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -6) 0 0 #d9001b,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -5) 0 0 #d9001b,
/* オーバーオール (青) */
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -3) 0 0 #1f40bf,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -3) 0 0 #1f40bf,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -3) 0 0 #1f40bf,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -3) 0 0 #1f40bf,
/* 手 (肌色) */
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * -5) 0 0 #fca044,
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * -4) 0 0 #fca044,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -5) 0 0 #fca044,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -4) 0 0 #fca044,
/* 足 (茶) */
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * -1) 0 0 #462203,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -1) 0 0 #462203,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -1) 0 0 #462203,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -1) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -1) 0 0 #462203;
--mario-sprite-jump:
/* ジャンプ時は手の位置が変わる */
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -11) 0 0 #d9001b,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 8) calc(var(--pixel-size) * -10) 0 0 #d9001b,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -9) 0 0 #fca044,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -9) 0 0 #fca044,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -9) 0 0 #fca044,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -8) 0 0 #fca044,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -8) 0 0 #fca044,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -8) 0 0 #fca044,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -7) 0 0 #fca044,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -7) 0 0 #fca044,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -7) 0 0 #fca044,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -7) 0 0 #fca044,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -9) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -8) 0 0 #462203,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -7) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -7) 0 0 #462203,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -6) 0 0 #d9001b,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -6) 0 0 #d9001b,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -6) 0 0 #d9001b,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -5) 0 0 #d9001b,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 4) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -4) 0 0 #1f40bf,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -3) 0 0 #1f40bf,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -3) 0 0 #1f40bf,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * -3) 0 0 #1f40bf,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -3) 0 0 #1f40bf,
/* 手の位置変更 */
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * -8) 0 0 #fca044,
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * -7) 0 0 #fca044,
calc(var(--pixel-size) * 8) calc(var(--pixel-size) * -6) 0 0 #fca044,
calc(var(--pixel-size) * 8) calc(var(--pixel-size) * -5) 0 0 #fca044,
/* 足 */
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -2) 0 0 #462203,
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * -1) 0 0 #462203,
calc(var(--pixel-size) * 2) calc(var(--pixel-size) * -1) 0 0 #462203,
calc(var(--pixel-size) * 3) calc(var(--pixel-size) * -1) 0 0 #462203,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * -1) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * -1) 0 0 #462203;
box-shadow: var(--mario-sprite-run);
transform-origin: center bottom;
}
.mario.jump {
animation: marioJump 1.2s cubic-bezier(0.35, 0, 0.45, 1) infinite;
}
@keyframes marioJump {
0% { transform: translateY(0) scaleX(-1); box-shadow: var(--mario-sprite-run); }
45% { transform: translateY(-60px) scaleX(-1); box-shadow: var(--mario-sprite-jump); }
55% { transform: translateY(-60px) scaleX(-1); box-shadow: var(--mario-sprite-jump); }
100% { transform: translateY(0) scaleX(-1); box-shadow: var(--mario-sprite-run); }
}
.block {
width: var(--question-block-size);
height: var(--question-block-size);
background-color: #fca044;
position: absolute;
bottom: var(--question-block-bottom);
left: 50%;
transform: translateX(-50%);
z-index: 5;
box-shadow: inset -2px -2px 0px rgba(0,0,0,0.3), 2px 2px 0px rgba(0,0,0,0.5);
}
.block::after {
content: '';
position: absolute;
width: var(--pixel-size);
height: var(--pixel-size);
top: 0;
left: 0;
background: transparent;
box-shadow:
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * 1) 0 0 #462203,
calc(var(--pixel-size) * 14) calc(var(--pixel-size) * 1) 0 0 #462203,
calc(var(--pixel-size) * 1) calc(var(--pixel-size) * 14) 0 0 #462203,
calc(var(--pixel-size) * 14) calc(var(--pixel-size) * 14) 0 0 #462203,
calc(var(--pixel-size) * 6) calc(var(--pixel-size) * 3) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * 3) 0 0 #462203,
calc(var(--pixel-size) * 8) calc(var(--pixel-size) * 3) 0 0 #462203,
calc(var(--pixel-size) * 9) calc(var(--pixel-size) * 3) 0 0 #462203,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * 4) 0 0 #462203,
calc(var(--pixel-size) * 10) calc(var(--pixel-size) * 4) 0 0 #462203,
calc(var(--pixel-size) * 5) calc(var(--pixel-size) * 5) 0 0 #462203,
calc(var(--pixel-size) * 10) calc(var(--pixel-size) * 5) 0 0 #462203,
calc(var(--pixel-size) * 9) calc(var(--pixel-size) * 6) 0 0 #462203,
calc(var(--pixel-size) * 8) calc(var(--pixel-size) * 7) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * 8) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * 9) 0 0 #462203,
calc(var(--pixel-size) * 7) calc(var(--pixel-size) * 12) 0 0 #462203;
}
.block.hit {
animation: blockBump 0.2s ease-out;
}
@keyframes blockBump {
0% { transform: translate(-50%, 0); }
50% { transform: translate(-50%, -5px); }
100% { transform: translate(-50%, 0); }
}
.loading-popup {
position: absolute;
bottom: calc(var(--question-block-bottom) + var(--question-block-size));
left: 50%;
transform: translateX(-50%);
color: #fff;
font-size: 16px;
white-space: nowrap;
text-shadow: 1px 1px 0px #000;
z-index: 4;
opacity: 0;
pointer-events: none;
background: transparent;
border: 0;
border-radius: 0;
padding: 0;
}
.loading-popup.active {
animation: textUp 0.8s ease-out forwards;
}
@keyframes textUp {
0% {
transform: translate(-50%, 18px) scale(0.65);
opacity: 1;
z-index: 4;
}
30% {
transform: translate(-50%, -10px) scale(1.1);
z-index: 10;
}
100% {
transform: translate(-50%, -55px) scale(1);
opacity: 0;
z-index: 10;
}
}
.ground {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: var(--ground-height);
background-color: #c84c0c;
background-image:
linear-gradient(to right, #5c2c06 1px, transparent 1px),
linear-gradient(to bottom, #5c2c06 1px, transparent 1px),
linear-gradient(135deg, #ffccaa 25%, transparent 25%),
linear-gradient(-45deg, #7a3005 25%, transparent 25%);
background-size: var(--block-size) var(--block-size);
background-position: 0 0;
border-top: 1px solid #000;
box-shadow: inset 0 2px 0 rgba(0,0,0,0.1);
z-index: 20;
}</style><style id="pic-style">html { max-height: 100%; }</style></head><body id="svg-section" style="width: 900px; height: 507px; transform-origin: left top; transform: scale(1); overflow: auto; margin: 0; padding: 0;"><div class="gamewatch">
<!-- 左サイド (十字キー) -->
<div class="left-side">
<div class="d-pad">
<div class="dpad-part dpad-right dpad-shadow"></div>
<div class="dpad-part dpad-down dpad-shadow"></div>
<div class="dpad-part dpad-up"></div>
<div class="dpad-part dpad-right"></div>
<div class="dpad-part dpad-down"></div>
<div class="dpad-part dpad-left"></div>
<div class="dpad-part dpad-center"></div>
</div>
</div>
<!-- 中央エリア (画面・ロゴ) -->
<div class="center-area">
<div class="screen-container">
<div class="screen-display">
<div class="scene">
<div class="block" id="block"></div>
<div class="loading-popup" id="popup">LOADING</div>
<div class="mario jump"></div>
</div>
<div class="ground"></div>
</div>
</div>
</div>
<!-- 左上ロゴプレート -->
<div class="gw-logo-plate">
<div class="gw-text">LOAD<br>&<br>WATCH</div>
</div>
<!-- 右サイド (ボタン) -->
<div class="right-side">
<div class="mode-buttons">
<div class="mode-btn-group">
<div class="mode-btn"></div>
<div class="mode-label">GAME</div>
</div>
<div class="mode-btn-group">
<div class="mode-btn"></div>
<div class="mode-label">TIME</div>
</div>
<div class="mode-btn-group">
<div class="mode-btn"></div>
<div class="mode-label">PAUSE/RESET</div>
</div>
</div>
<div class="action-btn-container">
<div class="action-btn"></div>
<div class="action-label">JUMP</div>
</div>
</div>
</div>
<script id="js-section">const block = document.getElementById('block');
const popup = document.getElementById('popup');
setInterval(() => {
setTimeout(() => {
hitBlock();
}, 540);
}, 1200);
function hitBlock() {
block.classList.remove('hit');
void block.offsetWidth;
block.classList.add('hit');
popup.classList.remove('active');
void popup.offsetWidth;
popup.classList.add('active');
}
setTimeout(() => hitBlock(), 540);</script></body></html>