/* roulang page: index */
:root {
            --bg: #140f1c;
            --bg-soft: #1d1527;
            --bg-deep: #100c16;
            --panel: #24192f;
            --panel-light: #2d1e39;
            --wine: #8f3157;
            --wine-dark: #662441;
            --berry: #b94d73;
            --gold: #d7a26f;
            --coral: #dc806e;
            --success: #83b89b;
            --warning: #d99a63;
            --text: #f8ede8;
            --muted: #c2afbd;
            --subtle: #8c788c;
            --line: rgba(240, 215, 224, .14);
            --line-strong: rgba(240, 215, 224, .25);
            --radius: 7px;
            --shadow: 0 18px 50px rgba(0, 0, 0, .24);
            --container: 1240px;
        }

        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            background: var(--bg);
            color: var(--text);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            font-size: 15px;
            line-height: 1.8;
            letter-spacing: 0;
        }
        body.modal-open { overflow: hidden; }
        a { color: inherit; text-decoration: none; }
        button, input { font: inherit; }
        button { cursor: pointer; }
        img { display: block; max-width: 100%; }
        h1, h2, h3, p { margin: 0; }
        ul, ol { list-style: none; margin: 0; padding: 0; }
        .container { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
        .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 30;
            background: rgba(20, 15, 28, .96);
            border-bottom: 1px solid var(--line);
        }
        .nav-shell {
            min-height: 76px;
            display: flex;
            align-items: center;
            gap: 30px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            min-width: max-content;
            font-size: 16px;
            font-weight: 800;
            letter-spacing: .02em;
        }
        .brand-mark {
            width: 38px;
            height: 38px;
            display: grid;
            place-items: center;
            background: var(--wine);
            color: #fff4ee;
            border: 1px solid rgba(255,255,255,.2);
            border-radius: 6px;
            font-weight: 900;
            box-shadow: 0 6px 18px rgba(143,49,87,.28);
        }
        .brand-name { white-space: nowrap; }
        .main-nav {
            display: flex;
            align-items: center;
            gap: 23px;
            margin-left: auto;
        }
        .main-nav a {
            position: relative;
            color: var(--muted);
            padding: 25px 0 21px;
            white-space: nowrap;
            transition: color .2s ease;
        }
        .main-nav a::after {
            content: "";
            position: absolute;
            height: 2px;
            left: 0;
            right: 0;
            bottom: 14px;
            background: var(--berry);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .2s ease;
        }
        .main-nav a:hover, .main-nav a.active { color: var(--text); }
        .main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
        .nav-actions { display: flex; align-items: center; gap: 10px; }
        .age-link, .menu-toggle {
            min-height: 44px;
            border: 1px solid var(--line-strong);
            background: transparent;
            color: var(--muted);
            border-radius: 5px;
            padding: 0 13px;
            transition: .2s ease;
        }
        .age-link:hover, .menu-toggle:hover { border-color: var(--gold); color: var(--gold); }
        .menu-toggle { display: none; font-size: 20px; width: 44px; padding: 0; }

        .hero {
            position: relative;
            overflow: hidden;
            min-height: 540px;
            display: flex;
            align-items: center;
            border-bottom: 1px solid var(--line);
            background:
                linear-gradient(90deg, rgba(20,15,28,.98) 0%, rgba(20,15,28,.94) 48%, rgba(20,15,28,.78) 100%),
                radial-gradient(circle at 82% 20%, rgba(143,49,87,.42), transparent 28%),
                linear-gradient(135deg, #2a1732 0%, #140f1c 62%);
        }
        .hero::before, .hero::after {
            content: "";
            position: absolute;
            pointer-events: none;
            border: 1px solid rgba(215,162,111,.18);
            transform: rotate(18deg);
        }
        .hero::before { width: 370px; height: 370px; right: 9%; top: 30px; }
        .hero::after { width: 250px; height: 250px; right: 22%; bottom: -150px; border-color: rgba(185,77,115,.2); }
        .hero-inner { position: relative; z-index: 1; padding: 72px 0 70px; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: var(--gold);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .12em;
            text-transform: uppercase;
        }
        .eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--gold); }
        .hero h1 {
            max-width: 700px;
            margin-top: 18px;
            font-size: clamp(36px, 5vw, 64px);
            line-height: 1.2;
            letter-spacing: 0;
            font-weight: 850;
        }
        .hero h1 strong { color: var(--gold); font-weight: 850; }
        .hero-subtitle {
            max-width: 690px;
            margin-top: 20px;
            color: #e6d7dd;
            font-size: 20px;
        }
        .hero-copy {
            max-width: 650px;
            margin-top: 18px;
            color: var(--muted);
            line-height: 1.9;
        }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
        .btn {
            min-height: 46px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 0 19px;
            border: 1px solid transparent;
            border-radius: 5px;
            font-weight: 700;
            transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
        }
        .btn:hover { transform: translateY(-2px); }
        .btn:focus-visible, .age-link:focus-visible, .menu-toggle:focus-visible, .faq-question:focus-visible, a:focus-visible {
            outline: 3px solid rgba(215,162,111,.65);
            outline-offset: 3px;
        }
        .btn-primary { background: var(--wine); color: #fff7f4; box-shadow: 0 9px 22px rgba(143,49,87,.25); }
        .btn-primary:hover { background: var(--berry); }
        .btn-secondary { background: rgba(255,255,255,.03); border-color: var(--line-strong); color: var(--text); }
        .btn-secondary:hover { border-color: var(--gold); color: var(--gold); }
        .hero-matrix {
            position: absolute;
            right: 5%;
            top: 50%;
            transform: translateY(-50%);
            width: 360px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;
        }
        .matrix-cell {
            min-height: 104px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 15px;
            background: rgba(41, 26, 51, .82);
            border: 1px solid var(--line-strong);
            border-radius: 6px;
        }
        .matrix-cell:nth-child(2), .matrix-cell:nth-child(5) { background: rgba(113, 39, 68, .62); }
        .matrix-icon { color: var(--gold); font-size: 24px; line-height: 1; }
        .matrix-cell b { font-size: 14px; }
        .matrix-cell small { color: var(--subtle); font-size: 11px; }

        main { overflow: hidden; }
        .section { padding: 78px 0; border-bottom: 1px solid var(--line); }
        .section-soft { background: var(--bg-soft); }
        .section-deep { background: var(--bg-deep); }
        .section-heading {
            display: flex;
            justify-content: space-between;
            align-items: end;
            gap: 25px;
            margin-bottom: 30px;
        }
        .section-heading h2 {
            max-width: 760px;
            font-size: clamp(24px, 3vw, 34px);
            line-height: 1.3;
            font-weight: 800;
        }
        .section-heading p {
            max-width: 610px;
            color: var(--muted);
            line-height: 1.85;
        }
        .section-kicker {
            margin-bottom: 10px;
            color: var(--coral);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .1em;
        }

        .signal-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 0;
            border: 1px solid var(--line);
        }
        .signal-item {
            min-height: 132px;
            padding: 24px;
            border-right: 1px solid var(--line);
        }
        .signal-item:last-child { border-right: 0; }
        .signal-item strong { display: block; color: var(--gold); font-size: 28px; line-height: 1.2; }
        .signal-item b { display: block; margin-top: 8px; font-size: 15px; }
        .signal-item span { display: block; margin-top: 4px; color: var(--subtle); font-size: 13px; }

        .entry-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
        .entry-item {
            position: relative;
            min-height: 190px;
            padding: 23px;
            border: 1px solid var(--line);
            background: var(--panel);
            transition: .2s ease;
        }
        .entry-item:hover { border-color: var(--berry); transform: translateY(-4px); box-shadow: var(--shadow); }
        .entry-number { color: var(--gold); font-size: 13px; font-weight: 800; }
        .entry-item h3 { margin-top: 27px; font-size: 20px; }
        .entry-item p { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.7; }
        .entry-count { position: absolute; right: 18px; top: 18px; color: var(--subtle); font-size: 12px; }

        .film-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
        .film-card { min-width: 0; }
        .cover {
            position: relative;
            overflow: hidden;
            aspect-ratio: 2 / 3;
            display: flex;
            align-items: end;
            padding: 14px;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: #3d213e;
            isolation: isolate;
            transition: .25s ease;
        }
        .cover::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -2;
            background:
                linear-gradient(160deg, transparent 30%, rgba(13,8,17,.78) 100%),
                var(--cover, linear-gradient(140deg, #713b64, #211728));
        }
        .cover::after {
            content: "成人向精选";
            position: absolute;
            left: 14px;
            top: 14px;
            color: rgba(255,255,255,.72);
            font-size: 10px;
            letter-spacing: .08em;
            writing-mode: vertical-rl;
        }
        .film-card:hover .cover { border-color: var(--berry); transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0,0,0,.3); }
        .cover-title { color: #fff8f4; font-size: 16px; font-weight: 800; line-height: 1.4; }
        .film-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 10px; }
        .film-name { min-width: 0; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .status, .tag {
            display: inline-flex;
            align-items: center;
            min-height: 22px;
            padding: 0 7px;
            border: 1px solid transparent;
            border-radius: 3px;
            font-size: 11px;
            white-space: nowrap;
        }
        .status { color: #f8e9d8; background: rgba(143,49,87,.8); border-color: rgba(255,255,255,.13); }
        .status.gold { color: #25191a; background: var(--gold); }
        .rating { color: var(--gold); font-size: 13px; white-space: nowrap; }
        .film-note { color: var(--subtle); font-size: 12px; }
        .more-row { margin-top: 27px; text-align: center; }

        .steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--line); }
        .step { padding: 25px 20px 10px 0; border-right: 1px solid var(--line); margin-right: 20px; }
        .step:last-child { border-right: 0; margin-right: 0; }
        .step-no { color: var(--berry); font-size: 30px; font-weight: 850; }
        .step h3 { margin-top: 8px; font-size: 18px; }
        .step p { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.75; }

        .featured-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 16px; }
        .feature-card {
            position: relative;
            min-height: 265px;
            display: flex;
            flex-direction: column;
            justify-content: end;
            overflow: hidden;
            padding: 23px;
            border: 1px solid var(--line);
            background: #2b1d35;
            border-radius: var(--radius);
        }
        .feature-card::before { content: ""; position: absolute; inset: 0; z-index: 0; background: var(--feature, linear-gradient(135deg,#71395d,#24172d)); opacity: .9; }
        .feature-card::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(0deg, rgba(13,8,17,.95), transparent 65%); }
        .feature-content { position: relative; z-index: 1; }
        .feature-card h3 { font-size: 21px; }
        .feature-card p { margin-top: 7px; color: #e0ced5; font-size: 13px; line-height: 1.7; }
        .feature-card .rating { display: block; margin-bottom: 9px; }

        .category-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 13px; }
        .category-item { padding: 23px 18px; background: var(--panel); border-left: 3px solid var(--wine); }
        .category-item:nth-child(2) { border-left-color: var(--gold); }
        .category-item:nth-child(3) { border-left-color: var(--coral); }
        .category-item:nth-child(4) { border-left-color: var(--success); }
        .category-item:nth-child(5) { border-left-color: var(--berry); }
        .category-item h3 { font-size: 17px; }
        .category-item p { min-height: 74px; margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.7; }
        .category-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 14px; color: var(--gold); font-size: 12px; }
        .text-link { color: var(--gold); font-weight: 700; }
        .text-link:hover { color: #fff1dc; }

        .rank-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; }
        .rank-list { border-top: 1px solid var(--line); }
        .rank-item {
            display: grid;
            grid-template-columns: 42px 1fr auto auto;
            align-items: center;
            gap: 15px;
            min-height: 65px;
            border-bottom: 1px solid var(--line);
        }
        .rank-no { color: var(--subtle); font-size: 20px; font-weight: 800; }
        .rank-item:nth-child(1) .rank-no, .rank-item:nth-child(2) .rank-no, .rank-item:nth-child(3) .rank-no { color: var(--gold); }
        .rank-title { font-weight: 700; }
        .rank-sub { color: var(--subtle); font-size: 12px; }
        .rank-heat { color: var(--coral); font-size: 12px; }
        .rank-score { color: var(--gold); font-size: 13px; }
        .rank-side { padding: 27px; background: var(--panel); border: 1px solid var(--line); }
        .rank-side h3 { font-size: 22px; }
        .rank-side p { margin-top: 12px; color: var(--muted); line-height: 1.8; }
        .rank-bar { margin-top: 24px; }
        .rank-bar + .rank-bar { margin-top: 17px; }
        .rank-bar-label { display: flex; justify-content: space-between; color: var(--muted); font-size: 12px; }
        .bar-line { height: 5px; margin-top: 7px; background: #39273f; }
        .bar-line span { display: block; height: 100%; background: var(--wine); }

        .topic-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
        .topic-item { display: flex; align-items: end; min-height: 172px; padding: 20px; border: 1px solid var(--line); background: var(--topic, #37213b); }
        .topic-item h3 { font-size: 18px; }
        .topic-item p { margin-top: 7px; color: #d8c7ce; font-size: 12px; }
        .topic-item .tag { margin-bottom: 10px; color: var(--gold); border-color: rgba(215,162,111,.35); background: rgba(20,15,28,.34); }

        .stats-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
        .stat-box { min-height: 150px; padding: 28px; background: var(--panel); }
        .stat-box strong { display: block; color: var(--gold); font-size: 34px; line-height: 1.2; }
        .stat-box b { display: block; margin-top: 9px; font-size: 15px; }
        .stat-box span { display: block; margin-top: 4px; color: var(--subtle); font-size: 12px; }

        .quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
        .quote { padding: 25px; background: var(--panel); border: 1px solid var(--line); }
        .quote-mark { color: var(--berry); font-size: 31px; line-height: 1; }
        .quote p { margin-top: 12px; color: #e2d2d8; line-height: 1.8; }
        .quote cite { display: block; margin-top: 18px; color: var(--gold); font-size: 12px; font-style: normal; }

        .audience-list { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
        .audience-item { padding: 23px 20px 23px 0; margin-right: 20px; border-right: 1px solid var(--line); }
        .audience-item:last-child { border-right: 0; margin-right: 0; }
        .audience-item b { color: var(--gold); }
        .audience-item h3 { margin-top: 12px; font-size: 17px; }
        .audience-item p { margin-top: 7px; color: var(--muted); font-size: 13px; line-height: 1.7; }

        .news-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 28px; }
        .news-item { display: grid; grid-template-columns: 140px 1fr; gap: 17px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
        .news-thumb { aspect-ratio: 16 / 9; border-radius: 5px; background: var(--news, linear-gradient(135deg,#733757,#24182f)); }
        .news-type { color: var(--coral); font-size: 11px; }
        .news-item h3 { margin-top: 5px; font-size: 16px; line-height: 1.5; }
        .news-date { display: block; margin-top: 6px; color: var(--subtle); font-size: 12px; }

        .faq-wrap { max-width: 860px; }
        .faq-item { border-top: 1px solid var(--line); }
        .faq-item:last-child { border-bottom: 1px solid var(--line); }
        .faq-question {
            width: 100%;
            min-height: 68px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            border: 0;
            background: transparent;
            color: var(--text);
            text-align: left;
            font-weight: 700;
        }
        .faq-question span:last-child { color: var(--gold); font-size: 22px; transition: transform .2s ease; }
        .faq-answer { display: none; max-width: 760px; padding: 0 40px 22px 0; color: var(--muted); line-height: 1.85; }
        .faq-item.open .faq-answer { display: block; }
        .faq-item.open .faq-question span:last-child { transform: rotate(45deg); }

        .closing {
            padding: 76px 0;
            background: linear-gradient(100deg, #351b32, #1b1324 65%);
            border-bottom: 1px solid var(--line);
        }
        .closing-inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
        .closing h2 { font-size: clamp(25px, 3vw, 37px); }
        .closing p { max-width: 650px; margin-top: 10px; color: var(--muted); }

        footer { background: var(--bg-deep); }
        .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 35px; padding: 58px 0 44px; }
        .footer-brand p { max-width: 330px; margin-top: 15px; color: var(--subtle); font-size: 13px; line-height: 1.8; }
        .footer-col h3 { margin-bottom: 14px; color: var(--text); font-size: 14px; }
        .footer-col a, .footer-col span { display: block; margin-top: 8px; color: var(--subtle); font-size: 13px; }
        .footer-col a:hover { color: var(--gold); }
        .footer-bottom { padding: 18px 0; border-top: 1px solid var(--line); color: var(--subtle); font-size: 12px; }

        .age-modal {
            position: fixed;
            inset: 0;
            z-index: 60;
            display: grid;
            place-items: center;
            padding: 20px;
            background: rgba(10,7,13,.78);
        }
        .age-dialog {
            width: min(460px, 100%);
            padding: 34px;
            background: #211629;
            border: 1px solid var(--line-strong);
            border-top: 3px solid var(--gold);
            box-shadow: var(--shadow);
            border-radius: 7px;
        }
        .age-dialog h2 { font-size: 25px; }
        .age-dialog p { margin-top: 13px; color: var(--muted); line-height: 1.8; }
        .age-note { margin-top: 15px; color: var(--gold); font-size: 12px; }
        .age-actions { display: flex; gap: 10px; margin-top: 24px; }
        .age-actions .btn { flex: 1; }
        .age-modal.hidden { display: none; }

        @media (max-width: 1100px) {
            .main-nav { gap: 15px; }
            .hero-matrix { right: 2%; width: 310px; }
            .film-grid { grid-template-columns: repeat(4, 1fr); }
            .category-grid { grid-template-columns: repeat(3, 1fr); }
            .category-item p { min-height: auto; }
        }
        @media (max-width: 820px) {
            .container { width: min(var(--container), calc(100% - 34px)); }
            .nav-shell { min-height: 68px; }
            .main-nav {
                position: absolute;
                top: 68px;
                left: 0;
                right: 0;
                display: none;
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                padding: 8px 17px 16px;
                background: #1a1222;
                border-bottom: 1px solid var(--line);
            }
            .main-nav.open { display: flex; }
            .main-nav a { padding: 12px 4px; border-bottom: 1px solid var(--line); }
            .main-nav a::after { bottom: 0; }
            .menu-toggle { display: inline-grid; place-items: center; }
            .age-link { display: none; }
            .hero { min-height: 560px; }
            .hero-inner { padding: 62px 0 75px; }
            .hero-matrix { position: relative; top: auto; right: auto; transform: none; width: min(100%, 420px); margin-top: 38px; }
            .signal-grid, .stats-strip { grid-template-columns: repeat(2, 1fr); }
            .signal-item:nth-child(2) { border-right: 0; }
            .signal-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
            .entry-grid { grid-template-columns: repeat(2, 1fr); }
            .film-grid { grid-template-columns: repeat(3, 1fr); }
            .featured-grid { grid-template-columns: repeat(2, 1fr); }
            .feature-card:first-child { grid-column: span 2; }
            .category-grid { grid-template-columns: repeat(2, 1fr); }
            .rank-layout { grid-template-columns: 1fr; }
            .topic-grid { grid-template-columns: repeat(2, 1fr); }
            .audience-list { grid-template-columns: repeat(2, 1fr); }
            .audience-item:nth-child(2) { border-right: 0; }
            .audience-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
            .news-grid { grid-template-columns: 1fr; }
            .footer-grid { grid-template-columns: repeat(2, 1fr); }
            .closing-inner { align-items: flex-start; flex-direction: column; }
        }
        @media (max-width: 520px) {
            body { font-size: 14px; }
            .container { width: min(var(--container), calc(100% - 28px)); }
            .brand-name { max-width: 180px; white-space: normal; line-height: 1.25; }
            .hero { min-height: 600px; }
            .hero h1 { font-size: 36px; }
            .hero-subtitle { font-size: 17px; }
            .hero-actions .btn { width: 100%; }
            .hero-matrix { grid-template-columns: repeat(2, 1fr); }
            .matrix-cell { min-height: 90px; }
            .section { padding: 58px 0; }
            .section-heading { display: block; }
            .section-heading p { margin-top: 14px; }
            .signal-grid, .entry-grid, .category-grid, .featured-grid, .topic-grid, .stats-strip, .quotes, .audience-list { grid-template-columns: 1fr; }
            .signal-item, .signal-item:nth-child(-n+2), .audience-item, .audience-item:nth-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
            .signal-item:last-child, .audience-item:last-child { border-bottom: 0; }
            .film-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
            .film-name { font-size: 13px; }
            .film-meta { align-items: flex-start; flex-direction: column; gap: 3px; }
            .feature-card:first-child { grid-column: auto; }
            .feature-card { min-height: 220px; }
            .steps { grid-template-columns: repeat(2, 1fr); }
            .step { margin-right: 12px; padding-right: 12px; }
            .step:nth-child(2) { border-right: 0; margin-right: 0; }
            .step:nth-child(-n+2) { border-bottom: 1px solid var(--line); padding-bottom: 24px; }
            .step:nth-child(3), .step:nth-child(4) { padding-top: 24px; }
            .rank-item { grid-template-columns: 32px 1fr auto; gap: 9px; }
            .rank-heat { grid-column: 2; }
            .rank-score { grid-column: 3; grid-row: 1 / span 2; }
            .news-item { grid-template-columns: 105px 1fr; gap: 12px; }
            .footer-grid { grid-template-columns: 1fr 1fr; gap: 25px 18px; }
            .footer-brand { grid-column: span 2; }
            .age-dialog { padding: 26px 22px; }
            .age-actions { flex-direction: column; }
        }
