/* =====================================================
   Moban 8-10-9 — responsive.css
   Icon rail becomes a horizontal top bar on mobile
   ===================================================== */

/* ===== Tablet & mobile (<=768px) ===== */
@media (max-width: 768px) {
    /* Icon rail -> horizontal top bar */
    .icon-rail {
        position: sticky;
        top: 0;
        bottom: auto;
        left: 0;
        right: 0;
        width: 100%;
        height: 60px;
        flex-direction: row;
        justify-content: space-between;
        padding: 8px 12px;
        gap: 6px;
        box-shadow: 0 4px 18px rgba(53, 61, 76, .22);
    }
    .rail-logo { width: 38px; height: 38px; }
    .rail-nav {
        flex-direction: row;
        margin-top: 0;
        gap: 4px;
        flex: 1;
        justify-content: center;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .rail-nav::-webkit-scrollbar { display: none; }
    .rail-item { width: 40px; height: 40px; flex-shrink: 0; }
    /* Tooltip label shows below icon on touch layout */
    .rail-item .rail-label {
        left: 50%;
        top: 46px;
        transform: translateX(-50%) translateY(-4px);
    }
    .rail-item:hover .rail-label { transform: translateX(-50%) translateY(0); }
    .rail-foot { display: none; }

    .content-area { margin-left: 0; }

    .top-bar {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 18px 4px;
        gap: 12px;
    }
    .top-bar-title { font-size: 22px; }

    .container { padding: 0 14px; }
    .page-title { font-size: 26px; }
    .article-card { padding: 22px 18px; }
    .article-title { font-size: 24px; }

    .article-download-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: 22px;
    }

    .footer-widgets { grid-template-columns: 1fr; gap: 22px; }
    .hero-actions .btn { width: 100%; }
    .hero-actions { flex-direction: column; align-items: stretch; }
}

/* ===== Small phones (<=480px) ===== */
@media (max-width: 480px) {
    .icon-rail { height: 54px; padding: 6px 8px; }
    .rail-logo { width: 34px; height: 34px; }
    .rail-item { width: 36px; height: 36px; }
    .rail-item .rail-icon svg { width: 19px; height: 19px; }

    .top-bar-title { font-size: 19px; }
    .top-bar-kicker { font-size: 11px; }
    .header-actions { width: 100%; }
    .header-actions .btn { flex: 1; justify-content: center; }

    .bento-card { padding: 18px 16px; }
    .game-tiles { grid-template-columns: 1fr 1fr; gap: 12px; }
    .hero-title { font-size: 21px; }
    .hero-desc { font-size: 13px; }
    .hero-overlay { padding: 44px 18px 20px; }

    .page-title { font-size: 23px; }
    .stat-num { font-size: 22px; }
    .article-title { font-size: 21px; }
    .article-content { font-size: 14.5px; }

    .news-thumb { width: 54px; height: 54px; }
    .footer-bottom { padding-top: 18px; }
}
