* { margin: 0; padding: 0; box-sizing: border-box; touch-action: none; }

html, body {
    width: 100%; height: 100%;
    overflow: hidden;
    background: #07111c;
}

canvas {
    display: block;
    width: 100%; height: 100%;
}

#ui { position: fixed; inset: 0; pointer-events: none; }

#count {
    position: absolute;
    top: 22px; left: 50%;
    transform: translateX(-50%);
    color: rgba(160, 205, 255, 0.45);
    font: 13px/1 system-ui, sans-serif;
    letter-spacing: 0.06em;
}

#hint {
    position: absolute;
    bottom: 26px; left: 50%;
    transform: translateX(-50%);
    color: rgba(160, 205, 255, 0.3);
    font: 12px/1.6 system-ui, sans-serif;
    text-align: center;
    white-space: nowrap;
    transition: opacity 1s;
}

#win {
    display: none;
    position: absolute; inset: 0;
    justify-content: center; align-items: center; flex-direction: column;
    gap: 12px;
    background: rgba(0,10,20,0.55);
    color: rgba(180,225,255,0.92);
    font: 300 26px/1.4 system-ui, sans-serif;
    letter-spacing: 0.08em;
    pointer-events: all; cursor: pointer;
}
#win small { font-size: 13px; opacity: 0.5; }
#win.hidden { display: none; }
#win.visible { display: flex; }
