@font-face {
  font-family: fontbun; /* set name */
  src: url(HarmonyOS_Sans_Regular.ttf); /* url of the font */
}
body { font-family: fontbun; background: #f0f2f5; display: flex; justify-content: center; padding: 20px; }
.card { background: white; padding: 25px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); max-width: 450px; width: 100%; }
input, button { width: 100%; padding: 10px; margin: 10px 0; border-radius: 4px; border: 1px solid #ccc; box-sizing: border-box; }
button { background: #2ecc71; color: white; border: none; font-weight: bold; cursor: pointer; font-size: 16px;}
button:hover { background: #27ae60; }
.preview-wrapper { display: flex; justify-content: center; margin-top: 15px; }
.preview { background: #fff; display: flex; flex-direction: column-reverse; align-items: center; border: none; padding: 10px; }  
.p-handle { width: 100px; height: 50px; background: #95a5a6; border-radius: 0 0 8px 8px; position: relative; display: flex; justify-content: center; align-items: center; }
.p-hole { width: 30px; height: 20px; background: #fff; border-radius: 4px; }
.p-bar-detect { width: 100px; height: 16px; background: #34495e; border-radius: 4px 4px 0 0; }
.p-bit-line { width: 86px; background: #2c3e50; border-left: 7px solid #95a5a6; border-right: 7px solid #95a5a6; box-sizing: border-box; }
.p-bit-gap { width: 100px; background: transparent; border-left: 7px solid #95a5a6; border-right: 7px solid #95a5a6; box-sizing: border-box; } 
.label { font-size: 12px; font-weight: bold; color: #555; }