main {
    position: relative;
    z-index: 1;
    padding-top: 2%;
}
.grid {
    display: grid;
    /* 調整比例：縮小海報欄、放大公告欄，減少海報左右空白並讓右側可用幅度更大 */
    grid-template-columns: 2.6fr 2.4fr;
    gap: 24px;
    align-items: start;
    margin: 18px auto;
}

/* Section Styles */
.section {
    margin: 24px auto;
    max-width: 1200px;
    padding: 0 20px;
}

.section__title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000000d9;
    margin: 0 0 24px 0;
    text-align: center;
    align-items: center;
}

/* 平板優化 (1280px 以下) */
@media (max-width: 1280px) {
    .grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    #right-rail {
        grid-column: 1;
    }
    #poster {
        grid-column: 1;
    }
}

/* 中型平板 (1024px 以下) */
@media (max-width: 1024px) {
    main {
        padding-top: 1%;
    }
    .grid {
        gap: 16px;
        margin: 12px auto;
    }
    .section {
        margin: 20px auto;
        padding: 0 16px;
    }
}

/* 小型平板和大手機 (768px 以下) */
@media (max-width: 768px) {
    main {
        padding-top: 0;
    }
    .grid {
        gap: 12px;
        margin: 8px auto;
    }
    .section {
        margin: 16px auto;
        padding: 0 12px;
    }

    .section__title {
        font-size: 1.3rem;
        margin: 0 0 16px 0;
    }
}

/* 手機優化 (480px 以下) */
@media (max-width: 480px) {
    .grid {
        gap: 10px;
        margin: 6px auto;
    }

    .section {
        margin: 12px auto;
        padding: 0 8px;
    }

    .section__title {
        font-size: 1.2rem;
        margin: 0 0 12px 0;
    }
}
