@media (max-width: 1050px) {
    .wrap { width: calc(100% - 40px); }
    .grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .main-nav { gap: 19px; }
    .rank-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .hero-copy { padding: 25px 25px 65px; }
    .update-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 680px) {
    .wrap { width: calc(100% - 28px); }
    .header-top { flex-wrap: wrap; gap: 12px; padding: 15px 0; }
    .brand h1, .brand strong { font-size: 23px; }
    .header-top > .notice { display: none; }
    .search { width: 100%; }
    .main-nav { gap: 22px; }
    main.wrap { padding-top: 18px; }
    .slide { display: flex; flex-direction: column-reverse; }
    .hero img { height: auto; aspect-ratio: 16/9; }
    .hero-copy { padding: 22px 20px 66px; }
    .hero h2 { font-size: 29px; }
    .slider-controls { left: 20px; }
    .grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 14px; }
    .section-head h2 { font-size: 22px; }
    .update-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rank-list { grid-template-columns: 1fr; }
    .rank-list li { display: grid; grid-template-columns: 45px 1fr; gap: 5px 15px; padding: 15px; }
    .rank-list p { grid-column: 2; margin: 0; }
    .rank-list h3 { margin: 4px 0; }
    .feature-block { padding: 18px; }
    .about { grid-template-columns: 1fr; gap: 0; }
    .mobile-block { padding: 23px; flex-direction: column; align-items: flex-start; }
    .mobile-block img { width: 90px; height: 90px; }
    .detail { grid-template-columns: 1fr; padding: 20px; gap: 20px; }
    .detail-cover { max-width: 190px; }
    .detail h1, .page-heading h1 { font-size: 28px; }
    .detail dl { grid-template-columns: 80px 1fr; }
    .chapters { grid-template-columns: 1fr; }
    .actions > * { max-width: 100%; }
    .to-top { right: 12px; bottom: 12px; font-size: 14px; }
}
