/* roulang page: index */
:root {
            --wine: #45182f;
            --plum: #6c2454;
            --berry: #b83f72;
            --coral: #ef806f;
            --gold: #f3c87b;
            --mint: #a9d9c4;
            --cream: #fff8f2;
            --paper: #fffdfb;
            --ink: #241b27;
            --muted: #746a76;
            --line: #eadfe4;
            --soft: #f7edf1;
            --radius-xl: 30px;
            --radius-lg: 22px;
            --shadow: 0 18px 50px rgba(69, 24, 47, .12);
            --shadow-hover: 0 24px 64px rgba(69, 24, 47, .2);
        }
        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            color: var(--ink);
            background: var(--cream);
            font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
            font-size: 16px;
            line-height: 1.8;
            overflow-x: hidden;
        }
        a { color: var(--plum); text-decoration: none; transition: .25s ease; }
        a:hover { color: var(--berry); }
        a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible {
            outline: 3px solid rgba(239,128,111,.5);
            outline-offset: 3px;
        }
        img { display: block; max-width: 100%; }
        button, input { font: inherit; }
        button { cursor: pointer; }
        .container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
        .notice-bar {
            background: var(--wine);
            color: #fff8f2;
            font-size: 13px;
            padding: 8px 0;
        }
        .notice-inner { display:flex; align-items:center; justify-content:space-between; gap:18px; }
        .status-dot { display:inline-flex; align-items:center; gap:8px; }
        .status-dot::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 4px rgba(169,217,196,.14); }
        .notice-badge, .badge {
            display:inline-flex; align-items:center; gap:6px; padding:4px 10px;
            border-radius:999px; font-size:12px; line-height:1.3; font-weight:700;
        }
        .notice-badge { color:var(--wine); background:var(--gold); }
        .site-header { padding:18px 0; position:sticky; top:0; z-index:20; background:rgba(255,248,242,.93); backdrop-filter: blur(12px); border-bottom:1px solid rgba(234,223,228,.8); }
        .nav-shell { display:flex; align-items:center; justify-content:space-between; gap:24px; }
        .brand { display:flex; align-items:center; gap:11px; color:var(--wine); font-weight:900; letter-spacing:-.04em; white-space:nowrap; }
        .brand-mark { width:38px; height:38px; border-radius:13px; background:linear-gradient(135deg,var(--berry),var(--plum)); position:relative; box-shadow:0 8px 20px rgba(184,63,114,.24); }
        .brand-mark::after { content:""; position:absolute; width:13px; height:13px; border:3px solid var(--gold); border-radius:50%; left:12px; top:11px; }
        .brand-text { font-size:20px; }
        .nav-links { display:flex; align-items:center; gap:7px; margin-left:auto; }
        .nav-links a { padding:9px 14px; border-radius:999px; font-size:14px; font-weight:700; }
        .nav-links a:hover, .nav-links a.active { color:var(--wine); background:#f3e1e8; }
        .language-switch { display:flex; gap:3px; padding:4px; background:#f1e5e8; border-radius:999px; font-size:12px; font-weight:700; }
        .language-switch span { padding:5px 9px; border-radius:999px; color:var(--muted); }
        .language-switch .selected { color:#fff; background:var(--plum); }
        .menu-toggle { display:none; border:0; background:var(--soft); color:var(--wine); border-radius:12px; padding:8px 12px; }
        .hero { padding:72px 0 82px; position:relative; }
        .hero::before { content:""; position:absolute; width:420px; height:420px; right:-180px; top:-100px; border-radius:50%; background:rgba(239,128,111,.14); filter:blur(3px); z-index:-1; }
        .hero-grid { display:grid; grid-template-columns:1fr 1.06fr; gap:58px; align-items:center; }
        .eyebrow { color:var(--berry); font-weight:900; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
        h1,h2,h3 { color:var(--wine); line-height:1.2; letter-spacing:-.045em; margin:0 0 18px; }
        h1 { font-size:clamp(40px,5.3vw,68px); max-width:650px; }
        h2 { font-size:clamp(28px,3.4vw,42px); }
        h3 { font-size:21px; }
        .hero-copy p { color:var(--muted); font-size:17px; max-width:600px; margin:0 0 28px; }
        .button-row { display:flex; flex-wrap:wrap; gap:12px; }
        .button {
            margin:0; border:0; border-radius:999px; padding:13px 21px; font-weight:800;
            background:linear-gradient(110deg,var(--berry),var(--plum)); color:#fff; box-shadow:0 10px 24px rgba(108,36,84,.2);
            transition:.25s ease;
        }
        .button:hover { color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-hover); background:linear-gradient(110deg,var(--coral),var(--berry)); }
        .button.secondary { color:var(--wine); background:#fff; border:1px solid var(--line); box-shadow:none; }
        .button.secondary:hover { color:var(--berry); border-color:var(--coral); background:#fff8f6; }
        .hero-note { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
        .badge { color:var(--plum); background:#f3e1e8; }
        .badge.warm { color:#6b4319; background:#f8e7bb; }
        .badge.green { color:#245949; background:#dceddf; }
        .index-board { min-height:390px; position:relative; padding:24px; border-radius:var(--radius-xl); background:linear-gradient(140deg,#4a1c3b 0%,#782a5c 53%,#c45a73 100%); color:#fff; overflow:hidden; box-shadow:var(--shadow); }
        .index-board::before,.index-board::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.22); border-radius:50%; }
        .index-board::before { width:310px; height:310px; right:-95px; top:-80px; }
        .index-board::after { width:210px; height:210px; left:-80px; bottom:-100px; }
        .board-top { display:flex; justify-content:space-between; position:relative; z-index:1; font-size:12px; opacity:.85; }
        .board-center { position:relative; z-index:1; margin:48px 0 44px; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:end; }
        .board-center h2 { color:#fff; font-size:36px; max-width:330px; }
        .board-center p { color:rgba(255,255,255,.74); font-size:14px; margin:0; }
        .index-ring { width:100px; height:100px; border:9px solid rgba(243,200,123,.9); border-left-color:rgba(255,255,255,.25); border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:900; font-size:21px; transform:rotate(-28deg); }
        .board-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; position:relative; z-index:1; }
        .board-cell { padding:13px; border:1px solid rgba(255,255,255,.2); border-radius:16px; background:rgba(255,255,255,.1); }
        .board-cell strong { display:block; font-size:18px; color:var(--gold); }
        .board-cell small { color:rgba(255,255,255,.72); font-size:12px; }
        .section { padding:92px 0; }
        .section.soft-bg { background:var(--soft); }
        .section-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:34px; }
        .section-head p { color:var(--muted); max-width:510px; margin:0; }
        .issue-grid { display:grid; grid-template-columns:1.15fr .85fr 1fr; gap:16px; align-items:start; }
        .issue-card { padding:25px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 8px 24px rgba(69,24,47,.05); }
        .issue-card:nth-child(2) { margin-top:34px; background:#f8e6e7; }
        .issue-card:nth-child(3) { margin-top:12px; background:#f7efd9; }
        .issue-no { color:var(--berry); font-weight:900; font-size:13px; }
        .issue-card p,.feature-card p,.timeline-item p,.quote-card p,.faq-list p { color:var(--muted); margin:0; font-size:14px; }
        .category-layout { display:grid; grid-template-columns:1.3fr .7fr; gap:20px; }
        .category-card { position:relative; min-height:280px; padding:28px; border-radius:var(--radius-xl); overflow:hidden; color:#fff; background:linear-gradient(130deg,var(--wine),var(--plum)); box-shadow:var(--shadow); }
        .category-card.alt { background:linear-gradient(130deg,#8f3c60,#e68373); }
        .category-card h3 { color:#fff; font-size:28px; max-width:330px; }
        .category-card p { color:rgba(255,255,255,.78); max-width:390px; font-size:14px; }
        .category-card .big-index { position:absolute; right:24px; bottom:6px; font-size:105px; line-height:1; font-weight:900; color:rgba(255,255,255,.1); }
        .category-meta { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }
        .category-card .badge { color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2); }
        .category-card .button { background:var(--gold); color:var(--wine); box-shadow:none; }
        .category-card .button:hover { color:var(--wine); background:#fff0c9; }
        .metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; }
        .metric { padding:26px 22px; background:var(--paper); }
        .metric strong { display:block; color:var(--plum); font-size:34px; line-height:1.1; }
        .metric span { display:block; color:var(--muted); font-size:13px; margin-top:8px; }
        .timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
        .timeline-item { padding:22px; border-left:3px solid var(--coral); background:var(--paper); border-radius:0 18px 18px 0; }
        .timeline-item time { color:var(--berry); font-weight:900; font-size:13px; }
        .timeline-item h3 { font-size:18px; margin:9px 0; }
        .feedback-track { display:flex; gap:16px; overflow-x:auto; padding:4px 4px 16px; scrollbar-color:var(--berry) transparent; }
        .quote-card { min-width:280px; max-width:340px; padding:24px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 8px 20px rgba(69,24,47,.05); }
        .quote-mark { color:var(--coral); font-size:34px; line-height:1; font-weight:900; }
        .quote-meta { display:flex; justify-content:space-between; margin-top:20px; color:var(--plum); font-size:12px; font-weight:800; }
        .faq-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
        details { background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:0 20px; }
        summary { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--wine); font-weight:800; cursor:pointer; list-style:none; }
        summary::-webkit-details-marker { display:none; }
        summary::after { content:"+"; color:var(--berry); font-size:23px; transition:.2s; }
        details[open] summary::after { content:"−"; transform:rotate(180deg); }
        details p { padding:0 0 18px; }
        .cta-panel { position:relative; overflow:hidden; padding:46px 52px; border-radius:var(--radius-xl); color:#fff; background:linear-gradient(110deg,var(--wine),var(--berry)); box-shadow:var(--shadow); }
        .cta-panel::after { content:""; position:absolute; width:280px; height:280px; border:1px solid rgba(255,255,255,.2); border-radius:50%; right:-60px; top:-120px; }
        .cta-panel h2 { color:#fff; max-width:670px; }
        .cta-panel p { color:rgba(255,255,255,.76); max-width:680px; margin-bottom:24px; }
        .cta-panel .button { background:var(--gold); color:var(--wine); box-shadow:none; }
        .site-footer { padding:44px 0 22px; color:rgba(255,255,255,.7); background:var(--wine); }
        .footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; padding-bottom:32px; }
        .site-footer .brand { color:#fff; margin-bottom:14px; }
        .site-footer p { font-size:13px; margin:0; max-width:380px; }
        .footer-title { color:var(--gold); font-size:13px; font-weight:900; margin-bottom:12px; }
        .footer-links { display:grid; gap:7px; font-size:13px; }
        .footer-links a { color:rgba(255,255,255,.72); }
        .footer-links a:hover { color:#fff; }
        .copyright { border-top:1px solid rgba(255,255,255,.14); padding-top:18px; font-size:12px; display:flex; justify-content:space-between; gap:18px; }
        .age-modal { display:none; position:fixed; inset:0; z-index:50; background:rgba(36,27,39,.75); place-items:center; padding:20px; }
        .age-modal.show { display:grid; }
        .age-dialog { max-width:480px; padding:34px; border-radius:26px; background:var(--paper); box-shadow:var(--shadow-hover); }
        .age-dialog h2 { font-size:30px; }
        .age-dialog p { color:var(--muted); font-size:14px; }
        .age-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }
        @media (max-width:1024px) { .hero-grid { gap:30px; } .section { padding:72px 0; } }
        @media (max-width:768px) {
            .container { width:min(100% - 28px, 620px); }
            .site-header { padding:12px 0; }
            .menu-toggle { display:block; }
            .nav-links { display:none; position:absolute; left:14px; right:14px; top:68px; padding:12px; flex-direction:column; align-items:stretch; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
            .nav-links.open { display:flex; }
            .nav-links a { text-align:center; }
            .language-switch { margin-left:auto; }
            .hero { padding:54px 0 62px; }
            .hero-grid,.category-layout { grid-template-columns:1fr; }
            .index-board { min-height:340px; }
            .issue-grid,.timeline { grid-template-columns:1fr 1fr; }
            .issue-card:nth-child(2),.issue-card:nth-child(3) { margin-top:0; }
            .metrics { grid-template-columns:1fr 1fr; }
            .faq-list { grid-template-columns:1fr; }
            .footer-grid { grid-template-columns:1fr 1fr; }
            .footer-grid > :first-child { grid-column:1/-1; }
        }
        @media (max-width:520px) {
            .brand-text { font-size:17px; }
            .brand-mark { width:34px; height:34px; }
            .notice-inner { align-items:flex-start; flex-direction:column; gap:5px; }
            h1 { font-size:40px; }
            .section-head { display:block; }
            .section-head p { margin-top:12px; }
            .issue-grid,.timeline { grid-template-columns:1fr; }
            .metrics { grid-template-columns:1fr 1fr; }
            .metric { padding:20px 14px; }
            .metric strong { font-size:28px; }
            .cta-panel { padding:32px 24px; }
            .footer-grid { grid-template-columns:1fr; }
            .footer-grid > :first-child { grid-column:auto; }
            .copyright { display:block; }
            .copyright span { display:block; margin-top:8px; }
        }
        @media (prefers-reduced-motion:reduce) {
            *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
        }

/* roulang page: category1 */
:root{
      --wine:#45182f;--plum:#6c2454;--berry:#b83f72;--coral:#ef806f;--gold:#f3c87b;
      --mint:#a9d9c4;--cream:#fff8f2;--paper:#fffdfb;--ink:#241b27;--muted:#746a76;
      --line:#eadfe4;--soft:#f7edf1;--radius-xl:30px;--radius-lg:22px;
      --shadow:0 18px 50px rgba(69,24,47,.12);--shadow-hover:0 24px 64px rgba(69,24,47,.2);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--ink);background:var(--cream);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-size:16px;line-height:1.8;overflow-x:hidden}
    h1,h2,h3,h4,p{margin-top:0} h1,h2,h3,h4{color:var(--wine);line-height:1.25;font-weight:900}
    h1{font-size:clamp(38px,5vw,62px);letter-spacing:-.055em;margin:12px 0 20px}
    h2{font-size:clamp(28px,3.5vw,42px);letter-spacing:-.04em;margin-bottom:14px}
    h3{font-size:22px;margin-bottom:10px}
    a{color:var(--plum);text-decoration:none;transition:.25s ease}
    a:hover{color:var(--berry)}
    a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid rgba(239,128,111,.55);outline-offset:3px}
    img{display:block;max-width:100%} button,input{font:inherit} button{cursor:pointer}
    .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
    .top-strip{background:var(--wine);color:#fff;padding:8px 0;font-size:13px}
    .strip-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
    .status-dot{display:inline-block;width:8px;height:8px;background:var(--mint);border-radius:50%;margin-right:7px}
    .notice-badge,.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;line-height:1.3;font-weight:700}
    .notice-badge{color:var(--wine);background:var(--gold)}
    .site-header{padding:18px 0;position:sticky;top:0;z-index:20;background:rgba(255,248,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(234,223,228,.8)}
    .nav-shell{display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:flex;align-items:center;gap:11px;color:var(--wine);font-weight:900;letter-spacing:-.04em;white-space:nowrap}
    .brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--berry),var(--plum));position:relative;box-shadow:0 8px 20px rgba(184,63,114,.24)}
    .brand-mark:after{content:"";position:absolute;width:13px;height:13px;border:3px solid var(--gold);border-radius:50%;left:12px;top:11px}
    .brand-text{font-size:20px}
    .nav-links{display:flex;align-items:center;gap:7px;margin-left:auto}
    .nav-links a{padding:9px 14px;border-radius:999px;font-size:14px;font-weight:700}
    .nav-links a:hover,.nav-links a.active{color:var(--wine);background:#f3e1e8}
    .lang-switch{display:flex;padding:4px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}
    .lang-switch span{padding:5px 9px;border-radius:999px;color:var(--muted)}
    .lang-switch .selected{background:var(--wine);color:#fff}
    .menu-toggle{display:none;border:0;background:var(--soft);color:var(--wine);border-radius:12px;padding:8px 12px}
    .hero{padding:68px 0 76px;background:linear-gradient(135deg,#fff8f2 20%,#f7e5eb 100%);position:relative}
    .hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}
    .eyebrow{color:var(--berry);font-weight:900;font-size:13px;letter-spacing:.12em}
    .hero-copy p{color:var(--muted);font-size:17px;max-width:610px;margin-bottom:26px}
    .button-row{display:flex;flex-wrap:wrap;gap:12px}
    .button{margin:0;border:0;border-radius:999px;padding:13px 21px;font-weight:800;background:linear-gradient(110deg,var(--berry),var(--plum));color:#fff;box-shadow:0 10px 24px rgba(108,36,84,.2);transition:.25s ease}
    .button:hover{color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-hover);background:linear-gradient(110deg,var(--coral),var(--berry))}
    .button.secondary{color:var(--wine);background:#fff;border:1px solid var(--line);box-shadow:none}
    .button.secondary:hover{color:var(--berry);border-color:var(--coral);background:#fff8f6}
    .hero-note{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
    .badge{color:var(--plum);background:#f3e1e8}.badge.warm{color:#6b4319;background:#f8e7bb}.badge.green{color:#245949;background:#dceddf}
    .guide-cover{min-height:390px;padding:30px;border-radius:var(--radius-xl);color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--wine),var(--plum) 58%,var(--coral));box-shadow:var(--shadow)}
    .guide-cover:before{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(255,255,255,.3);border-radius:50%;right:-50px;top:-55px}
    .guide-cover:after{content:"";position:absolute;width:180px;height:180px;background:rgba(243,200,123,.2);border-radius:50%;left:-65px;bottom:-70px}
    .cover-top,.cover-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center}
    .cover-number{font-size:76px;line-height:1;font-weight:900;color:rgba(255,255,255,.17)}
    .cover-label{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.15em}
    .guide-cover h2{color:#fff;font-size:36px;max-width:390px;margin:74px 0 18px}
    .guide-cover p{color:rgba(255,255,255,.76);max-width:390px;font-size:14px}
    .cover-bottom{position:absolute;left:30px;right:30px;bottom:26px;border-top:1px solid rgba(255,255,255,.25);padding-top:15px;font-size:12px;color:rgba(255,255,255,.8)}
    .section{padding:88px 0}.section.soft-bg{background:var(--soft)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}
    .section-head p{color:var(--muted);max-width:520px;margin:0}
    .filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:18px;margin-bottom:28px;box-shadow:0 8px 24px rgba(69,24,47,.05)}
    .filter-title{font-weight:900;color:var(--wine);margin-right:5px}
    .filter-chip{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:8px 13px;font-size:13px;transition:.2s}
    .filter-chip:hover,.filter-chip.active{background:var(--wine);border-color:var(--wine);color:#fff}
    .content-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:start}
    .guide-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .guide-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:.25s;box-shadow:0 8px 25px rgba(69,24,47,.05)}
    .guide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
    .guide-card.featured{grid-column:span 2;display:grid;grid-template-columns:.9fr 1.1fr}
    .abstract-cover{min-height:190px;background:linear-gradient(135deg,#69254f,#d9697a);position:relative;overflow:hidden}
    .guide-card.featured .abstract-cover{min-height:250px}
    .abstract-cover:before{content:"";position:absolute;width:150px;height:150px;border:18px solid rgba(255,255,255,.14);border-radius:50%;right:22px;top:23px}
    .abstract-cover:after{content:"";position:absolute;width:80px;height:80px;background:var(--gold);opacity:.65;border-radius:24px;left:28px;bottom:22px;transform:rotate(28deg)}
    .cover-code{position:absolute;z-index:1;left:18px;top:17px;color:#fff;font-weight:900;font-size:13px;letter-spacing:.1em}
    .guide-body{padding:22px}.guide-body p{font-size:14px;color:var(--muted);margin-bottom:16px}
    .meta-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
    .card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
    .text-link{font-weight:900;color:var(--berry)}
    .side-panel{padding:25px;background:var(--wine);color:#fff;border-radius:var(--radius-lg);position:sticky;top:105px}
    .side-panel h3{color:#fff}.side-panel p{color:rgba(255,255,255,.72);font-size:14px}
    .side-list{list-style:none;margin:22px 0 0;padding:0}.side-list li{padding:12px 0;border-top:1px solid rgba(255,255,255,.18);display:flex;gap:12px;font-size:14px}
    .side-list strong{color:var(--gold);font-size:13px}
    .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .info-card{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}
    .info-card .icon{font-size:26px;color:var(--coral)}.info-card p{color:var(--muted);font-size:14px;margin:0}
    .faq-list{max-width:850px;margin:auto}.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-bottom:10px;padding:0 20px}
    .faq-item summary{list-style:none;cursor:pointer;padding:18px 30px 18px 0;font-weight:800;color:var(--wine);position:relative}
    .faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;font-size:22px;color:var(--berry)}
    .faq-item[open] summary:after{content:"−"}.faq-item p{padding:0 0 18px;color:var(--muted);font-size:14px;margin:0}
    .cta{padding:0 0 88px}.cta-card{padding:42px 48px;border-radius:var(--radius-xl);background:linear-gradient(110deg,var(--plum),var(--berry));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
    .cta-card h2{color:#fff;margin-bottom:8px}.cta-card p{color:rgba(255,255,255,.78);margin:0}
    .site-footer{background:var(--wine);color:rgba(255,255,255,.75);padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .9fr;gap:45px}.site-footer .brand{color:#fff}.site-footer p{font-size:14px;max-width:350px}.footer-title{font-weight:900;color:var(--gold);margin-bottom:12px}.footer-links{display:grid;gap:6px;font-size:14px}.footer-links a{color:rgba(255,255,255,.75)}.footer-links a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.16);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:12px}
    .reveal{border:0;border-radius:22px;background:var(--paper);padding:30px;box-shadow:var(--shadow)}.reveal h3{margin-top:0}
    @media(max-width:1024px){.hero-grid{gap:30px}.content-layout{grid-template-columns:1fr}.side-panel{position:static}.footer-grid{gap:25px}}
    @media(max-width:768px){.container{width:min(100% - 30px,620px)}.nav-shell{flex-wrap:wrap}.menu-toggle{display:block}.lang-switch{margin-left:auto}.nav-links{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;margin:0}.nav-links.open{display:flex}.nav-links a{text-align:center}.hero{padding:50px 0 60px}.hero-grid{grid-template-columns:1fr}.guide-cover{min-height:330px}.section{padding:65px 0}.info-grid{grid-template-columns:1fr}.cta-card{padding:32px 25px;display:block}.cta-card .button{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}.copyright{display:block}.copyright span{display:block;margin-bottom:7px}}
    @media(max-width:520px){h1{font-size:38px}.strip-inner{display:block}.strip-inner .notice-badge{margin-top:5px}.brand-text{font-size:17px}.lang-switch{order:2}.guide-list{grid-template-columns:1fr}.guide-card.featured{grid-column:auto;display:block}.guide-card.featured .abstract-cover{min-height:190px}.guide-cover h2{font-size:29px;margin-top:55px}.footer-grid{grid-template-columns:1fr}.filter-bar{align-items:flex-start;flex-direction:column}.card-footer{align-items:flex-start;flex-direction:column}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* roulang page: category2 */
:root{
      --wine:#45182f;--plum:#6c2454;--berry:#b83f72;--coral:#ef806f;--gold:#f3c87b;
      --mint:#a9d9c4;--cream:#fff8f2;--paper:#fffdfb;--ink:#241b27;--muted:#746a76;
      --line:#eadfe4;--soft:#f7edf1;--radius-xl:30px;--radius-lg:22px;
      --shadow:0 18px 50px rgba(69,24,47,.12);--shadow-hover:0 24px 64px rgba(69,24,47,.2);
    }
    *,*:before,*:after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--cream);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-size:16px;line-height:1.8;overflow-x:hidden}
    h1,h2,h3,p{margin-top:0} h1,h2,h3{line-height:1.25;letter-spacing:-.035em}
    h1{font-size:clamp(36px,5vw,62px);margin-bottom:20px} h2{font-size:clamp(28px,3.5vw,42px);margin-bottom:14px} h3{font-size:21px}
    a{color:var(--plum);text-decoration:none;transition:.25s ease} a:hover{color:var(--berry)}
    a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid rgba(239,128,111,.5);outline-offset:3px}
    img{display:block;max-width:100%} button,input{font:inherit} button{cursor:pointer}
    .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
    .top-notice{background:var(--wine);color:#fff;padding:8px 0;font-size:13px}
    .notice-inner{display:flex;justify-content:space-between;gap:16px;align-items:center}
    .notice-badge,.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;line-height:1.3;font-weight:800}
    .notice-badge{background:var(--gold);color:var(--wine)}
    .site-header{padding:18px 0;position:sticky;top:0;z-index:20;background:rgba(255,248,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(234,223,228,.8)}
    .nav-shell{display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:flex;align-items:center;gap:11px;color:var(--wine);font-weight:900;letter-spacing:-.04em;white-space:nowrap}
    .brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--berry),var(--plum));position:relative;box-shadow:0 8px 20px rgba(184,63,114,.24)}
    .brand-mark:after{content:"";position:absolute;width:13px;height:13px;border:3px solid var(--gold);border-radius:50%;left:12px;top:11px}
    .brand-text{font-size:20px}.nav-links{display:flex;align-items:center;gap:7px;margin-left:auto}
    .nav-links a{padding:9px 14px;border-radius:999px;font-size:14px;font-weight:700}
    .nav-links a:hover,.nav-links a.active{color:var(--wine);background:#f3e1e8}
    .language-switch{display:flex;padding:4px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}
    .language-switch button{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:7px 10px}
    .language-switch button.active,.language-switch button:hover{background:var(--wine);color:#fff}
    .menu-toggle{display:none;border:0;background:var(--soft);color:var(--wine);border-radius:12px;padding:8px 12px}
    .hero{padding:72px 0 64px;position:relative}.hero:before{content:"";position:absolute;width:430px;height:430px;right:-170px;top:-100px;border-radius:50%;background:rgba(239,128,111,.14);z-index:-1}
    .hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center}
    .eyebrow{color:var(--berry);font-weight:900;font-size:13px;letter-spacing:.12em}
    .hero-copy p{color:var(--muted);font-size:17px;max-width:600px;margin-bottom:28px}
    .button-row{display:flex;flex-wrap:wrap;gap:12px}.button{margin:0;border:0;border-radius:999px;padding:13px 21px;font-weight:800;background:linear-gradient(110deg,var(--berry),var(--plum));color:#fff;box-shadow:0 10px 24px rgba(108,36,84,.2);transition:.25s ease}
    .button:hover{color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-hover);background:linear-gradient(110deg,var(--coral),var(--berry))}
    .button.secondary{color:var(--wine);background:#fff;border:1px solid var(--line);box-shadow:none}.button.secondary:hover{color:var(--berry);border-color:var(--coral);background:#fff8f6}
    .hero-note{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.badge{color:var(--plum);background:#f3e1e8}.badge.warm{color:#6b4319;background:#f8e7bb}.badge.green{color:#245949;background:#dceddf}
    .hero-panel{min-height:390px;padding:28px;border-radius:var(--radius-xl);color:#fff;background:linear-gradient(135deg,var(--wine),var(--plum) 58%,var(--berry));box-shadow:var(--shadow);position:relative;overflow:hidden}
    .hero-panel:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-70px;bottom:-80px}
    .panel-top,.panel-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-top{margin-bottom:36px}
    .panel-label{font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.7)}.panel-index{font-size:44px;font-weight:900;line-height:1;color:rgba(255,255,255,.22)}
    .filter-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
    .filter-tile{padding:17px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);border-radius:18px}.filter-tile strong{display:block;font-size:20px}.filter-tile span{font-size:12px;color:rgba(255,255,255,.72)}
    .panel-line{height:1px;background:rgba(255,255,255,.2);margin:24px 0}.panel-status{display:flex;align-items:center;gap:9px;font-size:13px;color:rgba(255,255,255,.82)}.status-dot{width:9px;height:9px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 5px rgba(169,217,196,.14)}
    .section{padding:88px 0}.section.soft-bg{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-head p{color:var(--muted);max-width:520px;margin:0}
    .filter-bar{display:flex;flex-wrap:wrap;gap:10px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 24px rgba(69,24,47,.05);margin-bottom:28px}
    .filter-chip{padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:800;transition:.2s}
    .filter-chip:hover,.filter-chip.active{background:var(--plum);border-color:var(--plum);color:#fff}
    .filter-select{margin-left:auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--wine);padding:8px 14px;min-width:150px}
    .update-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:24px;align-items:start}
    .side-card{background:var(--wine);color:#fff;border-radius:var(--radius-lg);padding:26px;position:sticky;top:105px;box-shadow:var(--shadow)}
    .side-card h3{color:#fff}.side-card p{color:rgba(255,255,255,.72);font-size:14px}.side-list{list-style:none;margin:24px 0 0;padding:0}.side-list li{border-top:1px solid rgba(255,255,255,.16);padding:13px 0;font-size:14px;display:flex;justify-content:space-between;gap:10px}.side-list span{color:var(--gold);font-weight:800}
    .update-list{display:grid;gap:14px}.update-item{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;transition:.25s}
    .update-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#dcb9c8}.cover{height:92px;border-radius:17px;background:linear-gradient(145deg,var(--coral),var(--plum));position:relative;overflow:hidden}.cover:after{content:"";position:absolute;width:70px;height:70px;border:12px solid rgba(255,255,255,.18);border-radius:50%;right:-12px;bottom:-22px}.cover.alt{background:linear-gradient(145deg,#d59674,var(--wine))}.cover.mint{background:linear-gradient(145deg,#83bba6,var(--plum))}
    .item-meta{display:flex;gap:8px;flex-wrap:wrap;margin:7px 0}.item-meta .badge{font-size:11px}.update-item h3{font-size:19px;margin:0 0 3px}.update-item p{margin:0;color:var(--muted);font-size:13px}
    .item-action{white-space:nowrap}.item-action a{font-weight:800;font-size:13px}
    .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}.metric strong{display:block;font-size:31px;color:var(--plum);line-height:1.2}.metric span{font-size:13px;color:var(--muted)}
    .faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:38px;align-items:start}.faq-intro p{color:var(--muted)}.faq-list{margin:0}.faq-list details{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-bottom:10px;padding:0 20px}.faq-list summary{padding:17px 0;font-weight:800;color:var(--wine);cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";float:right;color:var(--berry);font-size:22px}.faq-list details[open] summary:after{content:"−"}.faq-list p{padding:0 0 17px}
    .cta{padding:34px 42px;border-radius:var(--radius-xl);background:linear-gradient(110deg,var(--berry),var(--plum));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:var(--shadow)}.cta h2{color:#fff;margin-bottom:8px}.cta p{color:rgba(255,255,255,.78);margin:0;max-width:620px}.cta .button{background:var(--gold);color:var(--wine);box-shadow:none;white-space:nowrap}.cta .button:hover{background:#fff0c9;color:var(--wine)}
    .site-footer{background:var(--wine);color:#fff;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.site-footer .brand{color:#fff}.site-footer p{color:rgba(255,255,255,.68);font-size:13px;max-width:360px;margin-top:18px}.footer-title{font-weight:800;margin-bottom:12px;color:var(--gold)}.footer-links{display:grid;gap:7px}.footer-links a{color:rgba(255,255,255,.72);font-size:13px}.footer-links a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.52);font-size:12px}
    @media(max-width:1024px){.hero-grid{gap:32px}.update-layout{grid-template-columns:1fr}.side-card{position:static}.metrics{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:768px){.container{width:min(100% - 30px,600px)}.top-notice .notice-inner{align-items:flex-start;flex-direction:column;gap:4px}.site-header{padding:13px 0}.nav-shell{flex-wrap:wrap}.menu-toggle{display:block}.nav-links{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;margin:0;padding-top:10px}.nav-links.open{display:flex}.nav-links a{text-align:center}.language-switch{margin-left:auto}.hero{padding:52px 0}.hero-grid{grid-template-columns:1fr}.hero-panel{min-height:330px}.section{padding:64px 0}.section-head{display:block}.section-head p{margin-top:12px}.update-item{grid-template-columns:82px 1fr}.cover{height:78px}.item-action{grid-column:2}.cta{display:block;padding:28px}.cta .button{margin-top:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}}
    @media(max-width:520px){h1{font-size:38px}.filter-select{margin-left:0;width:100%}.filter-bar{padding:12px}.update-item{gap:13px;padding:13px}.update-item h3{font-size:17px}.metrics{gap:10px}.metric{padding:18px}.metric strong{font-size:25px}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.copyright span{display:block;margin-bottom:5px}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
