@media (max-width: 1180px) {
    .header-main { gap: 12px; }
    .search-form { display: none; }
    .main-nav { overflow-x: auto; }
    .poster-grid, .hot-grid, .spotlight-grid, .catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .compact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .hot-grid .media-card:first-child { grid-column: span 1; display: block; }
    .hot-grid .media-card:first-child .poster { aspect-ratio: 2 / 3; }
}

@media (max-width: 860px) {
    .container { width: min(100% - 30px, 720px); }
    .header-main { min-height: 68px; flex-wrap: wrap; padding: 12px 0; }
    .logo-link img { width: 136px; }
    .menu-button { display: block; margin-left: auto; }
    .main-nav { display: none; width: 100%; padding: 7px 0; }
    .main-nav.open { display: flex; }
    .hero-slider { height: 600px; min-height: 0; margin-top: 0; }
    .hero-content { justify-content: end; padding-bottom: 68px; }
    .hero-content h2 { font-size: 3.6rem; }
    .hero-content p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .hero-arrow { display: none; }
    .pulse-strip { grid-template-columns: repeat(2, 1fr); }
    .pulse-strip div:nth-child(2) { border-right: 0; }
    .pulse-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .poster-grid, .hot-grid, .spotlight-grid, .catalog-grid, .compact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .anime-grid .media-card:nth-child(even) { transform: none; }
    .rank-home, .about-home, .channel-head, .info-panel { grid-template-columns: 1fr; }
    .rank-home { padding: 34px; }
    .about-home { gap: 18px; }
    .app-banner { grid-template-columns: 1fr 120px; padding: 36px; }
    .app-orbit { display: none; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .channel-head > div:first-child { padding: 34px; }
    .detail-content { grid-template-columns: 190px 1fr; gap: 28px; padding: 34px; }
    .detail-poster { width: 190px; }
    .episode-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 580px) {
    body { font-size: 16px; }
    .container { width: calc(100% - 24px); }
    .main-nav { gap: 2px; }
    .main-nav a { padding: 8px 10px; }
    .hero-slider { height: 560px; }
    .hero-shade { background: linear-gradient(0deg, rgba(8,10,16,.99) 10%, rgba(8,10,16,.62) 70%, rgba(8,10,16,.25)); }
    .hero-content { padding-bottom: 56px; }
    .hero-content h2 { font-size: 3rem; }
    .hero-content p { font-size: .94rem; }
    .hero-actions .button { flex: 1; min-width: 0; padding: 0 12px; }
    .hero-dots { left: 12px; right: auto; bottom: 24px; }
    .pulse-strip { margin-top: -8px; }
    .pulse-strip div { display: grid; gap: 0; padding: 15px; }
    .content-section, .rank-home, .about-home, .app-banner, .recommend-section, .stills-section, .episode-section { margin-top: 62px; }
    .poster-grid, .hot-grid, .spotlight-grid, .catalog-grid, .compact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .spotlight-grid, .ribbon-grid { padding: 12px; }
    .media-card { border-radius: 13px; }
    .card-copy { min-height: 118px; padding: 11px; }
    .rank-home { gap: 25px; padding: 26px 20px; }
    .rank-copy h2 { font-size: 2.5rem; }
    .rank-list li { grid-template-columns: 34px 1fr 40px; gap: 8px; }
    .rank-list small { display: none; }
    .about-home { padding-inline: 4px; }
    .app-banner { grid-template-columns: 1fr; padding: 30px 24px; text-align: center; }
    .app-copy h2 { font-size: 2rem; }
    .app-actions { justify-content: center; }
    .app-code { width: 126px; margin: auto; }
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .channel-head > div:first-child { padding: 28px 22px; }
    .channel-head h1, .rank-header h1, .info-hero h1, .search-page-head h1 { font-size: 3rem; }
    .channel-feature { min-height: 300px; }
    .filter-row { overflow-x: auto; }
    .filter-row strong, .filter-button { flex: 0 0 auto; }
    .detail-hero, .detail-content { min-height: 720px; }
    .detail-content { grid-template-columns: 1fr; align-content: end; gap: 22px; padding: 24px; }
    .detail-poster { width: 130px; }
    .detail-copy h1 { font-size: 3.1rem; }
    .detail-facts { grid-template-columns: 1fr; }
    .episode-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .stills-grid { grid-template-columns: 1fr; }
    .stills-grid img { aspect-ratio: 16 / 9; }
    .rank-columns { grid-template-columns: 1fr; }
    .info-panel { gap: 18px; padding: 26px; }
}
