body {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding-top: 20px;
    background-color: #f0f0f0;
    font-family: sans-serif;
}

h1 {
    margin-bottom: 20px;
    font-size: 1.5rem;
    text-align: center;
    padding: 0 10px;
}

/* Container: center within page, allow JS to control canvas sizes */
.container {
    display: flex;
    gap: 20px; /* 캔버스 사이 간격 */
    align-items: flex-start;
    width: calc(100% - 40px);
    max-width: 1024px;
    margin: 0 auto;
    padding: 10px 0;
}

/* Canvas defaults: full-width of their allocated box, height handled by JS */
canvas {
    border: 1px solid #000;
    background-color: #fff;
    display: block;
    width: 100%;
    height: auto;
    max-width: 600px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    border-radius: 6px;
}

/* Graph canvas slightly narrower by default on wide screens (JS may override) */
#graphCanvas {
    max-width: 400px;
}

/* Responsive: stack canvases vertically on smaller screens */
@media (max-width: 700px) {
    .container {
        flex-direction: column;
        gap: 16px;
        align-items: center;
    }

    canvas {
        max-width: 90vw;
        width: 100%;
        height: auto;
    }

    #graphCanvas {
        max-width: 90vw;
        width: 100%;
        height: auto;
    }

    h1 {
        font-size: 1.2rem;
        padding: 0 12px;
    }
}
