/* ============================================================================
   CANVAS AREA - Wikipedia Dark Mode Theme
   ============================================================================ */

.canvas-area {
    background: #202122;
    position: relative;
    overflow: auto;
    padding: 40px;
    flex: 1;
    width: 100%;
}

/* Canvas placeholder */
.canvas-placeholder {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #72777d;
    font-size: 1.05rem;
    pointer-events: none;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    padding: 20px;
    background: rgba(39, 41, 42, 0.9);
    border-radius: 2px;
    border: 1px solid #3a3b3c;
    backdrop-filter: blur(8px);
}

/* Canvas dots animation container */
.canvas-dots-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.canvas-dot {
    position: absolute;
    width: 2px;
    height: 2px;
    background: #3a3b3c;
    border-radius: 50%;
    opacity: 0.8;
    transition: none;
}

.canvas-dot.twinkling {
    animation: twinkle 2s ease-in-out;
}

/* Twinkle animation - Wikipedia blue accent */
@keyframes twinkle {
    0%, 100% {
        opacity: 0.5;
        transform: scale(1);
        background: #3a3b3c;
        box-shadow: none;
    }
    15% {
        opacity: 0.3;
        transform: scale(0.8);
        background: #4a4b4c;
    }
    50% {
        opacity: 1;
        transform: scale(1.6);
        background: #3366cc;
        box-shadow: 0 0 10px rgba(51, 102, 204, 0.8),
                    0 0 20px rgba(51, 102, 204, 0.5),
                    0 0 30px rgba(51, 102, 204, 0.3);
    }
    85% {
        opacity: 0.4;
        transform: scale(1.1);
        background: #447ff5;
        box-shadow: 0 0 6px rgba(68, 127, 245, 0.4);
    }
}

/* Variations for different stars */
.canvas-dot.twinkling:nth-child(3n) {
    animation: twinkle 2.5s ease-in-out;
}

.canvas-dot.twinkling:nth-child(3n+1) {
    animation: twinkle 1.8s ease-in-out;
}

.canvas-dot.twinkling:nth-child(3n+2) {
    animation: twinkle 2.2s ease-in-out;
}

/* Drawing arrow mode */
.canvas-area.drawing-arrow {
    cursor: crosshair;
}