html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
html {
    display: table;
    width: 100%
}
body {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    font-size: 40px;
    font-weight: 600;
    font-family: sans-serif;
    -webkit-font-smoothing: antialiased;
    color: #444;
    background-color: #000;
    perspective: 1000
}
body,html {
    width: 100%;
    height: 100%;
    overflow: hidden
}
canvas {
    image-rendering: auto;
    image-rendering: crisp-edges;
    image-rendering: pixelated
}
button {
    font: inherit;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    padding: 8px 16px;
    color: #000;
    text-shadow: 0 1px 2px hsla(0,0%,100%,.15);
    background-color: #e74236;
    background-image: linear-gradient(#ad68d9,#a960d7);
    box-shadow: inset 0 0 2px hsla(0,0%,100%,.15);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all .15s ease-out
}
button:hover {
    transform: scale(1.05);
    background-image: linear-gradient(#c391e3,#bf89e1)
}
button:active {
    transform: scale(.95);
    opacity: .5
}
audio {
    position: absolute;
    width: 0;
    height: 0;
    visibility: hidden
}
@keyframes Cue-In {
    0% {
        opacity: 0;
        transform: scale(.1) rotateX(45deg)
    }
    to {
        transform: scale(1) rotateX(0)
    }
}
.cue-in {
    animation: Cue-In 2s ease-in-out
}

/* --- NEW: Responsive fix for mobile button --- */
@media (max-width: 600px) {
  body {
    /* Restore a more standard font size on mobile to help the button fit */
    font-size: 24px;
  }

  button {
    /* Don't let the button touch the screen edges */
    max-width: 90%;
    box-sizing: border-box; /* Ensures padding is included in the width calculation */
    
    /* Adjust font size and padding for better readability on small screens */
    font-size: 20px;
    padding: 12px 20px;
    line-height: 1.3; /* Improves spacing if text wraps */
  }
}