body { font-family: sans-serif; background-color: #24273a; margin: 0; padding: 20px; transition: background-image 0.3s ease; } body.recording-active { background-image: url('stripesbg.png'); background-repeat: repeat; background-size: 100px 100px; animation: moveStripes 2s linear infinite; } .container { max-width: 600px; margin: 0 auto; background-color: #363a4f; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } h1 { text-align: center; color: #eed49f; } .controls { margin-bottom: 20px; text-align: center; color: #cad3f5; } .file-input, .tape-input { padding: 10px; margin: 10px; border: 1px solid #eed49f; border-radius: 4px; color: #cad3f5; background-color: #24273a; } .tape-input { height: 1.6em; } .playlist { border: 1px solid #eed49f; border-radius: 4px; padding: 15px; margin-bottom: 20px; color: #cad3f5; background-color: #24273a; } .track-list { list-style: none; padding: 0; } .track-list li { padding: 8px; border-bottom: 1px solid #494d64; cursor: move; user-select: none; transition: background-color 0.2s ease; } .track-list li:last-child { border-bottom: none; } .track-list li:hover { background-color: #363a4f; } .track-list li:active { background-color: #494d64; } .info { text-align: center; margin-bottom: 20px; color: #cad3f5; } .record-button { background-color: #ed8796; color: #24273a; padding: 10px 20px; border: none; font-weight: bold; border-radius: 8px; /* Slightly more rounded corners */ cursor: pointer; display: block; margin: 30px auto; box-shadow: 3px 3px 0 #d16573, /* Darker shade for the bottom-right shadow, creating depth */ -3px -3px 0 #ffa8b9; /* Lighter shade for the top-left highlight, adding a cel-shaded effect */ transform: translateY(-2px); /* Initial slight raise */ transition: all 0.2s ease; /* Smooth transition for hover and click */ position: relative; /* For positioning the click effect */ outline: none; /* Remove default focus outline */ } .record-button:hover { background-color: #f5a97f; transform: translateY(0px); /* Press down on hover */ box-shadow: 1px 1px 0 #d16573, /* Reduced shadow on hover */ -1px -1px 0 #ffa8b9; /* Reduced highlight on hover */ } .record-button:active { transform: translateY(2px); /* Clicked effect - further press down */ box-shadow: none; /* No shadow when clicked */ } .record-button:active::after { /* Click animation */ content: ""; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background-color: rgba(255, 255, 255, 0.3); /* Faint white circle for click effect */ transform: translate(-50%, -50%); animation: clickEffect 0.3s ease-out; } @keyframes clickEffect { 0% { width: 0; height: 0; } 50% { width: 60%; height: 60%; } 100% { width: 120%; height: 120%; opacity: 0; } } .progress { height: 20px; background-color: #181926; margin-top: 2em; border-radius: 4px; overflow: hidden; } .progress-bar { height: 100%; background: linear-gradient(90deg, #eed49f, #c6a0f6); width: 0%; transition: width 0.3s ease-in-out; } .volume-indicator { position: fixed; bottom: 10px; right: 10px; width: 20px; height: 100px; background: linear-gradient(0deg, #eed49f, #c6a0f6); border: 1px solid #999; } @keyframes moveStripes { 0% { background-position: 0 0; } 100% { background-position: 50px 50px; } } .faq { color: #cad3f5; margin-top: 2em; } .faq-question { font-weight: bold; font-size: 1.2em; } .faq-answer { margin-top: 0; font-size: 1em; }