.pen {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
}

.pen__hud {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.pen__score {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--text-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
}
.pen__score span:last-child {
    font-size: 1.4rem;
    color: var(--text);
    font-weight: 700;
    text-transform: none;
}
.pen__round {
    font-weight: 700;
    color: var(--text);
}

.pen__field-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 1px solid var(--border);
    background: #1b6b34;
    touch-action: none;
}

#pen-canvas { width: 100%; height: 100%; display: block; cursor: crosshair; }

.pen__overlay {
    position: absolute;
    inset: 0;
    background: rgba(6, 20, 12, 0.55);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    text-align: center;
    padding: 20px;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}

.pen__hint {
    color: var(--text-faint);
    font-size: 0.85rem;
    text-align: center;
}
