/* roulang page: index */
:root{
            --ink:#171318;
            --deep:#21151d;
            --wine:#5f2438;
            --wine-2:#7d3048;
            --amber:#d7a45d;
            --cream:#f7f1e9;
            --paper:#fffaf4;
            --muted:#766c70;
            --line:#e8ddd5;
            --shadow:0 18px 50px rgba(38,19,28,.10);
            --radius:16px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}
        a{color:inherit;text-decoration:none;transition:.25s ease}
        img{max-width:100%;display:block}
        button,input,select,textarea{font:inherit}
        :focus-visible{outline:3px solid rgba(215,164,93,.75);outline-offset:3px}
        .container{max-width:1180px}
        .site-header{position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.15)}
        .navbar{padding:20px 0}
        .brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;letter-spacing:-.04em;font-size:1.06rem}
        .brand-mark{width:34px;height:34px;border:1px solid var(--amber);display:grid;place-items:center;color:var(--amber);font-size:.75rem}
        .nav-link{color:rgba(255,255,255,.76)!important;padding:.55rem .9rem!important;font-size:.92rem}
        .nav-link:hover,.nav-link.active{color:#fff!important}
        .nav-link.active{border-bottom:2px solid var(--amber)}
        .nav-toggle{border:1px solid rgba(255,255,255,.35);color:#fff}
        .hero{min-height:730px;padding:150px 0 95px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(28,13,23,.96) 0%,rgba(37,18,28,.84) 45%,rgba(31,15,25,.5) 100%),url('/assets/images/16cdcf87837375fe.jpg') center/cover}
        .hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(215,164,93,.16),transparent 34%);pointer-events:none}
        .hero .container{position:relative;z-index:1}
        .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--amber);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
        .eyebrow:before{content:"";width:28px;height:1px;background:var(--amber)}
        h1,h2,h3{font-weight:800;letter-spacing:-.055em;line-height:1.2}
        h1{font-size:clamp(2.6rem,6vw,5.6rem);max-width:760px;margin:23px 0}
        h2{font-size:clamp(1.8rem,3vw,3rem);margin:0 0 18px}
        h3{font-size:1.2rem;margin:0 0 9px}
        .hero-copy{max-width:660px;color:rgba(255,255,255,.78);font-size:1.08rem}
        .hero-panel{margin-top:34px;background:rgba(18,10,16,.76);border:1px solid rgba(255,255,255,.2);padding:9px;max-width:700px;box-shadow:var(--shadow)}
        .search-row{display:flex;gap:8px}
        .search-row input{flex:1;background:#fff;border:0;padding:15px 17px;color:var(--ink);min-width:0}
        .btn-main{background:var(--amber);border:1px solid var(--amber);color:#281a19;padding:12px 22px;font-weight:800;min-height:48px}
        .btn-main:hover{background:#e5b976;border-color:#e5b976;color:#201416;transform:translateY(-2px)}
        .btn-line{border:1px solid rgba(255,255,255,.45);color:#fff;padding:11px 20px;display:inline-block}
        .btn-line:hover{border-color:var(--amber);color:var(--amber)}
        .quick-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
        .tag{display:inline-block;border:1px solid var(--line);padding:4px 10px;font-size:.76rem;color:var(--muted);background:#fff}
        .hero .tag{border-color:rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.7)}
        .hero-note{font-size:.78rem;color:rgba(255,255,255,.58);margin-top:18px}
        section{padding:100px 0;border-bottom:1px solid var(--line)}
        .section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}
        .section-head p{max-width:520px;color:var(--muted);margin:0}
        .section-no{font-size:.75rem;color:var(--wine-2);font-weight:800;letter-spacing:.15em}
        .matrix{background:#f1e8df}
        .matrix-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
        .matrix-card{background:var(--paper);border:1px solid var(--line);padding:25px;min-height:190px;transition:.3s}
        .matrix-card:nth-child(1){grid-column:span 5}.matrix-card:nth-child(2){grid-column:span 7}.matrix-card:nth-child(3){grid-column:span 4}.matrix-card:nth-child(4){grid-column:span 4}.matrix-card:nth-child(5){grid-column:span 4}
        .matrix-card:hover,.film-card:hover,.news-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
        .matrix-card p,.film-card p{font-size:.9rem;color:var(--muted);margin:0}
        .matrix-card .arrow{display:block;color:var(--wine-2);font-size:1.4rem;margin-top:20px}
        .data-band{background:var(--deep);color:#fff}
        .data-band .section-head p{color:rgba(255,255,255,.62)}
        .stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
        .stat{padding:30px 22px;border-right:1px solid rgba(255,255,255,.2)}
        .stat:last-child{border:0}.stat strong{display:block;font-size:2.6rem;color:var(--amber);line-height:1.2}.stat span{color:rgba(255,255,255,.64);font-size:.85rem}
        .timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line)}
        .step{padding:28px 20px 10px 0;border-right:1px solid var(--line);margin-right:20px;position:relative}.step:last-child{border:0}.step b{font-size:2rem;color:var(--wine-2);display:block}.step p{font-size:.88rem;color:var(--muted)}
        .films{background:#fbf7f1}
        .film-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}
        .film-card{background:#fff;border:1px solid var(--line);transition:.3s;overflow:hidden}
        .film-card:first-child{grid-row:span 2}
        .poster{height:210px;background-size:cover;background-position:center;position:relative}
        .film-card:first-child .poster{height:410px}
        .poster:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(20,10,16,.9))}
        .film-info{padding:18px}.film-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.film-meta .tag{font-size:.7rem;padding:2px 7px}
        .news-list{border-top:1px solid var(--line)}
        .news-item{display:grid;grid-template-columns:100px 150px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:.25s}
        .news-date{font-size:.82rem;color:var(--wine-2);font-weight:700}.news-type{font-size:.75rem;color:var(--muted);border-left:2px solid var(--amber);padding-left:10px}.news-item p{margin:0;color:var(--muted);font-size:.88rem}.news-arrow{font-size:1.5rem;color:var(--wine-2)}
        .source{background:linear-gradient(120deg,#f0e4da,#fbf7f1)}
        .source-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.source-item{padding:24px 18px;background:rgba(255,255,255,.65);border:1px solid var(--line);text-align:center}.source-symbol{width:42px;height:42px;border:1px solid var(--wine-2);color:var(--wine-2);display:grid;place-items:center;margin:0 auto 14px;font-weight:800}
        .faq-wrap{max-width:900px}.accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}.accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:700;padding:22px 0}.accordion-button:after{filter:hue-rotate(290deg)}.accordion-body{padding:0 30px 22px 0;color:var(--muted);font-size:.93rem}
        .guard{padding:22px 0;background:var(--wine);color:#fff}.guard-list{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.guard-item{border-left:1px solid rgba(255,255,255,.35);padding-left:18px}.guard-item strong{display:block;color:var(--amber);margin-bottom:4px}.guard-item span{font-size:.82rem;color:rgba(255,255,255,.72)}
        .contact{background:var(--deep);color:#fff}.contact p{color:rgba(255,255,255,.68);max-width:620px}.contact-form{background:#fff;padding:24px;color:var(--ink)}.form-control,.form-select{border:1px solid var(--line);border-radius:0;padding:12px}.form-label{font-size:.82rem;font-weight:700}
        footer{background:#160d13;color:#fff;padding:50px 0 24px}.footer-brand{font-weight:800;font-size:1.15rem}.footer-links{display:flex;gap:20px;justify-content:flex-end;flex-wrap:wrap;color:rgba(255,255,255,.6);font-size:.85rem}.footer-links a:hover{color:var(--amber)}.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:35px;padding-top:20px;color:rgba(255,255,255,.45);font-size:.78rem}
        @media(max-width:992px){.hero{min-height:650px}.film-grid{grid-template-columns:1fr 1fr}.film-card:first-child{grid-column:span 2;grid-row:auto}.film-card:first-child .poster{height:300px}.timeline{grid-template-columns:repeat(3,1fr);row-gap:25px}.source-list{grid-template-columns:repeat(2,1fr)}}
        @media(max-width:768px){section{padding:72px 0}.section-head{display:block}.section-head p{margin-top:16px}.matrix-card:nth-child(n){grid-column:span 12}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat{border-bottom:1px solid rgba(255,255,255,.2)}.news-item{grid-template-columns:80px 1fr auto}.news-type{display:none}.news-item p{grid-column:2}.guard-list{grid-template-columns:1fr 1fr}.navbar-collapse{background:var(--deep);padding:12px}.footer-links{justify-content:flex-start;margin-top:20px}}
        @media(max-width:576px){.navbar{padding:13px 0}.brand{font-size:.9rem}.hero{padding:125px 0 70px;min-height:650px}.hero h1{font-size:2.65rem}.search-row{display:block}.search-row .btn-main{width:100%;margin-top:8px}.film-grid{grid-template-columns:1fr}.film-card:first-child{grid-column:auto}.film-card:first-child .poster,.poster{height:280px}.timeline{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line);padding-bottom:18px}.source-list,.guard-list{grid-template-columns:1fr}.news-item{grid-template-columns:1fr auto}.news-item p{grid-column:1}.copyright{line-height:1.8}}

/* roulang page: category1 */
:root{
      --ink:#171318;
      --deep:#21151d;
      --wine:#5f2438;
      --wine-2:#7d3048;
      --amber:#d7a45d;
      --cream:#f7f1e9;
      --paper:#fffaf4;
      --muted:#766c70;
      --line:#e8ddd5;
      --shadow:0 18px 50px rgba(38,19,28,.10);
      --radius:16px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}
    a{color:inherit;text-decoration:none;transition:.25s ease}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    .container{max-width:1180px}
    .site-header{position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.15)}
    .navbar{padding:20px 0}
    .brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;letter-spacing:-.04em;font-size:1.06rem}
    .brand-mark{width:34px;height:34px;border:1px solid var(--amber);display:grid;place-items:center;color:var(--amber);font-size:.75rem}
    .nav-link{color:rgba(255,255,255,.76)!important;padding:.55rem .9rem!important;font-size:.92rem}
    .nav-link:hover,.nav-link.active{color:#fff!important}
    .nav-link.active{border-bottom:2px solid var(--amber)}
    .nav-toggle{border:1px solid rgba(255,255,255,.35);color:#fff}
    .nav-toggle .navbar-toggler-icon{filter:invert(1)}
    .page-head{padding:145px 0 70px;background:linear-gradient(90deg,rgba(28,13,23,.97),rgba(53,24,38,.78)),url('/assets/images/4fbd2a7f7911c623.jpg') center/cover;color:#fff;position:relative;overflow:hidden}
    .page-head:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 25%,rgba(215,164,93,.18),transparent 35%);pointer-events:none}
    .page-head .container{position:relative;z-index:1}
    .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--amber);font-size:.78rem;letter-spacing:.14em;font-weight:700}
    .eyebrow:before{content:"";width:28px;height:1px;background:var(--amber)}
    h1,h2,h3{font-weight:800;letter-spacing:-.045em;line-height:1.2}
    h1{font-size:clamp(2.3rem,5vw,4.6rem);max-width:760px;margin:18px 0}
    h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 15px}
    h3{font-size:1.15rem}
    .page-head p{max-width:680px;color:rgba(255,255,255,.74);font-size:1.03rem;margin:0}
    .breadcrumb{margin:22px 0 0;padding:0;background:none}
    .breadcrumb-item,.breadcrumb-item a{color:rgba(255,255,255,.62);font-size:.82rem}
    .breadcrumb-item.active{color:var(--amber)}
    section{padding:82px 0;border-bottom:1px solid var(--line)}
    .section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}
    .section-head p{max-width:540px;color:var(--muted);margin:0}
    .section-no{font-size:.75rem;color:var(--wine-2);font-weight:800;letter-spacing:.15em}
    .guide-strip{display:grid;grid-template-columns:1.15fr 2fr;gap:35px;align-items:center}
    .guide-copy{padding-right:30px}
    .guide-copy p{color:var(--muted)}
    .guide-image{height:260px;background:url('/assets/images/751b2fce1f97e3b3.jpg') center/cover;position:relative}
    .guide-image:after{content:"国产亚洲一区电影在线观看";position:absolute;bottom:18px;left:20px;color:#fff;font-weight:700;font-size:1.15rem;text-shadow:0 2px 12px #000}
    .filter-nav{display:flex;flex-wrap:wrap;gap:9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
    .filter-chip{border:1px solid var(--line);background:#fff;padding:8px 16px;color:var(--muted);font-size:.86rem;cursor:pointer}
    .filter-chip:hover,.filter-chip.active{background:var(--wine);border-color:var(--wine);color:#fff}
    .filter-box{background:#f3ebe4;padding:25px;margin-top:22px}
    .form-label{font-size:.8rem;font-weight:800;margin-bottom:7px}
    .form-control,.form-select{border:1px solid var(--line);border-radius:0;padding:12px 14px;background:#fff;color:var(--ink)}
    .form-control:focus,.form-select:focus{border-color:var(--wine-2);box-shadow:0 0 0 3px rgba(125,48,72,.12)}
    .btn-main{background:var(--amber);border:1px solid var(--amber);color:#281a19;padding:12px 22px;font-weight:800;min-height:48px}
    .btn-main:hover{background:#e5b976;border-color:#e5b976;color:#201416;transform:translateY(-2px)}
    .btn-wine{background:var(--wine);border:1px solid var(--wine);color:#fff;padding:11px 20px;font-weight:700}
    .btn-wine:hover{background:var(--wine-2);border-color:var(--wine-2);color:#fff;transform:translateY(-2px)}
    .btn-outline-wine{border:1px solid var(--wine);color:var(--wine);padding:10px 18px;font-weight:700}
    .btn-outline-wine:hover{background:var(--wine);color:#fff}
    .result-line{display:flex;justify-content:space-between;align-items:center;margin:30px 0 18px}
    .result-line strong{font-size:1.1rem}
    .result-line span{color:var(--muted);font-size:.86rem}
    .film-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
    .film-card{display:grid;grid-template-columns:145px 1fr;background:#fff;border:1px solid var(--line);overflow:hidden;transition:.3s}
    .film-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
    .poster{min-height:218px;background:#4a2834 center/cover}
    .poster.one{background-image:url('/assets/images/16cdcf87837375fe.jpg')}
    .poster.two{background-image:url('/assets/images/686e6598e0ec011b.jpg')}
    .poster.three{background-image:url('/assets/images/1e03e9e497247f31.jpg')}
    .poster.four{background-image:url('/assets/images/372df3df68428849.jpg')}
    .film-body{padding:20px}
    .film-body h3{margin:0 0 8px}
    .film-body p{font-size:.86rem;color:var(--muted);margin:10px 0 14px}
    .film-meta{display:flex;gap:6px;flex-wrap:wrap}
    .tag{display:inline-block;border:1px solid var(--line);padding:3px 9px;font-size:.72rem;color:var(--muted);background:#fff}
    .tag.wine{color:var(--wine);border-color:rgba(95,36,56,.25);background:#fbf2f3}
    .film-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
    .film-foot a{font-size:.82rem;color:var(--wine-2);font-weight:700}
    .rank-section{background:var(--deep);color:#fff}
    .rank-section .section-head p{color:rgba(255,255,255,.62)}
    .rank-list{border-top:1px solid rgba(255,255,255,.2)}
    .rank-item{display:grid;grid-template-columns:70px 1fr auto;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}
    .rank-number{font-size:2rem;color:var(--amber);font-weight:800;font-style:italic}
    .rank-item h3{margin:0 0 4px;font-size:1.05rem}
    .rank-item p{margin:0;color:rgba(255,255,255,.58);font-size:.84rem}
    .rank-score{color:var(--amber);font-size:.85rem}
    .update-timeline{border-left:1px solid var(--wine-2);margin-left:12px}
    .update-item{position:relative;padding:0 0 28px 30px}
    .update-item:before{content:"";position:absolute;left:-6px;top:8px;width:11px;height:11px;background:var(--amber);border:3px solid var(--paper)}
    .update-date{color:var(--wine-2);font-size:.78rem;font-weight:800}
    .update-item h3{margin:4px 0 5px;font-size:1.05rem}
    .update-item p{color:var(--muted);font-size:.88rem;margin:0}
    .notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
    .notice-card{border:1px solid var(--line);padding:24px;background:#fff}
    .notice-icon{color:var(--wine-2);font-size:1.3rem;margin-bottom:12px}
    .notice-card h3{margin-bottom:8px}
    .notice-card p{color:var(--muted);font-size:.86rem;margin:0}
    .faq-wrap{max-width:900px}
    .accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent}
    .accordion-button{background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font-weight:700;padding:21px 0}
    .accordion-button:after{filter:hue-rotate(290deg)}
    .accordion-body{padding:0 30px 21px 0;color:var(--muted);font-size:.9rem}
    footer{background:#160d13;color:#fff;padding:50px 0 24px}
    .footer-brand{font-weight:800;font-size:1.15rem}
    .footer-links{display:flex;gap:20px;justify-content:flex-end;flex-wrap:wrap;color:rgba(255,255,255,.6);font-size:.85rem}
    .footer-links a:hover{color:var(--amber)}
    .copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:35px;padding-top:20px;color:rgba(255,255,255,.45);font-size:.78rem}
    :focus-visible{outline:3px solid rgba(215,164,93,.75);outline-offset:3px}
    @media(max-width:991px){
      .site-header{background:rgba(22,13,19,.82)}
      .navbar-collapse{background:var(--deep);padding:12px 18px;margin-top:15px}
      .guide-strip{grid-template-columns:1fr}
      .guide-copy{padding-right:0}
      .film-list{grid-template-columns:1fr}
      .notice-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:767px){
      .navbar{padding:14px 0}
      .brand{font-size:.92rem}
      .page-head{padding:125px 0 58px}
      section{padding:58px 0}
      .section-head{display:block;margin-bottom:25px}
      .section-head p{margin-top:12px}
      .filter-box{padding:18px}
      .result-line{display:block}
      .result-line span{display:block;margin-top:5px}
      .film-card{grid-template-columns:115px 1fr}
      .poster{min-height:200px}
      .film-body{padding:16px}
      .rank-item{grid-template-columns:48px 1fr}
      .rank-score{grid-column:2}
      .notice-grid{grid-template-columns:1fr}
      .footer-links{justify-content:flex-start;margin-top:25px}
    }
    @media(max-width:520px){
      h1{font-size:2.35rem}
      .filter-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:14px}
      .filter-chip{white-space:nowrap}
      .film-card{grid-template-columns:1fr}
      .poster{height:190px;min-height:0}
      .film-foot{align-items:flex-start;gap:8px;flex-direction:column}
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
