/* roulang page: index */
:root{
      --ink:#171916;
      --ink-soft:#22251f;
      --paper:#e8e5da;
      --paper-deep:#d8d5c9;
      --moss:#667064;
      --smoke:#343733;
      --vermilion:#c65b3d;
      --vermilion-dark:#a94830;
      --line:rgba(23,25,22,.18);
      --line-light:rgba(232,229,218,.22);
      --text:#20221e;
      --muted:#62655e;
      --shadow:0 8px 24px rgba(0,0,0,.12);
      --serif:"Noto Serif SC","Songti SC",STSong,serif;
      --sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      --radius:5px;
      --ease:200ms ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.8}
    a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--ease),border-color var(--ease),background var(--ease),transform var(--ease)}
    a:hover{color:var(--vermilion)}
    img{display:block;width:100%;height:100%;object-fit:cover}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid var(--vermilion);outline-offset:3px}
    .grid-container{max-width:1240px;padding-left:28px;padding-right:28px}
    .site-header{padding:20px 0 0;background:var(--ink)}
    .nav-panel{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 12px 10px 16px;background:#20231f;border:1px solid rgba(232,229,218,.15);box-shadow:var(--shadow)}
    .brand{display:flex;align-items:center;gap:10px;min-width:210px;text-decoration:none;color:var(--paper)}
    .brand-mark{width:33px;height:33px;display:grid;place-items:center;background:var(--vermilion);color:var(--ink);font:700 15px/1 var(--serif)}
    .brand-name{font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.2}
    .desktop-nav{display:flex;flex:1;gap:7px;justify-content:center}
    .nav-item{display:flex;align-items:center;gap:7px;min-height:46px;padding:0 12px;color:#c9c8bc;text-decoration:none;font-size:13px;border:1px solid transparent}
    .nav-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
    .nav-item:hover{color:var(--paper);border-color:rgba(232,229,218,.28)}
    .nav-item.active{position:relative;background:var(--paper);color:var(--ink);font-weight:700}
    .nav-item.active:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--vermilion)}
    .button{margin:0;border-radius:var(--radius);font-weight:700;letter-spacing:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:all var(--ease)}
    .button.primary{background:var(--vermilion);color:#1d1e1a;border:1px solid var(--vermilion)}
    .button.primary:hover{background:var(--paper);border-color:var(--vermilion);color:var(--ink)}
    .button.ghost{color:var(--paper);background:transparent;border:1px solid rgba(232,229,218,.5)}
    .button.ghost:hover{background:var(--moss);border-color:var(--moss);color:white}
    .nav-cta{white-space:nowrap;padding:0 15px;font-size:14px}
    .mobile-toggle{display:none;background:transparent;color:var(--paper);border:1px solid rgba(232,229,218,.35);width:44px;height:44px;align-items:center;justify-content:center}
    .mobile-menu{display:none;padding:12px;background:#20231f;border:1px solid rgba(232,229,218,.15);border-top:0}
    .mobile-menu.is-open{display:block}
    .mobile-menu .nav-item{margin:4px;justify-content:center;background:#2b2e29}
    .mobile-menu .nav-cta{margin:8px 4px 4px;width:calc(100% - 8px)}
    .hero{position:relative;min-height:640px;overflow:hidden;background:var(--ink);color:var(--paper)}
    .hero:before{content:"";position:absolute;inset:0;background:
      linear-gradient(90deg,rgba(23,25,22,.94) 0%,rgba(23,25,22,.7) 49%,rgba(23,25,22,.87) 100%),
      repeating-linear-gradient(117deg,transparent 0 16px,rgba(232,229,218,.045) 17px 18px),
      linear-gradient(130deg,#31352e 0%,#171916 44%,#4a483f 100%)}
    .hero:after{content:"";position:absolute;inset:0;opacity:.22;background-image:radial-gradient(rgba(232,229,218,.9) .7px,transparent .9px);background-size:7px 7px;mix-blend-mode:soft-light}
    .hero-inner{position:relative;z-index:1;padding-top:82px;padding-bottom:56px}
    .hero-topline{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-light);padding-top:13px;color:#c6c5b9;font-size:13px}
    .hero-kicker{color:#efc3b6;font-weight:700}
    .hero-grid{margin-top:32px;align-items:end}
    .hero h1{max-width:750px;margin:0 0 22px;font-family:var(--serif);font-size:60px;line-height:1.12;font-weight:700;color:#f1eee3}
    .hero-copy{max-width:650px;margin:0;color:#d0cfc4;font-size:17px;line-height:1.9}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
    .hero-actions .button{padding:0 20px}
    .cover-sheet{margin-left:auto;max-width:315px;padding:25px;background:var(--paper);color:var(--ink);box-shadow:10px 12px 0 rgba(198,91,61,.8)}
    .cover-sheet .cover-no{display:block;margin-bottom:24px;color:var(--vermilion);font:700 12px/1 var(--sans)}
    .cover-sheet h2{margin:0 0 24px;font:700 28px/1.28 var(--serif)}
    .cover-sheet ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
    .cover-sheet li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
    .cover-sheet b{font-weight:500;color:var(--muted)}
    .index-strip{position:relative;z-index:2;margin-top:-1px;background:var(--paper);border-top:1px solid rgba(232,229,218,.35)}
    .index-strip-inner{display:grid;grid-template-columns:repeat(4,1fr)}
    .index-unit{display:flex;gap:11px;align-items:center;min-height:76px;padding:13px 18px;border-right:1px solid var(--line);text-decoration:none}
    .index-unit:last-child{border:0}
    .index-no{font:700 13px/1 var(--serif);color:var(--vermilion)}
    .index-unit span:last-child{font-size:13px;line-height:1.45}
    .section{padding:104px 0}
    .section-heading{margin-bottom:38px}
    .eyebrow{display:block;margin-bottom:9px;color:var(--vermilion);font-size:12px;font-weight:700;letter-spacing:.08em}
    h2{margin:0;font:700 38px/1.25 var(--serif);color:var(--ink)}
    .section-desc{max-width:620px;margin:15px 0 0;color:var(--muted)}
    .coupon-section{padding-top:94px}
    .coupon-intro{max-width:280px;padding-right:20px}
    .coupon-intro p{margin:16px 0 24px;color:var(--muted)}
    .text-link{font-weight:700;text-decoration:underline}
    .coupon-list{border-top:1px solid var(--line)}
    .coupon-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}
    .coupon-row:hover{color:var(--text)}
    .coupon-row:hover .coupon-no,.coupon-row:hover .row-arrow{color:var(--vermilion)}
    .coupon-row:hover .coupon-title{border-color:var(--vermilion)}
    .coupon-no{font:700 27px/1 var(--serif);transition:color var(--ease)}
    .coupon-title{padding-bottom:3px;border-bottom:1px solid transparent;transition:border-color var(--ease)}
    .coupon-title strong{display:block;font:700 21px/1.35 var(--serif)}
    .coupon-title span{display:block;margin-top:5px;color:var(--muted);font-size:14px;line-height:1.65}
    .tag{display:inline-block;padding:3px 8px;border:1px solid var(--line);color:var(--moss);font-size:12px;line-height:1.3}
    .row-arrow{font-size:24px;transition:color var(--ease),transform var(--ease)}
    .coupon-row:hover .row-arrow{transform:translateX(4px)}
    .rules{background:#dcd9ce;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .rule-rail{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;border-top:1px solid var(--line)}
    .rule{position:relative;min-height:210px;padding:22px 20px;border-right:1px solid var(--line)}
    .rule:last-child{border-right:0}
    .rule-no{font:700 34px/1 var(--serif);color:var(--vermilion)}
    .rule h3{margin:42px 0 8px;font:700 20px/1.3 var(--serif)}
    .rule p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
    .data-band{padding:74px 0;background:var(--ink);color:var(--paper)}
    .data-band h2{color:var(--paper)}
    .data-band .section-desc{color:#c1c0b5}
    .stats{margin-top:40px;border-top:1px solid var(--line-light)}
    .stat{min-height:152px;padding:20px 20px 16px;border-right:1px solid var(--line-light)}
    .stat:last-child{border-right:0}
    .stat-label{font-size:12px;color:#c5c4b8}
    .stat-number{display:block;margin:14px 0 8px;color:#f1eee3;font:700 49px/1 var(--serif)}
    .stat-note{font-size:13px;color:#aeb0a6}
    .news-section{padding-bottom:80px}
    .news-list{border-top:1px solid var(--line)}
    .news-item{display:grid;grid-template-columns:110px 1fr auto;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}
    .news-date{font-size:13px;color:var(--moss)}
    .news-title{font:700 21px/1.35 var(--serif)}
    .news-summary{max-width:630px;margin-top:6px;color:var(--muted);font-size:14px;line-height:1.7}
    .feature-note{height:100%;padding:28px;background:var(--smoke);color:var(--paper);border-top:4px solid var(--vermilion)}
    .feature-note .tag{border-color:rgba(232,229,218,.35);color:#dddbcf}
    .feature-note h3{margin:20px 0 12px;font:700 27px/1.32 var(--serif)}
    .feature-note p{color:#c7c6bb;font-size:14px;line-height:1.8}
    .timeline{background:var(--paper-deep)}
    .timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px}
    .timeline-step{padding:0 19px 16px;border-left:1px solid var(--line)}
    .timeline-step:first-child{border-left:0}
    .timeline-step .time{display:block;margin-bottom:18px;color:var(--vermilion);font-weight:700;font-size:13px}
    .timeline-step h3{margin:0 0 8px;font:700 20px/1.35 var(--serif)}
    .timeline-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
    .faq-section{padding-top:96px;padding-bottom:104px}
    .accordion{margin:30px 0 0;border:0;background:transparent}
    .accordion-item{border:0;border-bottom:1px solid var(--line)}
    .accordion-title{position:relative;padding:20px 48px 20px 50px;background:transparent;border:0;color:var(--ink);font:700 18px/1.5 var(--serif);text-decoration:none}
    .accordion-title:before{left:10px;right:auto;top:21px;content:"+";color:var(--vermilion);font:400 25px/1 var(--sans)}
    .accordion-title:hover,.accordion-title:focus{background:#dfdcd1;color:var(--ink)}
    .accordion-item.is-active>.accordion-title:before{content:"−"}
    .accordion-content{padding:4px 50px 22px;border:0;background:transparent;color:var(--muted);font-size:15px;line-height:1.85}
    .contact{padding:84px 0;background:var(--ink);color:var(--paper)}
    .contact h2{color:var(--paper)}
    .contact .section-desc{color:#c4c3b8}
    .contact-points{margin:28px 0 0;padding:0;list-style:none;border-top:1px solid var(--line-light)}
    .contact-points li{padding:12px 0;border-bottom:1px solid var(--line-light);font-size:14px}
    .contact-points b{display:inline-block;width:84px;color:#edc3b6}
    .contact-form{padding-left:36px}
    label{display:block;margin-bottom:14px;color:#d8d6cb;font-size:13px;font-weight:700}
    input,select,textarea{width:100%;margin-top:6px;border:1px solid rgba(232,229,218,.3);border-radius:3px;background:var(--paper);color:var(--ink);box-shadow:none}
    input,select{height:44px;padding:0 11px}
    textarea{min-height:104px;padding:10px 11px;resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:var(--vermilion);box-shadow:0 0 0 3px rgba(198,91,61,.28);outline:0}
    .checkbox-label{display:flex;gap:9px;align-items:flex-start;font-weight:400;line-height:1.55}
    .checkbox-label input{width:17px;height:17px;margin:3px 0 0;accent-color:var(--vermilion)}
    .form-message{display:none;margin:14px 0 0;padding:10px 12px;background:#4a604c;color:#fff;font-size:14px}
    .form-message.show{display:block}
    .site-footer{background:#111310;color:#bcbcb1}
    .footer-main{padding:54px 0 35px}
    .footer-brand{font:700 22px/1.3 var(--serif);color:var(--paper)}
    .footer-desc{max-width:270px;margin:13px 0 0;font-size:13px;line-height:1.75}
    .footer-heading{margin:3px 0 11px;color:#f0ede2;font-size:13px;font-weight:700}
    .footer-links{margin:0;padding:0;list-style:none}
    .footer-links a{display:flex;align-items:center;min-height:32px;color:#bcbcb1;font-size:13px}
    .footer-links a:hover{color:var(--vermilion)}
    .footer-bottom{padding:16px 0;border-top:1px solid rgba(232,229,218,.14);font-size:12px;color:#898b83}
    .footer-bottom .grid-x{align-items:center}
    .footer-bottom a{margin-left:18px}
    .footer-bottom a:first-child{margin-left:0}
    @media(max-width:1023px){
      .brand{min-width:185px}.desktop-nav{gap:3px}.nav-item{padding:0 8px;font-size:12px}
      .hero h1{font-size:52px}.cover-sheet{max-width:280px}.section{padding:74px 0}
      .contact-form{padding-left:18px}
    }
    @media(max-width:767px){
      .grid-container{padding-left:18px;padding-right:18px}
      .site-header{padding-top:12px}.nav-panel{min-height:64px;padding:8px 10px}.brand{min-width:0;flex:1}
      .brand-name{font-size:16px}.desktop-nav,.nav-panel>.nav-cta{display:none}.mobile-toggle{display:flex}
      .mobile-menu{grid-template-columns:1fr 1fr}.mobile-menu.is-open{display:grid}
      .hero{min-height:580px}.hero-inner{padding-top:48px;padding-bottom:44px}.hero-topline span:last-child{display:none}
      .hero h1{font-size:42px}.hero-copy{font-size:15px}.cover-sheet{max-width:none;margin:28px 0 0;padding:19px;box-shadow:7px 8px 0 rgba(198,91,61,.75)}
      .cover-sheet h2{margin-bottom:15px;font-size:23px}.cover-sheet .cover-no{margin-bottom:14px}
      .index-strip-inner{grid-template-columns:1fr 1fr}.index-unit{min-height:67px;padding:9px;border-bottom:1px solid var(--line)}.index-unit:nth-child(2){border-right:0}
      .section{padding:52px 0}h2{font-size:31px}.section-desc{font-size:15px}
      .coupon-intro{max-width:none;padding-right:0;margin-bottom:26px}.coupon-row{grid-template-columns:45px 1fr 22px;gap:10px}.coupon-no{font-size:21px}.coupon-title strong{font-size:18px}
      .rule-rail,.timeline-grid{grid-template-columns:1fr 1fr}.rule:nth-child(2){border-right:0}.rule:nth-child(-n+2){border-bottom:1px solid var(--line)}.rule{min-height:180px;padding:18px 14px}
      .stat{border-bottom:1px solid var(--line-light)}.stat:nth-child(2){border-right:0}.stat-number{font-size:41px}
      .news-item{grid-template-columns:1fr 22px;gap:9px}.news-date{grid-column:1/2}.news-title,.news-summary{grid-column:1/2}.news-item .row-arrow{grid-column:2;grid-row:1/4}
      .feature-note{margin-top:28px}.timeline-step{min-height:185px;padding:0 14px 20px}.timeline-step:nth-child(odd){border-left:0}.timeline-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
      .accordion-title{padding:16px 30px 16px 39px;font-size:17px}.accordion-content{padding:2px 22px 18px 39px}
      .contact{padding:56px 0}.contact-form{padding-left:0;margin-top:34px}.footer-main{padding-top:42px}.footer-main .cell{margin-bottom:24px}.footer-bottom .text-right{text-align:left;margin-top:8px}
    }
    @media(max-width:520px){
      .mobile-menu{grid-template-columns:1fr}.mobile-menu .nav-item{justify-content:flex-start}
      .hero h1{font-size:36px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}
      .index-strip-inner{grid-template-columns:1fr}.index-unit{border-right:0}.rule-rail,.timeline-grid{grid-template-columns:1fr}.rule,.rule:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.rule:last-child{border-bottom:0}
      .timeline-step,.timeline-step:nth-child(odd){border-left:0;border-bottom:1px solid var(--line)}.timeline-step:last-child{border-bottom:0;min-height:0}
      .stat{border-right:0}.footer-bottom a{margin-left:0;margin-right:16px}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* roulang page: category2 */
:root{
 --ink:#171916;
 --ink-soft:#22251f;
 --paper:#e8e5da;
 --paper-deep:#d8d5c9;
 --moss:#667064;
 --smoke:#343733;
 --vermilion:#c65b3d;
 --vermilion-dark:#a94830;
 --line:rgba(23,25,22,.18);
 --line-light:rgba(232,229,218,.22);
 --text:#20221e;
 --muted:#62655e;
 --shadow:0 8px 24px rgba(0,0,0,.12);
 --serif:"Noto Serif SC","Songti SC",STSong,serif;
 --sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
 --radius:5px;
 --ease:200ms ease;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.8}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--ease),border-color var(--ease),background var(--ease),transform var(--ease)}
a:hover{color:var(--vermilion)}
img{display:block;width:100%;height:100%;object-fit:cover}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(198,91,61,.55);outline-offset:3px}
.grid-container{max-width:1240px;padding-left:28px;padding-right:28px}
.site-header{padding:20px 0 0;background:var(--ink)}
.nav-panel{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 12px 10px 16px;background:#20231f;border:1px solid rgba(232,229,218,.15);box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px;min-width:210px;text-decoration:none;color:var(--paper)}
.brand-mark{width:33px;height:33px;display:grid;place-items:center;background:var(--vermilion);color:var(--ink);font:700 15px/1 var(--serif)}
.brand-name{font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.2}
.desktop-nav{display:flex;flex:1;gap:7px;justify-content:center}
.nav-item{display:flex;align-items:center;gap:7px;min-height:46px;padding:0 12px;color:#c9c8bc;text-decoration:none;font-size:13px;border:1px solid transparent}
.nav-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.nav-item:hover{color:var(--paper);border-color:rgba(232,229,218,.28)}
.nav-item.active{position:relative;background:var(--paper);color:var(--ink);font-weight:700}
.nav-item.active:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--vermilion)}
.button{margin:0;border-radius:var(--radius);font-weight:700;letter-spacing:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;padding:0 17px;transition:all var(--ease)}
.button.primary{background:var(--vermilion);color:#1d1e1a;border:1px solid var(--vermilion)}
.button.primary:hover{background:var(--paper);border-color:var(--vermilion);color:var(--ink)}
.button.ghost{color:var(--paper);background:transparent;border:1px solid rgba(232,229,218,.5)}
.button.ghost:hover{background:var(--moss);border-color:var(--moss);color:white}
.nav-cta{white-space:nowrap;padding:0 15px;font-size:14px}
.mobile-toggle{display:none;background:transparent;color:var(--paper);border:1px solid rgba(232,229,218,.35);width:44px;height:44px;align-items:center;justify-content:center}
.mobile-menu{display:none;padding:12px;background:#20231f;border:1px solid rgba(232,229,218,.15);border-top:0}
.mobile-menu.is-open{display:block}
.mobile-menu .nav-item{margin:4px;justify-content:center;background:#2b2e29}
.mobile-menu .nav-cta{margin:8px 4px 4px;width:calc(100% - 8px)}
.category-hero{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);min-height:420px}
.category-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,25,22,.96),rgba(23,25,22,.67)),repeating-linear-gradient(105deg,transparent 0 14px,rgba(232,229,218,.045) 15px 16px),linear-gradient(135deg,#484a40 0%,#1d201b 56%,#5b5146 100%)}
.category-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(232,229,218,.7) .6px,transparent .8px);background-size:7px 7px;opacity:.18}
.category-hero-inner{position:relative;z-index:1;padding:58px 0 68px}
.breadcrumb{display:flex;gap:9px;align-items:center;margin-bottom:38px;color:#c8c6bb;font-size:13px}
.breadcrumb a{text-decoration:none;border-bottom:1px solid rgba(232,229,218,.35)}
.breadcrumb span{color:var(--vermilion)}
.category-number{display:inline-flex;align-items:center;gap:10px;color:#efc3b6;font-size:13px;font-weight:700;letter-spacing:.08em}
.category-number:before{content:"02";display:grid;place-items:center;width:32px;height:32px;background:var(--vermilion);color:var(--ink);font:700 14px/1 var(--serif)}
.category-hero h1{max-width:820px;margin:18px 0 15px;font:700 54px/1.12 var(--serif);color:#f1eee3}
.category-hero p{max-width:670px;margin:0;color:#d0cfc4;font-size:17px}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.hero-meta span{padding:4px 10px;border:1px solid rgba(232,229,218,.35);font-size:12px;color:#e7e4d9}
.section{padding:88px 0}
.section-top{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}
.eyebrow{display:block;margin-bottom:8px;color:var(--vermilion);font-size:12px;font-weight:700;letter-spacing:.08em}
h2{margin:0;font:700 35px/1.25 var(--serif)}
.section-desc{max-width:610px;margin:11px 0 0;color:var(--muted)}
.result-count{padding-bottom:7px;color:var(--muted);font-size:14px;white-space:nowrap}
.result-count strong{color:var(--vermilion);font:700 24px/1 var(--serif)}
.feature-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-copy{padding:34px 34px 34px 0;min-height:390px;display:flex;flex-direction:column;justify-content:space-between}
.feature-index{color:var(--vermilion);font:700 45px/1 var(--serif)}
.feature-copy h3{margin:14px 0 12px;font:700 30px/1.25 var(--serif)}
.feature-copy p{max-width:440px;margin:0;color:var(--muted)}
.feature-image{position:relative;min-height:390px;overflow:hidden;background:#53564e}
.feature-image:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(23,25,22,.08),rgba(23,25,22,.58)),repeating-linear-gradient(45deg,transparent 0 12px,rgba(232,229,218,.06) 13px 14px);z-index:1}
.feature-image:after{content:"参与资料 · 01";position:absolute;z-index:2;right:18px;bottom:13px;color:var(--paper);font-size:12px;letter-spacing:.08em}
.feature-image img{filter:grayscale(1) contrast(.8);transition:filter var(--ease),transform var(--ease)}
.feature-grid:hover img{filter:grayscale(.45) contrast(.95);transform:scale(1.025)}
.entry-grid{margin-top:34px}
.entry-card{display:flex;flex-direction:column;min-height:100%;background:#efede4;border:1px solid var(--line);text-decoration:none;transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease)}
.entry-card:hover{color:var(--text);transform:translateY(-3px);border-color:var(--vermilion);box-shadow:var(--shadow)}
.entry-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#64675e}
.entry-media:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(232,229,218,.035) 0 1px,transparent 1px 6px)}
.entry-media img{filter:grayscale(1) contrast(.78);transition:filter var(--ease),transform var(--ease)}
.entry-card:hover img{filter:grayscale(.35) contrast(.94);transform:scale(1.03)}
.entry-body{padding:18px 18px 20px}
.entry-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--muted);font-size:12px}
.tag{display:inline-block;padding:3px 8px;border:1px solid var(--line);color:var(--moss);font-size:12px;line-height:1.3}
.entry-body h3{margin:0 0 9px;font:700 22px/1.35 var(--serif)}
.entry-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.entry-link{display:inline-flex;align-items:center;gap:7px;margin-top:15px;font-size:14px;font-weight:700;text-decoration:underline}
.entry-link b{font-size:20px;font-weight:400;transition:transform var(--ease)}
.entry-card:hover .entry-link b{transform:translateX(4px)}
.rules-band{background:var(--smoke);color:var(--paper)}
.rules-band .section-desc{color:#c7c6bc}
.rule-list{margin:28px 0 0;padding:0;list-style:none;border-top:1px solid var(--line-light)}
.rule-list li{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:19px 0;border-bottom:1px solid var(--line-light)}
.rule-list strong{color:#eec0b2;font:700 22px/1 var(--serif)}
.rule-list p{margin:0;color:#d3d1c6}
.empty-state{margin-top:38px;padding:23px 26px;border:1px dashed rgba(23,25,22,.34);background:rgba(216,213,201,.42);display:flex;align-items:center;justify-content:space-between;gap:20px}
.empty-state h3{margin:0;font:700 20px/1.35 var(--serif)}
.empty-state p{margin:3px 0 0;color:var(--muted);font-size:14px}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:48px 0 0}
.page-link{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);text-decoration:none;font-size:14px}
.page-link:hover{color:var(--ink);border-color:var(--vermilion);background:var(--paper-deep)}
.page-link.active{background:var(--vermilion);border-color:var(--vermilion);color:var(--ink);font-weight:700}
.contact-section{padding:84px 0;background:var(--ink);color:var(--paper)}
.contact-section h2{color:var(--paper)}
.contact-section .section-desc{color:#c8c7bc}
.contact-note{margin:24px 0 0;padding-left:14px;border-left:3px solid var(--vermilion);color:#dedcd1}
.contact-form{padding:0 0 0 18px}
.contact-form label{display:block;margin-bottom:14px;color:#dfddd2;font-size:14px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;margin-top:5px;padding:10px 12px;border:1px solid rgba(232,229,218,.35);border-radius:3px;background:var(--paper);color:var(--text)}
.contact-form textarea{min-height:108px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--vermilion);box-shadow:0 0 0 3px rgba(198,91,61,.18);outline:0}
.consent{display:flex!important;gap:9px;align-items:flex-start;color:#c7c6bb!important;font-size:13px!important}
.consent input{width:17px!important;margin:5px 0 0!important}
.form-message{display:none;margin-top:13px;padding:9px 12px;background:#4b5849;color:#f1eee3;font-size:14px}
.form-message.show{display:block}
.site-footer{background:#111310;color:#c5c4b9}
.footer-main{padding-top:57px;padding-bottom:43px}
.footer-brand{color:var(--paper);font:700 23px/1.3 var(--serif)}
.footer-desc{max-width:245px;margin:12px 0 0;color:#aaa99e;font-size:14px}
.footer-heading{margin:0 0 10px;color:#e5e2d8;font-size:14px;font-weight:700}
.footer-links{margin:0;padding:0;list-style:none}
.footer-links a{display:inline-flex;align-items:center;min-height:30px;color:#bcbcb0;font-size:14px}
.footer-bottom{padding:17px 0;border-top:1px solid rgba(232,229,218,.15);color:#96978d;font-size:13px}
.footer-bottom .text-right a{margin-left:19px;color:#bdbcb1}
@media (max-width:1023px){
 .nav-panel{flex-wrap:wrap}.desktop-nav{order:3;flex-basis:100%;justify-content:flex-start}.category-hero h1{font-size:48px}
 .feature-copy{padding-right:22px}.contact-form{padding-left:0;margin-top:34px}
}
@media (max-width:639px){
 body{font-size:15px}.grid-container{padding-left:20px;padding-right:20px}.site-header{padding-top:12px}.nav-panel{min-height:64px;padding:8px 9px 8px 12px}
 .brand{min-width:0;flex:1}.brand-name{font-size:15px}.desktop-nav,.nav-panel>.nav-cta{display:none}.mobile-toggle{display:flex}
 .mobile-menu.is-open{display:grid;grid-template-columns:1fr 1fr;gap:2px}.mobile-menu .nav-cta{grid-column:1/-1}
 .category-hero{min-height:390px}.category-hero-inner{padding:39px 0 52px}.breadcrumb{margin-bottom:27px}.category-hero h1{font-size:39px}.category-hero p{font-size:15px}
 .section,.contact-section{padding:54px 0}.section-top{display:block;margin-bottom:24px}h2{font-size:29px}.result-count{margin-top:16px}
 .feature-copy{min-height:0;padding:25px 0}.feature-image{min-height:250px}.feature-index{font-size:37px}
 .entry-grid{margin-top:24px}.entry-card{margin-bottom:15px}.empty-state{display:block}.empty-state .button{margin-top:15px;width:100%}
 .pagination{margin-top:34px}.hide-mobile{display:none}.footer-main{padding-top:42px;padding-bottom:25px}.footer-main .cell{margin-bottom:22px}.footer-bottom .text-right{text-align:left;margin-top:6px}.footer-bottom .text-right a{margin:0 18px 0 0}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}
}

/* roulang page: category1 */
:root{
 --ink:#171916;
 --ink-soft:#22251f;
 --paper:#e8e5da;
 --paper-deep:#d8d5c9;
 --moss:#667064;
 --smoke:#343733;
 --vermilion:#c65b3d;
 --vermilion-dark:#a94830;
 --line:rgba(23,25,22,.18);
 --line-light:rgba(232,229,218,.22);
 --text:#20221e;
 --muted:#62655e;
 --shadow:0 8px 24px rgba(0,0,0,.12);
 --serif:"Noto Serif SC","Songti SC",STSong,serif;
 --sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
 --radius:5px;
 --ease:200ms ease;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.8}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--ease),border-color var(--ease),background var(--ease),transform var(--ease)}
a:hover{color:var(--vermilion)}
img{display:block;width:100%;height:100%;object-fit:cover}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(198,91,61,.45);outline-offset:3px}
.grid-container{max-width:1240px;padding-left:28px;padding-right:28px}
.site-header{padding:20px 0 0;background:var(--ink)}
.nav-panel{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 12px 10px 16px;background:#20231f;border:1px solid rgba(232,229,218,.15);box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px;min-width:210px;text-decoration:none;color:var(--paper)}
.brand:hover{color:var(--paper)}
.brand-mark{width:33px;height:33px;display:grid;place-items:center;background:var(--vermilion);color:var(--ink);font:700 15px/1 var(--serif)}
.brand-name{font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.2}
.desktop-nav{display:flex;flex:1;gap:7px;justify-content:center}
.nav-item{display:flex;align-items:center;gap:7px;min-height:46px;padding:0 12px;color:#c9c8bc;text-decoration:none;font-size:13px;border:1px solid transparent}
.nav-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.nav-item:hover{color:var(--paper);border-color:rgba(232,229,218,.28)}
.nav-item.active{position:relative;background:var(--paper);color:var(--ink);font-weight:700}
.nav-item.active:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--vermilion)}
.button{margin:0;border-radius:var(--radius);font-weight:700;letter-spacing:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:all var(--ease)}
.button.primary{background:var(--vermilion);color:#1d1e1a;border:1px solid var(--vermilion)}
.button.primary:hover{background:var(--paper);border-color:var(--vermilion);color:var(--ink)}
.button.ghost{color:var(--paper);background:transparent;border:1px solid rgba(232,229,218,.5)}
.button.ghost:hover{background:var(--moss);border-color:var(--moss);color:#fff}
.nav-cta{white-space:nowrap;padding:0 15px;font-size:14px}
.mobile-toggle{display:none;background:transparent;color:var(--paper);border:1px solid rgba(232,229,218,.35);width:44px;height:44px;align-items:center;justify-content:center}
.mobile-menu{display:none;padding:12px;background:#20231f;border:1px solid rgba(232,229,218,.15);border-top:0}
.mobile-menu.is-open{display:block}
.mobile-menu .nav-item{margin:4px;justify-content:center;background:#2b2e29}
.mobile-menu .nav-cta{margin:8px 4px 4px;width:calc(100% - 8px)}
.category-hero{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);min-height:410px}
.category-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,25,22,.97),rgba(23,25,22,.72)),repeating-linear-gradient(117deg,transparent 0 18px,rgba(232,229,218,.045) 19px 20px),url("https://images.unsplash.com/photo-1519682337058-a94d519337bc?auto=format&fit=crop&w=1800&q=80") center/cover}
.category-hero:after{content:"";position:absolute;inset:0;opacity:.2;background-image:radial-gradient(rgba(232,229,218,.85) .7px,transparent .9px);background-size:7px 7px}
.category-hero-inner{position:relative;z-index:1;padding:58px 0 60px}
.breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:42px;color:#bbbcb0;font-size:13px}
.breadcrumb a{text-decoration:none;border-bottom:1px solid rgba(232,229,218,.38)}
.breadcrumb span{color:var(--vermilion)}
.hero-label{display:inline-flex;align-items:center;gap:10px;margin-bottom:17px;color:#f0c2b4;font-size:13px;font-weight:700}
.hero-label:before{content:"01";display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--vermilion);color:var(--vermilion);font-family:var(--serif)}
.category-hero h1{max-width:760px;margin:0;font:700 56px/1.16 var(--serif);color:#f1eee3}
.category-lead{max-width:670px;margin:20px 0 0;color:#d4d3c7;font-size:17px;line-height:1.9}
.category-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.meta-chip{padding:5px 10px;border:1px solid rgba(232,229,218,.32);color:#d5d4c8;font-size:12px}
.meta-chip strong{color:#f0c2b4;margin-right:5px}
.section{padding:94px 0}
.section-heading{margin-bottom:35px}
.eyebrow{display:block;margin-bottom:9px;color:var(--vermilion);font-size:12px;font-weight:700;letter-spacing:.08em}
.section-heading h2{margin:0;font:700 36px/1.25 var(--serif)}
.section-desc{max-width:620px;margin:14px 0 0;color:var(--muted)}
.catalog-layout{align-items:start}
.catalog-index{padding-right:20px}
.index-frame{border-top:3px solid var(--ink);border-bottom:1px solid var(--line);padding:15px 0 12px}
.index-title{margin:0 0 9px;font:700 19px/1.4 var(--serif)}
.index-text{margin:0 0 15px;color:var(--muted);font-size:14px;line-height:1.7}
.filter-link{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:9px 3px;border-top:1px solid var(--line);text-decoration:none;font-size:14px}
.filter-link.active{color:var(--vermilion);font-weight:700}
.filter-link:hover span:last-child{transform:translateX(3px)}
.filter-link span:last-child{transition:transform var(--ease)}
.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.catalog-count{margin:0;color:var(--muted);font-size:14px}
.catalog-count strong{color:var(--vermilion);font:700 23px/1 var(--serif)}
.catalog-sort{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.catalog-sort select{min-height:38px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--text)}
.content-list{border-top:0}
.content-entry{display:grid;grid-template-columns:78px minmax(0,1fr) 150px 34px;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line);text-decoration:none}
.entry-no{color:var(--moss);font:700 26px/1 var(--serif);transition:color var(--ease)}
.entry-title{margin:0;font:700 22px/1.35 var(--serif)}
.entry-copy{max-width:550px;margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.75}
.entry-tags{display:flex;flex-wrap:wrap;gap:5px}
.tag{display:inline-block;padding:3px 8px;border:1px solid var(--line);color:var(--moss);font-size:12px;line-height:1.3}
.entry-arrow{font-size:25px;transition:transform var(--ease),color var(--ease)}
.content-entry:hover{color:var(--text)}
.content-entry:hover .entry-no,.content-entry:hover .entry-arrow{color:var(--vermilion)}
.content-entry:hover .entry-arrow{transform:translateX(4px)}
.content-entry:hover .entry-title{text-decoration:underline;text-decoration-color:var(--vermilion);text-underline-offset:6px}
.empty-state{margin-top:28px;padding:24px;border:1px dashed rgba(23,25,22,.35);background:rgba(216,213,201,.45)}
.empty-state strong{display:block;font:700 18px/1.4 var(--serif)}
.empty-state p{margin:6px 0 0;color:var(--muted);font-size:14px}
.pagination-wrap{display:flex;justify-content:center;margin-top:48px}
.pagination{display:flex;align-items:center;gap:5px;margin:0}
.pagination li{margin:0}
.pagination a,.pagination button,.pagination .current{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;background:transparent;border:1px solid var(--line);color:var(--text);font-size:14px}
.pagination a:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pagination .current{background:var(--vermilion);border-color:var(--vermilion);color:var(--ink);font-weight:700}
.rules-band{background:var(--smoke);color:var(--paper)}
.rules-band .section-heading h2{color:var(--paper)}
.rules-band .section-desc{color:#c7c6bb}
.rule-item{padding:20px 0;border-top:1px solid var(--line-light)}
.rule-item:last-child{border-bottom:1px solid var(--line-light)}
.rule-no{color:#efc3b6;font:700 15px/1 var(--serif)}
.rule-item h3{margin:4px 0 7px;font:700 21px/1.35 var(--serif)}
.rule-item p{max-width:590px;margin:0;color:#c8c7bc;font-size:14px}
.faq-section{padding-bottom:104px}
.accordion{margin:0;background:transparent}
.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}
.accordion-title{position:relative;padding:19px 48px 19px 54px;border:0;background:transparent;color:var(--text);font:700 18px/1.45 var(--serif)}
.accordion-title:before{content:"+";right:17px;top:50%;margin-top:-18px;color:var(--vermilion);font:400 30px/36px var(--sans)}
.accordion-title:hover,.accordion-title:focus{background:var(--paper-deep);color:var(--text)}
.accordion-title:focus{outline:3px solid rgba(198,91,61,.4);outline-offset:-3px}
.accordion-item.is-active>.accordion-title:before{content:"−"}
.accordion-title .faq-number{position:absolute;left:16px;top:20px;color:var(--vermilion);font:700 13px/1 var(--serif)}
.accordion-content{padding:0 50px 20px 54px;border:0;background:transparent;color:var(--muted);font-size:15px;line-height:1.85}
.accordion-content p{max-width:680px;margin:0}
.contact-section{padding:82px 0;background:var(--ink);color:var(--paper)}
.contact-section h2{margin:0;font:700 38px/1.25 var(--serif)}
.contact-section .section-desc{color:#c6c5ba}
.contact-points{margin:27px 0 0;padding:0;list-style:none}
.contact-points li{padding:10px 0;border-top:1px solid var(--line-light);color:#d7d6ca;font-size:14px}
.contact-points li:before{content:"—";margin-right:9px;color:var(--vermilion)}
.contact-form{padding:4px 0 0}
.contact-form label{display:block;margin-bottom:14px;color:#d8d7cc;font-size:14px;font-weight:700}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:5px;padding:9px 11px;border:1px solid rgba(232,229,218,.28);border-radius:3px;background:var(--paper);color:var(--text);box-shadow:none}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--vermilion);box-shadow:0 0 0 3px rgba(198,91,61,.25)}
.contact-form textarea{min-height:105px;resize:vertical}
.form-check{display:flex!important;align-items:flex-start;gap:9px;margin-top:3px!important;font-size:13px!important;font-weight:400!important;color:#c5c4b9!important;line-height:1.65}
.form-check input{width:17px!important;min-width:17px;margin:4px 0 0!important}
.form-message{display:none;margin-top:14px;padding:9px 12px;background:#40513d;color:#edf0e8;font-size:14px}
.form-message.show{display:block}
.site-footer{background:#111310;color:#cac9be}
.footer-main{padding-top:55px;padding-bottom:44px}
.footer-brand{margin-bottom:8px;color:var(--paper);font:700 22px/1.3 var(--serif)}
.footer-desc{max-width:235px;margin:0;color:#a7a89e;font-size:14px}
.footer-heading{margin:0 0 12px;color:#deddd2;font:700 15px/1.3 var(--serif)}
.footer-links{margin:0;padding:0;list-style:none}
.footer-links li{margin:0}
.footer-links a{display:inline-flex;align-items:center;min-height:31px;color:#aeb0a4;text-decoration:none;border-bottom:1px solid transparent;font-size:14px}
.footer-links a:hover{color:var(--paper);border-color:var(--vermilion)}
.footer-bottom{padding:14px 0;border-top:1px solid rgba(232,229,218,.12);color:#888b82;font-size:13px}
.footer-bottom .text-right a{margin-left:16px;color:#aeb0a4;text-decoration:none}
.footer-bottom .text-right a:hover{color:var(--paper)}
@media(max-width:1023px){
 .desktop-nav{gap:2px}
 .nav-item{padding:0 9px}
 .brand{min-width:190px}
 .catalog-index{padding-right:0;margin-bottom:30px}
 .content-entry{grid-template-columns:62px minmax(0,1fr) 34px}
 .entry-tags{display:none}
}
@media(max-width:639px){
 body{font-size:15px}
 .grid-container{padding-left:18px;padding-right:18px}
 .site-header{padding-top:12px}
 .nav-panel{min-height:64px;padding:9px 10px}
 .brand{min-width:0;flex:1}
 .brand-name{font-size:15px}
 .brand-mark{width:30px;height:30px;font-size:13px}
 .desktop-nav,.nav-panel>.nav-cta{display:none}
 .mobile-toggle{display:inline-flex}
 .mobile-menu{grid-template-columns:1fr 1fr;gap:4px}
 .mobile-menu.is-open{display:grid}
 .mobile-menu .nav-cta{grid-column:1/-1}
 .category-hero{min-height:390px}
 .category-hero-inner{padding:38px 0 46px}
 .breadcrumb{margin-bottom:29px}
 .category-hero h1{font-size:39px}
 .category-lead{font-size:15px}
 .section{padding:55px 0}
 .section-heading h2{font-size:29px}
 .catalog-head{align-items:flex-start;flex-direction:column;gap:9px}
 .content-entry{grid-template-columns:46px minmax(0,1fr) 24px;gap:11px;padding:19px 0}
 .entry-no{font-size:20px}
 .entry-title{font-size:18px}
 .entry-copy{font-size:13px}
 .entry-arrow{font-size:22px}
 .rules-band{padding:55px 0}
 .faq-section{padding-bottom:60px}
 .accordion-title{padding:16px 43px 16px 45px;font-size:16px}
 .accordion-title .faq-number{left:12px;top:18px}
 .accordion-content{padding:0 20px 18px 45px;font-size:14px}
 .contact-section{padding:58px 0}
 .contact-section h2{font-size:30px}
 .contact-form{margin-top:32px}
 .footer-main{padding-top:44px;padding-bottom:25px}
 .footer-main .cell{margin-bottom:25px}
 .footer-bottom .text-right{text-align:left!important;margin-top:8px}
 .footer-bottom .text-right a{margin-left:0;margin-right:16px}
 .pagination li.hide-mobile{display:none}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{transition:none!important;animation:none!important}
}
