/* roulang page: index */
:root{
  --plum:#351b38;
  --plum-2:#51264f;
  --plum-3:#6d3965;
  --coral:#e48d70;
  --apricot:#f1c1a4;
  --ink:#29242b;
  --muted:#796f7c;
  --paper:#f8f5f2;
  --mist:#eee8e5;
  --white:#fff;
  --line:#dfd6d5;
  --dark:#211a24;
  --radius:16px;
  --radius-sm:11px;
  --shadow:0 16px 40px rgba(42,24,43,.10);
  --ease:all .25s ease;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;font-size:15px}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;max-width:100%;object-fit:cover}
button,input{font:inherit}
button{cursor:pointer;border:0}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(33,26,36,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
.navbar{height:76px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;min-width:220px}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--coral);display:grid;place-items:center;color:var(--plum);font-weight:900;font-size:20px}
.brand strong{font-size:18px;letter-spacing:.02em;white-space:nowrap}
.brand small{display:block;color:#cdbdca;font-size:10px;line-height:1.2}
.nav-links{display:flex;gap:7px;align-items:center;flex:1}
.nav-links a{color:#d9cfd8;padding:9px 12px;border-radius:9px;transition:var(--ease);font-size:14px}
.nav-links a:hover,.nav-links a.active{background:rgba(228,141,112,.15);color:#fff}
.nav-links a.active{box-shadow:inset 0 -2px var(--coral)}
.nav-tools{display:flex;align-items:center;gap:10px}
.age-note{font-size:12px;color:#ead8e4;border:1px solid rgba(255,255,255,.2);padding:6px 10px;border-radius:99px}
.menu-toggle{display:none;background:none;color:#fff;font-size:25px}
.hero{min-height:540px;background:linear-gradient(90deg,rgba(33,26,36,.95) 0%,rgba(53,27,56,.84) 47%,rgba(53,27,56,.38) 100%),url("/assets/images/backpic/back-1.webp") center/cover;color:#fff;display:flex;align-items:center}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:78px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--apricot);font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:17px}
.eyebrow:before{content:"";width:25px;height:2px;background:var(--coral)}
.hero h1{font-size:clamp(34px,5vw,62px);line-height:1.15;letter-spacing:-.04em;margin-bottom:20px}
.hero p{color:#e5d9e2;max-width:590px;font-size:17px;margin-bottom:30px}
.search-box{display:flex;max-width:590px;background:#fff;border-radius:12px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.search-box input{flex:1;border:0;outline:0;padding:12px 15px;color:var(--ink);background:transparent;min-width:0}
.search-box button{background:var(--coral);color:var(--plum);font-weight:800;border-radius:9px;padding:0 22px;transition:var(--ease)}
.search-box button:hover{background:var(--apricot);transform:translateY(-2px)}
.search-box button:active{transform:translateY(0)}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.tag{display:inline-flex;align-items:center;padding:5px 10px;border-radius:99px;font-size:12px;background:rgba(255,255,255,.12);color:#f8e9e7;border:1px solid rgba(255,255,255,.16)}
.hero-art{position:relative;min-height:330px}
.hero-art img{height:330px;border-radius:22px;filter:saturate(.75);box-shadow:var(--shadow)}
.hero-art:after{content:"18+";position:absolute;right:18px;top:18px;background:var(--coral);color:var(--plum);font-size:13px;font-weight:900;border-radius:99px;padding:7px 11px}
.section{padding:76px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}
.section-head h2{font-size:28px;line-height:1.2;color:var(--plum)}
.section-head p{color:var(--muted);font-size:14px}
.section-link{color:var(--plum-3);font-weight:700;font-size:14px}
.section-link:hover{text-decoration:underline}
.channel-strip{display:flex;gap:12px;overflow:auto;padding-bottom:5px}
.channel{min-width:145px;flex:1;border:1px solid var(--line);background:var(--white);padding:17px 16px;border-radius:13px;transition:var(--ease)}
.channel:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:var(--shadow)}
.channel b{display:block;color:var(--plum);font-size:16px}
.channel span{color:var(--muted);font-size:12px}
.channel em{font-style:normal;color:var(--coral);font-size:12px;font-weight:bold}
.media-row{display:grid;grid-auto-flow:column;grid-auto-columns:250px;overflow-x:auto;gap:18px;padding-bottom:10px}
.media-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:var(--ease)}
.media-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c99a9c}
.media-card img{height:145px}
.card-body{padding:14px}
.card-body h3{font-size:16px;line-height:1.4;color:var(--plum);margin:7px 0 6px}
.card-body p{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;margin-top:11px}
.badge{display:inline-flex;padding:3px 8px;border-radius:5px;font-size:11px;font-weight:700;background:#f6e1d9;color:#9c4e45}
.feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}
.feature-card{position:relative;min-height:380px;border-radius:18px;overflow:hidden;color:#fff;background:var(--dark)}
.feature-card img{height:100%;position:absolute;inset:0;opacity:.72}
.feature-overlay{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(transparent 20%,rgba(27,17,29,.93))}
.feature-overlay h3{font-size:26px;line-height:1.3;margin:10px 0}
.feature-overlay p{color:#e5dce4;font-size:14px}
.compact-list{display:flex;flex-direction:column;gap:12px}
.list-item{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;transition:var(--ease)}
.list-item:hover{border-color:var(--coral);background:#fffaf8}
.list-item img{height:65px;border-radius:8px}
.list-item h3{font-size:15px;color:var(--plum);line-height:1.4}
.list-item p{font-size:12px;color:var(--muted)}
.arrow{font-size:20px;color:var(--coral)}
.dark-section{background:var(--dark);color:#fff}
.dark-section .section-head h2{color:#fff}
.dark-section .section-head p{color:#c4b7c2}
.subtitle-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.subtitle-wall figure{position:relative;overflow:hidden;border-radius:13px;aspect-ratio:4/3}
.subtitle-wall img{height:100%;transition:var(--ease)}
.subtitle-wall figure:hover img{transform:scale(1.05)}
.subtitle-wall figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 12px 11px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:13px}
.rank-layout{display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:start}
.rank-list{counter-reset:rank;display:flex;flex-direction:column}
.rank-row{counter-increment:rank;display:grid;grid-template-columns:45px 58px 1fr auto;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.rank-row:before{content:counter(rank,decimal-leading-zero);font-size:20px;font-weight:900;color:var(--coral)}
.rank-row img{height:44px;border-radius:7px}
.rank-row h3{font-size:14px;color:var(--plum)}
.rank-row small{color:var(--muted);font-size:11px}
.trend-card{background:var(--plum);color:#fff;border-radius:18px;padding:30px;min-height:290px}
.trend-card h3{font-size:24px;margin-bottom:13px}
.trend-card p{color:#d9c9d7;font-size:14px}
.metric-line{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.metric{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:11px 13px}
.metric strong{display:block;color:var(--apricot);font-size:18px}
.metric span{font-size:11px;color:#d4c4d2}
.dual-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.panel h3{color:var(--plum);font-size:21px;margin-bottom:15px}
.panel-list{list-style:none}
.panel-list li{padding:13px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:12px}
.panel-list li:last-child{border:0}
.panel-list a{font-weight:700;color:var(--plum-2)}
.panel-list small{color:var(--muted);white-space:nowrap}
.play-card{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.play-card img{height:180px;border-radius:12px}
.play-card h3{font-size:19px;color:var(--plum);margin:10px 0}
.play-card p{color:var(--muted);font-size:13px}
.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.topic{background:var(--mist);border-radius:12px;padding:18px;min-height:115px;border-left:3px solid var(--coral)}
.topic strong{display:block;color:var(--plum);margin-bottom:8px}
.topic span{font-size:12px;color:var(--muted)}
.timeline{border-left:2px solid #d8b9b4;padding-left:25px;display:flex;flex-direction:column;gap:20px}
.timeline-item{position:relative;background:#fff;padding:17px 20px;border:1px solid var(--line);border-radius:12px}
.timeline-item:before{content:"";position:absolute;left:-33px;top:22px;width:13px;height:13px;border-radius:50%;background:var(--coral);border:3px solid var(--paper)}
.timeline-item h3{font-size:16px;color:var(--plum)}
.timeline-item p{color:var(--muted);font-size:13px}
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.news-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;transition:var(--ease)}
.news-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.news-item h3{color:var(--plum);font-size:17px}
.news-item p{font-size:13px;color:var(--muted);margin:7px 0}
.empty{padding:34px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
.safety{background:#f3e8e2;border:1px solid #e5c7bb;border-radius:18px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.safety h2{color:var(--plum);font-size:24px}
.safety p{color:#655762;font-size:14px}
.safety-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.safety-list div{background:rgba(255,255,255,.7);padding:12px;border-radius:9px;font-size:13px;color:var(--plum-2)}
.faq{max-width:850px;margin:auto}
details{border-bottom:1px solid var(--line);padding:17px 0}
summary{cursor:pointer;font-weight:700;color:var(--plum);list-style:none;display:flex;justify-content:space-between}
summary:after{content:"+";color:var(--coral);font-size:21px}
details[open] summary:after{content:"−"}
details p{color:var(--muted);font-size:14px;padding:12px 25px 0 0}
.cta{background:var(--plum-2);color:#fff;padding:48px;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.cta h2{font-size:28px}.cta p{color:#decbd9;margin-top:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:9px;font-weight:800;transition:var(--ease);border:1px solid transparent}
.btn-primary{background:var(--coral);color:var(--plum)}
.btn-primary:hover{background:var(--apricot);transform:translateY(-2px)}
.btn-secondary{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}
.btn-secondary:hover{background:rgba(255,255,255,.1)}
.btn:focus,.search-box input:focus{outline:3px solid rgba(228,141,112,.45);outline-offset:2px}
.site-footer{background:#211a24;color:#d4c7d3;padding:55px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:35px}
.site-footer h3{color:#fff;font-size:16px;margin-bottom:13px}
.site-footer p,.site-footer a{font-size:13px;color:#bcaebb}
.site-footer a:hover{color:var(--apricot)}
.footer-links{list-style:none;display:grid;gap:7px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:12px}
.age-modal{position:fixed;inset:0;background:rgba(23,15,24,.88);z-index:99;display:flex;align-items:center;justify-content:center;padding:20px}
.age-modal.hidden{display:none}
.age-box{background:var(--paper);max-width:450px;border-radius:18px;padding:34px;text-align:center;box-shadow:0 25px 80px #130d14}
.age-box .brand-mark{margin:0 auto 15px}
.age-box h2{color:var(--plum);font-size:25px;margin-bottom:10px}
.age-box p{font-size:14px;color:var(--muted);margin-bottom:22px}
.age-actions{display:flex;gap:10px;justify-content:center}
.age-actions .btn-secondary{color:var(--plum);border-color:var(--line)}
@media(max-width:1024px){
  .nav-links{gap:0}.nav-links a{padding:8px 8px;font-size:13px}
  .hero-inner{gap:35px}.subtitle-wall{grid-template-columns:repeat(3,1fr)}
  .topic-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .container{width:min(100% - 28px,620px)}
  .navbar{height:66px}.brand{min-width:0}.brand strong{font-size:16px}.brand small,.age-note{display:none}
  .menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;top:66px;left:0;right:0;padding:12px 14px;background:var(--dark);flex-direction:column;align-items:stretch;box-shadow:0 15px 25px rgba(0,0,0,.2)}
  .nav-links.open{display:flex}.nav-links a{padding:12px}
  .hero{min-height:0}.hero-inner{grid-template-columns:1fr;padding:65px 0}.hero-art{display:none}
  .section{padding:52px 0}.section-head{display:block}.section-head p{margin-top:8px}.section-link{display:inline-block;margin-top:12px}
  .feature-grid,.rank-layout,.dual-grid,.safety{grid-template-columns:1fr}.feature-card{min-height:320px}
  .subtitle-wall{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}
  .cta{display:block;padding:30px}.cta .btn{margin-top:20px}
}
@media(max-width:520px){
  body{font-size:14px}.hero h1{font-size:37px}.hero p{font-size:15px}
  .search-box{display:block;background:transparent;padding:0}.search-box input{background:#fff;border-radius:9px;width:100%;height:48px;margin-bottom:9px}.search-box button{height:45px;width:100%}
  .media-row{grid-auto-columns:78%}.play-card,.news-grid{grid-template-columns:1fr}.play-card img{height:190px}
  .topic-grid,.safety-list{grid-template-columns:1fr}.subtitle-wall{grid-template-columns:1fr 1fr}
  .list-item{grid-template-columns:70px 1fr}.list-item .arrow{display:none}
  .list-item img{height:54px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
  .age-box{padding:27px 20px}.age-actions{flex-direction:column}.age-actions .btn{width:100%}
}

/* roulang page: category1 */
:root{--plum:#351b38;--plum2:#51264f;--plum3:#6d3965;--coral:#e48d70;--apricot:#f1c1a4;--ink:#29242b;--muted:#796f7c;--paper:#f8f5f2;--mist:#eee8e5;--white:#fff;--line:#dfd6d5;--dark:#211a24;--radius:16px;--small:11px;--shadow:0 16px 40px rgba(42,24,43,.1);--ease:all .25s ease}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 "Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,select{font:inherit}button{cursor:pointer;border:0}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(33,26,36,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}.navbar{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--coral);display:grid;place-items:center;color:var(--plum);font-size:20px;font-weight:900}.brand strong{font-size:18px;white-space:nowrap}.brand small{display:block;color:#cdbdca;font-size:10px;line-height:1.2}.nav-links{display:flex;align-items:center;gap:7px;flex:1}.nav-links a{padding:9px 12px;border-radius:9px;color:#d9cfd8;font-size:14px;transition:var(--ease)}.nav-links a:hover,.nav-links a.active{background:rgba(228,141,112,.15);color:#fff}.nav-links a.active{box-shadow:inset 0 -2px var(--coral)}.nav-tools{display:flex;gap:10px;align-items:center}.age-chip{padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:99px;color:var(--apricot);font-size:12px}.menu-toggle{display:none;background:none;color:#fff;font-size:25px}
.page-banner{color:#fff;background:linear-gradient(90deg,rgba(33,26,36,.96),rgba(53,27,56,.82)),url("/assets/images/backpic/back-2.webp") center/cover}.banner-inner{padding:76px 0 70px}.crumbs{color:#d9cbd7;font-size:13px;margin-bottom:18px}.crumbs a:hover{color:var(--coral)}.eyebrow{color:var(--apricot);font-size:13px;font-weight:700;letter-spacing:.08em}.page-banner h1{font-size:clamp(34px,5vw,54px);line-height:1.2;letter-spacing:-.04em;margin:14px 0}.page-banner p{max-width:700px;color:#e6dce5;margin:0;font-size:16px}.update-note{display:inline-flex;margin-top:24px;padding:8px 13px;border:1px solid rgba(241,193,164,.35);border-radius:99px;color:#f8ddd1;font-size:13px}
.section{padding:68px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-head h2{margin:0;color:var(--plum);font-size:28px;line-height:1.25}.section-head p{margin:0;color:var(--muted);font-size:14px}.filter-bar{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(42,24,43,.05)}.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.field select,.field input{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 11px;color:var(--ink);outline:0}.field select:focus,.field input:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(228,141,112,.2)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:9px;font-weight:700;transition:var(--ease)}.btn-primary{background:var(--plum);color:#fff}.btn-primary:hover{background:var(--plum3);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-light{background:#fff;border:1px solid var(--line);color:var(--plum)}.btn-light:hover{border-color:var(--coral);background:#fff9f7}.btn:focus,a:focus{outline:3px solid rgba(228,141,112,.55);outline-offset:3px}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px}.release-list{display:flex;flex-direction:column;gap:16px}.release-card{display:grid;grid-template-columns:240px 1fr;gap:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;transition:var(--ease)}.release-card:hover{border-color:var(--coral);box-shadow:var(--shadow);transform:translateY(-3px)}.release-card img{height:150px;border-radius:11px}.card-content{padding:4px 8px 4px 0}.badge{display:inline-flex;padding:3px 9px;border-radius:5px;background:#f6e1d9;color:#9c4e45;font-size:11px;font-weight:800;margin-right:5px}.card-content h3{margin:10px 0 6px;color:var(--plum);font-size:19px;line-height:1.4}.card-content p{color:var(--muted);font-size:13px;margin:0}.meta{display:flex;flex-wrap:wrap;gap:15px;color:var(--muted);font-size:12px;margin-top:14px}.side-card{background:var(--dark);color:#fff;border-radius:var(--radius);padding:23px;position:sticky;top:100px}.side-card h3{font-size:20px;margin:0 0 13px}.side-card p{color:#cbbdca;font-size:13px}.side-links{padding:0;margin:20px 0 0;list-style:none}.side-links li{border-top:1px solid rgba(255,255,255,.12);padding:11px 0}.side-links a{color:#f0d4cc;font-size:13px}.side-links a:hover{color:var(--coral)}
.timeline{border-left:2px solid #d7b2ae;padding-left:25px}.timeline-item{position:relative;padding:5px 0 22px}.timeline-item:before{content:"";position:absolute;left:-33px;top:12px;width:13px;height:13px;border-radius:50%;background:var(--coral);border:3px solid var(--paper)}.timeline-date{color:var(--plum3);font-weight:800;font-size:13px}.timeline-item h3{font-size:17px;color:var(--plum);margin:4px 0}.timeline-item p{color:var(--muted);font-size:13px;margin:0}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.info-card{padding:24px;background:var(--mist);border:1px solid var(--line);border-radius:var(--radius)}.info-card strong{display:block;color:var(--plum);font-size:17px;margin-bottom:7px}.info-card p{margin:0;color:var(--muted);font-size:13px}.guide{background:#f4e7df;border:1px solid #e6cfc4;border-radius:var(--radius);padding:25px;display:flex;justify-content:space-between;align-items:center;gap:22px}.guide h2{color:var(--plum);font-size:22px;margin:0 0 5px}.guide p{margin:0;color:#6f5c62;font-size:13px}.empty{padding:45px 20px;text-align:center;border:1px dashed #cdbdc0;border-radius:var(--radius);color:var(--muted);background:#fff}.more{text-align:center;margin-top:24px}.site-footer{background:var(--dark);color:#fff;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px}.site-footer p{color:#c7b9c4;font-size:13px}.site-footer h3{font-size:15px;margin:0 0 14px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:7px 0}.footer-links a{color:#c7b9c4;font-size:13px}.footer-links a:hover{color:var(--coral)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:18px;color:#a99ca8;font-size:12px}.age-modal{position:fixed;inset:0;z-index:50;background:rgba(25,17,27,.82);display:none;place-items:center;padding:20px}.age-modal.show{display:grid}.age-box{max-width:440px;background:var(--paper);border-radius:18px;padding:32px;text-align:center;box-shadow:0 25px 70px #0008}.age-box h2{color:var(--plum);margin:0 0 10px}.age-box p{color:var(--muted);font-size:13px}.age-actions{display:flex;gap:10px;justify-content:center;margin-top:22px}
@media(max-width:1024px){.navbar{gap:15px}.brand{min-width:190px}.nav-links a{padding:8px 7px}.content-layout{grid-template-columns:1fr 250px}.filter-bar{grid-template-columns:repeat(2,1fr)}.filter-bar .btn{width:100%}}
@media(max-width:768px){.container{width:min(100% - 28px,600px)}.navbar{height:68px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:12px 14px;background:var(--dark);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:12px}.menu-toggle{display:block}.age-chip{display:none}.content-layout{display:block}.side-card{position:static;margin-top:25px}.release-card{grid-template-columns:180px 1fr}.release-card img{height:125px}.info-grid{grid-template-columns:1fr}.guide{display:block}.guide .btn{margin-top:18px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}}
@media(max-width:520px){.brand strong{font-size:16px}.brand{min-width:auto}.filter-bar{grid-template-columns:1fr}.banner-inner{padding:55px 0}.section{padding:48px 0}.section-head{display:block}.section-head p{margin-top:8px}.release-card{display:block}.release-card img{height:190px;margin-bottom:12px}.card-content{padding:0 5px 5px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.age-actions{flex-direction:column}}

/* roulang page: category2 */
:root{
      --plum:#351b38;
      --plum-2:#51264f;
      --plum-3:#6d3965;
      --coral:#e48d70;
      --apricot:#f1c1a4;
      --ink:#29242b;
      --muted:#796f7c;
      --paper:#f8f5f2;
      --mist:#eee8e5;
      --white:#fff;
      --line:#dfd6d5;
      --dark:#211a24;
      --success:#6a8c79;
      --radius:16px;
      --radius-sm:11px;
      --shadow:0 16px 40px rgba(42,24,43,.10);
      --ease:all .25s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;font-size:15px}
    a{color:inherit;text-decoration:none}
    a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
    img{display:block;width:100%;max-width:100%;object-fit:cover}
    button,input,select{font:inherit}
    button{cursor:pointer;border:0}
    .container{width:min(1180px,calc(100% - 40px));margin:auto}
    .site-header{position:sticky;top:0;z-index:30;background:rgba(33,26,36,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
    .navbar{height:76px;display:flex;align-items:center;gap:28px}
    .brand{display:flex;align-items:center;gap:10px;min-width:220px}
    .brand-mark{width:38px;height:38px;border-radius:12px;background:var(--coral);display:grid;place-items:center;color:var(--plum);font-weight:900;font-size:20px}
    .brand strong{font-size:18px;letter-spacing:.02em;white-space:nowrap}
    .brand small{display:block;color:#cdbdca;font-size:10px;line-height:1.2}
    .nav-links{display:flex;gap:7px;align-items:center;flex:1}
    .nav-links a{color:#d9cfd8;padding:9px 12px;border-radius:9px;transition:var(--ease);font-size:14px}
    .nav-links a:hover,.nav-links a.active{background:rgba(228,141,112,.15);color:#fff}
    .nav-links a.active{box-shadow:inset 0 -2px var(--coral)}
    .nav-tools{display:flex;align-items:center;gap:10px}
    .age-badge{font-size:12px;color:var(--apricot);border:1px solid rgba(241,193,164,.5);padding:5px 9px;border-radius:99px}
    .menu-toggle{display:none;background:none;color:#fff;font-size:25px}
    .page-hero{min-height:405px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(33,26,36,.96),rgba(53,27,56,.84) 56%,rgba(53,27,56,.48)),url("/assets/images/backpic/back-2.webp") center/cover}
    .page-hero-inner{padding:72px 0 76px;max-width:760px}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--apricot);font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:17px}
    .eyebrow:before{content:"";width:25px;height:2px;background:var(--coral)}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(34px,5vw,58px);line-height:1.16;letter-spacing:-.04em;margin-bottom:20px}
    .page-hero p{color:#e5d9e2;max-width:700px;font-size:17px;margin-bottom:26px}
    .crumbs{display:flex;gap:9px;align-items:center;color:#d1c2d0;font-size:13px}
    .crumbs a:hover{color:var(--coral)}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:10px;font-weight:800;transition:var(--ease);border:1px solid transparent}
    .btn-primary{background:var(--coral);color:var(--plum)}
    .btn-primary:hover{background:var(--apricot);transform:translateY(-2px)}
    .btn-outline{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06)}
    .btn-outline:hover{border-color:var(--coral);background:rgba(228,141,112,.14)}
    .btn:active{transform:translateY(0)}
    .section{padding:72px 0}
    .section-soft{background:var(--mist)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
    .section-head h2{font-size:28px;line-height:1.25;color:var(--plum);margin-bottom:6px}
    .section-head p{color:var(--muted);font-size:14px;margin-bottom:0}
    .label{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:800;background:#f6e1d9;color:#9c4e45}
    .label.dark{background:rgba(241,193,164,.16);color:var(--apricot)}
    .filter-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 24px rgba(42,24,43,.05)}
    .filter-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
    .field label{display:block;font-size:12px;font-weight:800;color:var(--plum);margin-bottom:6px}
    .field select,.field input{width:100%;height:44px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fff;color:var(--ink)}
    .field select:hover,.field input:hover{border-color:var(--coral)}
    .filter-note{font-size:12px;color:var(--muted);margin:16px 0 0}
    .ranking-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:26px;align-items:start}
    .rank-list{counter-reset:rank;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:6px 20px}
    .rank-row{counter-increment:rank;display:grid;grid-template-columns:42px 86px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);transition:var(--ease)}
    .rank-row:last-child{border-bottom:0}
    .rank-row:before{content:counter(rank,decimal-leading-zero);font-size:20px;font-weight:900;color:var(--coral)}
    .rank-row:hover{padding-left:6px;background:#fffaf8}
    .rank-row img{height:62px;border-radius:9px}
    .rank-row h3{font-size:15px;line-height:1.4;color:var(--plum);margin:0 0 3px}
    .rank-row p{font-size:12px;color:var(--muted);margin:0}
    .rank-status{text-align:right;font-size:11px;color:var(--muted);white-space:nowrap}
    .trend-card{background:var(--dark);color:#fff;border-radius:var(--radius);padding:27px;min-height:100%}
    .trend-card h3{font-size:21px;margin-bottom:10px}
    .trend-card p{font-size:13px;color:#c9bdc7}
    .trend-item{padding:15px 0;border-top:1px solid rgba(255,255,255,.14)}
    .trend-item strong{display:block;color:var(--apricot);font-size:14px}
    .trend-item span{font-size:12px;color:#c9bdc7}
    .editor-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
    .feature-card{position:relative;min-height:390px;border-radius:18px;overflow:hidden;color:#fff;background:var(--dark)}
    .feature-card img{height:100%;position:absolute;inset:0;opacity:.7}
    .feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(27,17,29,.94))}
    .feature-overlay{position:absolute;z-index:1;inset:0;padding:30px;display:flex;flex-direction:column;justify-content:end}
    .feature-overlay h3{font-size:28px;line-height:1.3;margin:11px 0}
    .feature-overlay p{color:#e5dce4;font-size:14px;max-width:560px;margin-bottom:0}
    .editor-list{display:flex;flex-direction:column;gap:12px}
    .editor-item{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:13px;padding:10px;transition:var(--ease)}
    .editor-item:hover{transform:translateY(-3px);border-color:var(--coral);box-shadow:var(--shadow)}
    .editor-item img{height:82px;border-radius:8px}
    .editor-item h3{font-size:15px;color:var(--plum);line-height:1.4;margin:7px 0 4px}
    .editor-item p{font-size:12px;color:var(--muted);margin:0}
    .collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .collection-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:var(--ease)}
    .collection-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c99a9c}
    .collection-card img{height:170px}
    .collection-body{padding:18px}
    .collection-body h3{font-size:18px;color:var(--plum);margin:8px 0 6px}
    .collection-body p{font-size:13px;color:var(--muted);margin-bottom:14px}
    .collection-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
    .topic-strip{display:flex;flex-wrap:wrap;gap:12px}
    .topic-chip{padding:12px 16px;border:1px solid var(--line);background:var(--white);border-radius:10px;color:var(--plum-2);font-weight:700;transition:var(--ease)}
    .topic-chip:hover{background:var(--plum);color:#fff;border-color:var(--plum);transform:translateY(-2px)}
    .notice{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:#f7e8e1;border:1px solid #ebc8bb;border-radius:var(--radius);padding:25px 28px}
    .notice h2{font-size:23px;color:var(--plum);margin-bottom:7px}
    .notice p{color:#6e5d62;font-size:14px;margin-bottom:0}
    .site-footer{background:var(--dark);color:#fff;padding:58px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}
    .site-footer p{color:#c4b7c2;font-size:13px}
    .site-footer h3{font-size:14px;color:var(--apricot);margin:5px 0 14px}
    .footer-links{list-style:none;padding:0;margin:0;display:grid;gap:8px}
    .footer-links a{font-size:13px;color:#cfc3cd;transition:var(--ease)}
    .footer-links a:hover{color:var(--coral);padding-left:3px}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#a99ba8;font-size:12px}
    .age-modal{position:fixed;inset:0;z-index:60;background:rgba(25,16,27,.84);display:flex;align-items:center;justify-content:center;padding:20px}
    .age-modal.hidden{display:none}
    .age-box{width:min(470px,100%);background:var(--paper);border-radius:20px;padding:32px;box-shadow:0 25px 70px rgba(0,0,0,.35);text-align:center}
    .age-box .brand-mark{margin:0 auto 16px}
    .age-box h2{color:var(--plum);font-size:25px;margin-bottom:10px}
    .age-box p{color:var(--muted);font-size:14px}
    .age-actions{display:flex;gap:10px;margin-top:22px}
    .age-actions .btn{flex:1}
    @media(max-width:1024px){
      .navbar{gap:15px}.brand{min-width:190px}.nav-links a{padding:8px 7px}
      .filter-grid{grid-template-columns:repeat(2,1fr)}.filter-grid .btn{width:100%}
      .ranking-layout,.editor-grid{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:768px){
      .container{width:min(100% - 28px,680px)}
      .navbar{height:68px}.nav-tools{margin-left:auto}.age-badge{display:none}
      .menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--dark);padding:12px 20px 18px;flex-direction:column;align-items:stretch;border-top:1px solid rgba(255,255,255,.1)}
      .nav-links.open{display:flex}.nav-links a{padding:11px 13px}
      .page-hero{min-height:380px}.page-hero-inner{padding:58px 0}
      .section{padding:56px 0}.section-head{display:block}.section-head h2{font-size:24px;margin-bottom:8px}
      .filter-grid{grid-template-columns:1fr}.collection-grid{grid-template-columns:1fr 1fr}
      .notice{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}
    }
    @media(max-width:520px){
      h1{font-size:36px}.page-hero p{font-size:15px}.hero-actions .btn{width:100%}
      .rank-row{grid-template-columns:30px 70px 1fr}.rank-status{display:none}
      .rank-row img{height:54px}.editor-item{grid-template-columns:92px 1fr}.editor-item img{height:72px}
      .collection-grid{grid-template-columns:1fr}.collection-card img{height:190px}
      .topic-strip{gap:8px}.topic-chip{padding:9px 12px;font-size:13px}
      .footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}
      .age-actions{flex-direction:column}
    }

/* roulang page: category3 */
:root{
      --plum:#351b38;--plum-2:#51264f;--plum-3:#6d3965;--coral:#e48d70;
      --apricot:#f1c1a4;--ink:#29242b;--muted:#796f7c;--paper:#f8f5f2;
      --mist:#eee8e5;--white:#fff;--line:#dfd6d5;--dark:#211a24;
      --radius:16px;--radius-sm:11px;--shadow:0 16px 40px rgba(42,24,43,.1);
      --ease:all .25s ease
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;font-size:15px}
    a{color:inherit;text-decoration:none}
    a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
    img{display:block;width:100%;max-width:100%;object-fit:cover}
    button,input,select{font:inherit}
    button{cursor:pointer;border:0}
    .container{width:min(1180px,calc(100% - 40px));margin:auto}
    .site-header{position:sticky;top:0;z-index:30;background:rgba(33,26,36,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
    .navbar{height:76px;display:flex;align-items:center;gap:28px}
    .brand{display:flex;align-items:center;gap:10px;min-width:220px}
    .brand-mark{width:38px;height:38px;border-radius:12px;background:var(--coral);display:grid;place-items:center;color:var(--plum);font-weight:900;font-size:20px}
    .brand strong{font-size:18px;letter-spacing:.02em;white-space:nowrap}
    .brand small{display:block;color:#cdbdca;font-size:10px;line-height:1.2}
    .nav-links{display:flex;gap:7px;align-items:center;flex:1}
    .nav-links a{color:#d9cfd8;padding:9px 12px;border-radius:9px;transition:var(--ease);font-size:14px}
    .nav-links a:hover,.nav-links a.active{background:rgba(228,141,112,.15);color:#fff}
    .nav-links a.active{box-shadow:inset 0 -2px var(--coral)}
    .nav-tools{display:flex;align-items:center;gap:10px}
    .age-chip{border:1px solid rgba(241,193,164,.55);color:var(--apricot);padding:6px 10px;border-radius:99px;font-size:12px}
    .menu-toggle{display:none;background:none;color:#fff;font-size:25px}
    .page-banner{background:linear-gradient(90deg,rgba(33,26,36,.96),rgba(53,27,56,.82)),url("/assets/images/backpic/back-3.webp") center/cover;color:#fff;padding:76px 0 70px}
    .breadcrumb{color:#d7cbd4;font-size:13px;margin-bottom:22px}
    .breadcrumb a:hover{color:var(--apricot)}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--apricot);font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:15px}
    .eyebrow:before{content:"";width:25px;height:2px;background:var(--coral)}
    .page-banner h1{font-size:clamp(32px,5vw,52px);line-height:1.18;letter-spacing:-.04em;margin-bottom:17px}
    .page-banner p{max-width:720px;color:#e5d9e2;font-size:16px}
    .section{padding:70px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
    .section-head h2{font-size:28px;line-height:1.25;color:var(--plum)}
    .section-head p{color:var(--muted);font-size:14px}
    .filter-panel{margin-top:-28px;position:relative;z-index:2;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
    .filter-grid{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:14px;align-items:end}
    .field label{display:block;color:var(--plum);font-weight:700;font-size:13px;margin-bottom:7px}
    .field select{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:10px 12px}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:10px;font-weight:800;transition:var(--ease);border:1px solid transparent}
    .btn-primary{background:var(--plum);color:#fff}
    .btn-primary:hover{background:var(--plum-2);transform:translateY(-2px);color:#fff}
    .btn-light{background:#fff;color:var(--plum);border-color:var(--line)}
    .btn-light:hover{border-color:var(--coral);background:#fff8f5}
    .media-layout{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:start}
    .media-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
    .media-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:var(--ease)}
    .media-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c99a9c}
    .cover-wrap{position:relative;height:190px;background:var(--dark);overflow:hidden}
    .cover-wrap img{height:100%;transition:var(--ease)}
    .media-card:hover img{transform:scale(1.04)}
    .cover-wrap:after{content:"18+";position:absolute;right:12px;top:12px;background:var(--coral);color:var(--plum);font-weight:900;font-size:11px;padding:4px 8px;border-radius:99px}
    .card-body{padding:16px}
    .badge{display:inline-flex;padding:3px 8px;border-radius:5px;font-size:11px;font-weight:700;background:#f6e1d9;color:#9c4e45;margin-right:5px}
    .badge.dark{background:#eee4ed;color:var(--plum-2)}
    .card-body h3{font-size:17px;line-height:1.4;color:var(--plum);margin:10px 0 6px}
    .card-body p{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;margin-top:13px}
    .side-card{background:var(--dark);color:#fff;border-radius:var(--radius);padding:23px;position:sticky;top:100px}
    .side-card h3{font-size:20px;margin-bottom:13px}
    .side-card p{color:#d3c6d1;font-size:13px}
    .side-list{list-style:none;margin:20px 0}
    .side-list li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#eadfe8;font-size:13px}
    .side-list li:before{content:"✓";color:var(--coral);font-weight:900;margin-right:8px}
    .timeline{border-left:2px solid #d8b1aa;padding-left:25px;display:grid;gap:18px}
    .timeline-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 20px}
    .timeline-item:before{content:"";position:absolute;left:-34px;top:23px;width:14px;height:14px;border-radius:50%;background:var(--coral);border:3px solid var(--paper)}
    .timeline-item strong{color:var(--plum);font-size:14px}
    .timeline-item h3{font-size:17px;color:var(--plum);margin:4px 0}
    .timeline-item p{color:var(--muted);font-size:13px}
    .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px}
    .info-icon{width:38px;height:38px;border-radius:11px;background:#f5ded7;color:var(--plum);display:grid;place-items:center;font-weight:900;margin-bottom:15px}
    .info-card h3{font-size:18px;color:var(--plum);margin-bottom:7px}
    .info-card p{font-size:13px;color:var(--muted)}
    .article-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .article-card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:var(--radius-sm);transition:var(--ease)}
    .article-card:hover{border-color:var(--coral);box-shadow:var(--shadow);transform:translateY(-3px)}
    .article-card h3{font-size:17px;color:var(--plum);margin:10px 0 7px}
    .article-card p{font-size:13px;color:var(--muted)}
    .notice{background:#f3e5df;border:1px solid #e2c0b4;border-radius:var(--radius);padding:25px;display:flex;justify-content:space-between;gap:25px;align-items:center}
    .notice h2{font-size:22px;color:var(--plum);margin-bottom:6px}
    .notice p{font-size:13px;color:#685864;max-width:760px}
    .empty-state{display:none}
    .pagination-zone{text-align:center;margin-top:32px}
    .site-footer{background:var(--dark);color:#fff;padding:58px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}
    .site-footer p{color:#c4b7c2;font-size:13px}
    .site-footer h3{font-size:15px;margin-bottom:15px;color:#f5e5df}
    .footer-links{list-style:none;display:grid;gap:8px}
    .footer-links a{color:#c4b7c2;font-size:13px;transition:var(--ease)}
    .footer-links a:hover{color:var(--coral)}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:18px;color:#a99ba7;font-size:12px}
    .age-modal{position:fixed;inset:0;background:rgba(24,15,27,.86);z-index:60;display:grid;place-items:center;padding:20px}
    .age-box{max-width:460px;background:var(--paper);border-radius:18px;padding:32px;box-shadow:0 25px 70px rgba(0,0,0,.35);text-align:center}
    .age-box h2{color:var(--plum);font-size:25px;margin-bottom:10px}
    .age-box p{color:var(--muted);font-size:14px;margin-bottom:22px}
    .age-actions{display:flex;gap:10px;justify-content:center}
    @media(max-width:1024px){.navbar{gap:14px}.brand{min-width:190px}.nav-links a{padding:8px 8px}.media-layout{grid-template-columns:1fr}.side-card{position:static}.filter-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:768px){.container{width:min(100% - 28px,620px)}.navbar{height:68px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--dark);padding:13px 14px;flex-direction:column;align-items:stretch;border-top:1px solid rgba(255,255,255,.1)}.nav-links.open{display:flex}.nav-tools{margin-left:auto}.age-chip{display:none}.menu-toggle{display:block}.page-banner{padding:55px 0}.section{padding:52px 0}.media-list,.info-grid,.article-strip{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:8px}.notice{display:block}.notice .btn{margin-top:18px}}
    @media(max-width:520px){.brand strong{font-size:16px}.brand{min-width:0}.brand small{display:none}.filter-grid{grid-template-columns:1fr}.filter-panel{padding:16px}.cover-wrap{height:175px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.age-actions{flex-direction:column}}

/* roulang page: article */
:root{
      --plum:#351b38;
      --plum-2:#51264f;
      --plum-3:#6d3965;
      --coral:#e48d70;
      --apricot:#f1c1a4;
      --ink:#29242b;
      --muted:#796f7c;
      --paper:#f8f5f2;
      --mist:#eee8e5;
      --white:#fff;
      --line:#dfd6d5;
      --dark:#211a24;
      --success:#6a8c79;
      --radius:16px;
      --radius-sm:11px;
      --shadow:0 16px 40px rgba(42,24,43,.10);
      --ease:all .25s ease;
    }
    *{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",Arial,sans-serif;font-size:15px;line-height:1.75}
    a{color:inherit;text-decoration:none}
    img{display:block;width:100%;max-width:100%;object-fit:cover}
    button,input{font:inherit}
    button{border:0;cursor:pointer}
    :focus-visible{outline:3px solid var(--coral);outline-offset:3px}
    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:30;background:rgba(33,26,36,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
    .navbar{height:76px;display:flex;align-items:center;gap:28px}
    .brand{display:flex;align-items:center;gap:10px;min-width:220px}
    .brand-mark{width:38px;height:38px;border-radius:12px;background:var(--coral);display:grid;place-items:center;color:var(--plum);font-weight:900;font-size:20px}
    .brand strong{font-size:18px;letter-spacing:.02em;white-space:nowrap}
    .brand small{display:block;color:#cdbdca;font-size:10px;line-height:1.2}
    .nav-links{display:flex;gap:7px;align-items:center;flex:1}
    .nav-links a{color:#d9cfd8;padding:9px 12px;border-radius:9px;transition:var(--ease);font-size:14px}
    .nav-links a:hover,.nav-links a.active{background:rgba(228,141,112,.15);color:#fff}
    .nav-links a.active{box-shadow:inset 0 -2px var(--coral)}
    .nav-tools{display:flex;align-items:center;gap:10px}
    .age-chip{border:1px solid rgba(241,193,164,.55);color:var(--apricot);border-radius:99px;padding:6px 11px;font-size:12px}
    .menu-toggle{display:none;background:none;color:#fff;font-size:25px}
    .article-banner{padding:68px 0 56px;background:linear-gradient(90deg,rgba(33,26,36,.96),rgba(53,27,56,.86)),url("/assets/images/backpic/back-3.webp") center/cover;color:#fff}
    .breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#d8cbd6;font-size:13px;margin-bottom:22px}
    .breadcrumbs a:hover{color:var(--apricot)}
    .crumb-sep{color:var(--coral)}
    .article-banner h1{max-width:850px;margin:0 0 18px;font-size:clamp(30px,5vw,52px);line-height:1.25;letter-spacing:-.035em}
    .article-lead{max-width:790px;color:#e8dce6;font-size:16px;margin:0}
    .article-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:25px;color:#d2c2d0;font-size:13px}
    .tag{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);border-radius:99px;padding:4px 10px;color:#ffe3d9;font-size:12px}
    .main-area{padding:58px 0 84px}
    .article-layout{display:grid;grid-template-columns:minmax(0,820px) 290px;gap:34px;align-items:start}
    .article-main,.side-card,.notice-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 7px 22px rgba(42,24,43,.045)}
    .article-main{padding:36px 42px}
    .article-cover{height:310px;border-radius:13px;margin-bottom:30px;overflow:hidden;background:var(--mist)}
    .article-cover img{height:100%;filter:saturate(.78)}
    .content-intro{border-left:4px solid var(--coral);background:#fff8f4;padding:15px 18px;margin:0 0 30px;color:#5e4f59;border-radius:0 10px 10px 0}
    .article-content{font-size:16px;color:#3b343d;overflow-wrap:anywhere}
    .article-content h2{color:var(--plum);font-size:26px;line-height:1.35;margin:38px 0 15px}
    .article-content h3{color:var(--plum-2);font-size:20px;margin:28px 0 10px}
    .article-content p{margin:0 0 18px}
    .article-content ul,.article-content ol{padding-left:24px;margin:12px 0 22px}
    .article-content li{margin:7px 0}
    .article-content blockquote{margin:25px 0;padding:18px 21px;background:var(--mist);border-left:4px solid var(--plum-3);border-radius:0 10px 10px 0;color:#5e5360}
    .article-content img{border-radius:12px;margin:24px 0}
    .article-content figure{margin:25px 0}
    .article-content figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}
    .side-stack{display:flex;flex-direction:column;gap:18px;position:sticky;top:100px}
    .side-card{padding:22px}
    .side-card h2,.notice-card h2{font-size:18px;color:var(--plum);margin:0 0 14px}
    .side-cover{height:145px;border-radius:11px;margin:-22px -22px 18px;width:calc(100% + 44px)}
    .side-list{list-style:none;padding:0;margin:0}
    .side-list li{border-top:1px solid var(--line);padding:11px 0}
    .side-list li:first-child{border-top:0;padding-top:0}
    .side-list a{font-weight:700;color:var(--plum-2);font-size:14px}
    .side-list a:hover{color:var(--coral)}
    .side-list small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
    .notice-card{margin-top:34px;padding:24px;background:#fffaf7;border-color:#edcabc}
    .notice-card p{margin:0;color:#65545a;font-size:14px}
    .article-actions{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:34px;padding-top:24px}
    .button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 17px;border-radius:10px;font-weight:700;transition:var(--ease)}
    .button-primary{background:var(--plum);color:#fff}
    .button-primary:hover{background:var(--plum-3);transform:translateY(-2px);color:#fff}
    .button-secondary{border:1px solid var(--line);background:#fff;color:var(--plum)}
    .button-secondary:hover{border-color:var(--coral);background:#fff7f3;transform:translateY(-2px)}
    .related-section{padding:0 0 78px}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
    .section-head h2{color:var(--plum);font-size:28px;line-height:1.2;margin:0}
    .section-head p{color:var(--muted);margin:0;font-size:14px}
    .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .related-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:var(--ease)}
    .related-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c99a9c}
    .related-card img{height:150px}
    .related-body{padding:16px}
    .related-body h3{font-size:17px;line-height:1.45;color:var(--plum);margin:8px 0}
    .related-body p{font-size:13px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .site-footer{background:var(--dark);color:#d8cbd6;padding:54px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px}
    .site-footer .brand{color:#fff}
    .site-footer p{font-size:13px;color:#afa1ae;max-width:250px}
    .site-footer h3{font-size:15px;color:#fff;margin:4px 0 15px}
    .footer-links{list-style:none;padding:0;margin:0}
    .footer-links li{margin:8px 0;font-size:13px}
    .footer-links a{color:#bcaebb;transition:var(--ease)}
    .footer-links a:hover{color:var(--coral)}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:18px;color:#958895;font-size:12px}
    .age-modal{position:fixed;inset:0;z-index:60;display:none;place-items:center;padding:20px;background:rgba(24,15,26,.82)}
    .age-modal.show{display:grid}
    .age-dialog{width:min(440px,100%);background:var(--paper);border-radius:18px;padding:30px;box-shadow:0 22px 70px rgba(0,0,0,.35);text-align:center}
    .age-dialog .brand-mark{margin:0 auto 15px}
    .age-dialog h2{color:var(--plum);font-size:25px;margin:0 0 10px}
    .age-dialog p{font-size:14px;color:var(--muted);margin:0 0 22px}
    .age-actions{display:flex;gap:10px}
    .age-actions .button{flex:1}
    @media(max-width:1024px){
      .navbar{gap:14px}.brand{min-width:195px}
      .nav-links a{padding:8px 8px;font-size:13px}
      .article-layout{grid-template-columns:minmax(0,1fr) 260px}
      .article-main{padding:30px}
    }
    @media(max-width:768px){
      .container{width:min(100% - 28px,620px)}
      .navbar{height:68px}.nav-tools{margin-left:auto}.age-chip{display:none}
      .menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:12px 14px;background:var(--dark);border-top:1px solid rgba(255,255,255,.1);flex-direction:column;align-items:stretch}
      .nav-links.open{display:flex}.nav-links a{padding:12px 14px}
      .article-banner{padding:45px 0 40px}.article-banner h1{font-size:34px}
      .article-layout{display:block}.side-stack{position:static;margin-top:22px}
      .article-main{padding:24px}.article-cover{height:230px}
      .related-grid{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
      .footer-grid>div:first-child{grid-column:1/-1}
      .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}
    }
    @media(max-width:520px){
      .brand strong{font-size:16px}.brand{min-width:0}
      .article-banner h1{font-size:29px}.article-lead{font-size:15px}
      .article-main{padding:19px}.article-content{font-size:15px}
      .article-content h2{font-size:22px}.article-cover{height:190px}
      .related-grid{grid-template-columns:1fr}
      .related-card img{height:180px}
      .footer-grid{grid-template-columns:1fr}
      .footer-grid>div:first-child{grid-column:auto}
      .age-actions{flex-direction:column}
    }
