* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background: #06081a;
    overflow: hidden;
    font-family: 'Segoe UI', system-ui, sans-serif;
    color: #e0e0e0;
}

canvas {
    display: block;
    width: 100vw;
    height: 100vh;
}

/* ---- Start Screen ---- */
#startScreen {
    position: fixed; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    background: rgba(6,8,26,0.92);
    z-index: 10;
    gap: 16px;
}

#startScreen h1 {
    font-size: 72px;
    font-weight: 900;
    letter-spacing: 12px;
    background: linear-gradient(135deg, #cc9955 0%, #88aacc 50%, #7a6644 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0;
}

.tagline {
    font-size: 15px;
    color: #556;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.controls {
    display: flex; flex-direction: column;
    align-items: center; gap: 6px;
    font-size: 14px; color: #778;
}
.controls b { color: #aac; }

.plat-legend {
    display: flex; gap: 16px;
    margin-top: 10px; font-size: 12px;
    letter-spacing: 1px;
}
.leg { display: flex; align-items: center; gap: 4px; }
.leg.normal { color: #7a6644; }
.leg.crumble { color: #cc7733; }
.leg.moving { color: #44aa66; }
.leg.bouncy { color: #cc44cc; }
.leg.ice { color: #44ccdd; }

#playBtn, #restartBtn {
    margin-top: 20px;
    padding: 14px 48px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 4px;
    border: 2px solid rgba(204,153,85,0.3);
    border-radius: 6px;
    background: rgba(204,153,85,0.08);
    color: #cc9955;
    cursor: pointer;
    transition: all 0.2s;
}
#playBtn:hover, #restartBtn:hover {
    background: rgba(204,153,85,0.18);
    border-color: rgba(204,153,85,0.5);
    transform: scale(1.04);
}

/* ---- HUD ---- */
#hud {
    position: fixed;
    top: 0; left: 0; right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 12px 20px;
    z-index: 5;
    pointer-events: none;
}
#hud.hidden { display: none; }

#scoreBox {
    font-size: 28px;
    font-weight: 800;
    color: #cc9955;
    letter-spacing: 2px;
    text-shadow: 0 0 12px rgba(204,153,85,0.4);
}

#heightBox {
    font-size: 18px;
    font-weight: 600;
    color: #88aaff;
    letter-spacing: 1px;
}

#phaseBox {
    font-size: 13px;
    font-weight: 600;
    color: #666;
    letter-spacing: 2px;
    text-transform: uppercase;
}



/* ---- End Overlay ---- */
#endOverlay {
    position: fixed; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    background: rgba(6,8,26,0.92);
    z-index: 10;
    gap: 14px;
}
#endOverlay.hidden { display: none; }

#endTitle {
    font-size: 52px;
    font-weight: 900;
    letter-spacing: 8px;
    color: #ff4444;
}

#endScore {
    font-size: 26px;
    font-weight: 700;
    color: #cc9955;
    letter-spacing: 2px;
}

#endStats {
    font-size: 13px;
    color: #667;
    letter-spacing: 1px;
    text-align: center;
    line-height: 1.8;
}
