@media (max-width: 1180px) {
    :root { --shell: min(100% - 36px, 1050px); }
    .header-row { flex-wrap: wrap; gap: 10px; padding: 12px 0; }
    .main-nav { order: 3; width: 100%; overflow-x: auto; padding-bottom: 2px; }
    .search { margin-left: auto; }
    .card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); gap: 28px; }
}

@media (max-width: 820px) {
    :root { --shell: calc(100% - 28px); }
    .hero { min-height: 520px; margin-top: 0; }
    .hero-shade { background: linear-gradient(0deg, rgba(7,8,15,.96), rgba(7,8,15,.35) 88%); }
    .hero-copy { top: auto; bottom: 56px; transform: translateX(-50%); }
    .hero-copy h2 { font-size: 48px; }
    .slider-arrow { display: none; }
    .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .split-rank { grid-template-columns: 1fr; gap: 28px; }
    .about-panel { grid-template-columns: 72px 1fr; }
    .about-panel .btn { grid-column: 2; justify-self: start; }
    .brand-mark { width: 72px; height: 72px; border-radius: 20px; }
    .mobile-inner { grid-template-columns: 90px 1fr; }
    .mobile-inner > img { width: 90px; }
    .mobile-inner .cta-actions { grid-column: 2; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .featured { grid-template-columns: 1fr; }
    .featured > img { min-height: 300px; max-height: 380px; }
    .filter-panel { flex-direction: column; }
    .detail-content { grid-template-columns: 190px 1fr; gap: 26px; padding: 32px; }
    .detail-info dl { grid-template-columns: 1fr; }
    .still-grid { grid-template-columns: 1fr 1fr; }
    .still-grid img:first-child { grid-column: 1 / -1; }
    .rank-board li { grid-template-columns: 44px 62px 1fr 50px; gap: 12px; }
    .rank-board .rank-play { display: none; }
    .simple-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
    :root { --shell: calc(100% - 22px); }
    body { font-size: 16px; }
    .site-header { position: relative; }
    .header-row { min-height: 68px; }
    .brand img { width: 136px; }
    .search { display: none; order: 4; width: 100%; max-width: none; }
    .search.open { display: flex; }
    .menu-toggle { display: grid; margin-left: auto; }
    .main-nav { padding-top: 4px; }
    .main-nav a { padding: 8px 9px; }
    .hero { min-height: 480px; }
    .hero-copy { bottom: 42px; }
    .hero-copy h2 { font-size: 40px; }
    .hero-desc { -webkit-line-clamp: 3; }
    .hero-actions { margin-top: 20px; }
    .hero-actions .btn { flex: 1; padding-inline: 14px; }
    .slider-dots { bottom: 18px; }
    .strip-inner { gap: 12px; }
    .ticker { display: block; text-overflow: ellipsis; }
    .ticker > *:not(:first-child) { display: none; }
    .strip-inner > a { display: none; }
    .content-section, .catalog, .recommend, .stills { padding: 50px 0; }
    .section-head { align-items: flex-start; }
    .section-head > div { grid-template-columns: 40px 1fr; }
    .section-icon { width: 40px; height: 40px; }
    .section-head h2 { font-size: 28px; }
    .section-head p { display: none; }
    .section-head > a { font-size: 13px; }
    .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
    .variant-2 .poster { border-radius: 48px 48px 14px 14px; }
    .variant-3 .media-card:nth-child(even) { transform: none; }
    .split-rank { gap: 18px; }
    .split-rank li { grid-template-columns: 40px 1fr 42px; }
    .split-rank em { display: none; }
    .premiere-row { grid-template-columns: 1fr; }
    .about-panel { grid-template-columns: 1fr; padding: 28px; }
    .about-panel .btn { grid-column: 1; }
    .mobile-inner { grid-template-columns: 70px 1fr; gap: 18px; }
    .mobile-inner > img { width: 70px; }
    .mobile-inner h2 { font-size: 26px; }
    .mobile-inner p { display: none; }
    .mobile-inner .cta-actions { grid-column: 1 / -1; }
    .cta-actions .btn { flex: 1; padding-inline: 10px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
    .footer-grid > div:first-child { grid-column: 1 / -1; }
    .channel-hero, .rank-title { min-height: 140px; padding: 24px; }
    .channel-stat { display: none; }
    .featured > img { min-height: 220px; }
    .featured > div { padding: 28px; }
    .featured h2 { font-size: 30px; }
    .detail-hero { min-height: auto; }
    .detail-backdrop, .detail-fade { height: 350px; }
    .detail-content { display: block; min-height: auto; padding: 210px 22px 30px; }
    .detail-poster { width: 132px; margin-bottom: 18px; }
    .detail-info h1 { font-size: 42px; }
    .detail-info dl { font-size: 14px; }
    .still-grid { grid-template-columns: 1fr; }
    .still-grid img:first-child { grid-column: auto; }
    .player-heading { align-items: flex-start; }
    .player-heading h1 { font-size: 24px; }
    .player-controls { grid-template-columns: 74px 1fr 74px; gap: 8px; font-size: 13px; }
    .player-controls .episodes { flex-wrap: nowrap; overflow-x: auto; }
    .rank-board li { grid-template-columns: 36px 52px 1fr 40px; padding: 12px 4px; }
    .rank-board li > b { font-size: 19px; }
    .rank-board img { width: 48px; }
    .rank-board div > span { display: none; }
    .simple-grid { grid-template-columns: 1fr; }
    .big-search { border-radius: 18px; }
    .big-search .btn { padding-inline: 14px; }
}
