* { box-sizing: border-box; } html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: #000; } body { touch-action: none; user-select: none; -webkit-user-select: none; } #game { position: fixed; inset: 0; width: 100%; height: 100%; display: block; background: #000; cursor: default; } #clearRecords { position: fixed; left: 4px; top: 28px; width: 190px; padding: 8px; color: #fff; background: rgba(0, 0, 0, 0.82); border: 1px solid #555; font-family: monospace; font-size: 13px; line-height: 1.7; z-index: 20; cursor: pointer; } #clearRecords .records-title { padding-bottom: 4px; margin-bottom: 4px; text-align: center; border-bottom: 1px solid #444; } #recordsList { white-space: nowrap; } .record-row, .record-empty { padding: 1px 2px; } #counter { position: fixed; left: 4px; top: 4px; color: #fff; font-family: monospace; font-size: 14px; line-height: 1; z-index: 10; pointer-events: none; } #authorPanel { position: fixed; right: 10px; top: 10px; padding: 8px; color: #0f0; background: rgba(0, 0, 0, 0.85); border: 1px solid #0f0; font-family: monospace; font-size: 12px; z-index: 200; display: none; } #authorTarget { position: fixed; width: 5px; height: 5px; background: #f00; border: 1px solid #fff; z-index: 199; display: none; pointer-events: none; } #result { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; flex-direction: column; color: #fff; background: #000; font-family: monospace; z-index: 100; text-align: center; } #result .title { font-size: 22px; margin-bottom: 15px; } #result .detail { font-size: 14px; line-height: 1.8; } #restart { margin-top: 20px; padding: 8px 20px; color: #fff; background: #111; border: 1px solid #555; cursor: pointer; font-family: monospace; } #confetti { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 150; pointer-events: none; display: none; } #winImage { position: fixed; left: 50%; top: 50%; width: min(360px, 80vw, 80vh); height: auto; object-fit: contain; transform: translate(-50%, -50%) scale(0.01) rotate(0deg); transform-origin: center center; z-index: 160; display: none; pointer-events: none; } #startGuide { position: fixed; top: 50%; left: 50%; transform: translateX(-50%); font-size: 16px; font-weight: bold; text-align: center; letter-spacing: 2px; z-index: 100; pointer-events: none; transition: opacity 0.4s ease; display: inline-block; background: linear-gradient(90deg, #ff2592, #eeea0b); -webkit-background-clip: text; background-clip: text; color: transparent; } 