/* roulang page: index */
:root{--bg:#120910;--bg-2:#1C1018;--card:#26161F;--line:#4A2E3C;--text:#F6EEE8;--muted:#C9B4BE;--rose:#FF5A8A;--rose-2:#ff7aa3;--press:#D63E6E;--gold:#C6A15B;--sage:#8FBF9F;--shadow:0 12px 28px rgba(255,90,138,.14);--r:16px;--rb:10px;--max:1120px;--nav:72px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Source Han Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--rose);text-decoration:underline}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:40;height:auto;background:#160c12;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.nav-wrap{min-height:var(--nav);display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.logo{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}
.logo:hover{text-decoration:none;color:var(--text)}
.mark{width:36px;height:36px;flex:0 0 36px}
.logo-text{font-weight:700;font-size:15px;line-height:1.25;letter-spacing:.02em;max-width:9.2em}
.age-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-size:12px;letter-spacing:.04em;white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:8px;justify-content:center;min-width:0}
.site-nav a{padding:6px 10px;border-radius:999px;color:var(--muted);font-size:14px;white-space:nowrap}
.site-nav a:hover{color:var(--rose);text-decoration:none;background:rgba(255,90,138,.08)}
.site-nav a.active{color:var(--text);background:#311823;box-shadow:inset 0 0 0 1px var(--line)}
.nav-tools{display:flex;align-items:center;gap:10px}
.search{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;background:#1a0d14;border:1px solid var(--line);min-width:220px}
.search svg{flex:0 0 auto}
.search input{width:100%;border:0;background:transparent;outline:none;color:var(--text)}
.search input::placeholder{color:#9c8792}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:var(--rb);border:1px solid transparent;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;text-decoration:none;white-space:nowrap}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--rose);color:#2a0612;font-weight:700}
.btn-primary:hover{background:var(--rose-2);color:#2a0612;transform:translateY(-2px)}
.btn-primary:active{background:var(--press);color:#fff;transform:none}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--rose);color:var(--rose);transform:translateY(-2px)}
.btn-ghost:active{transform:none;color:var(--press)}
.menu-btn{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#1a0d14}
.menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;height:2px;background:var(--text);position:relative;border-radius:2px}
.menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0;width:18px}
.menu-btn span{width:18px;margin:0 auto}
.menu-btn span:before{top:-6px}
.menu-btn span:after{top:6px}
main{overflow:hidden}
section{position:relative;padding:72px 0;border-top:1px solid rgba(74,46,60,.9)}
section:nth-of-type(odd){background:var(--bg)}
section:nth-of-type(even){background:var(--bg-2)}
.bracket:before,.bracket:after{content:"";position:absolute;width:28px;height:28px;opacity:.28;pointer-events:none}
.bracket:before{top:18px;left:18px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}
.bracket:after{right:18px;bottom:18px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--rose);font-size:13px;letter-spacing:.08em}
h1,h2,h3{line-height:1.35;margin:0 0 .4em}
h1{font-size:42px;font-weight:700}
h2{font-size:30px;font-weight:650}
h3{font-size:18px;font-weight:600}
p{margin:0 0 .9em}
.lead{color:var(--muted);max-width:760px}
.hero{padding:54px 0 64px}
.hero-grid{display:grid;grid-template-columns:6fr 5fr;gap:36px;align-items:center}
.hero-copy{position:relative}
.sticker{position:absolute;top:-8px;right:8px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8aab,#ff5a8a 62%,#d63e6e);color:#2a0612;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;font-weight:700;line-height:1.35;transform:rotate(8deg);box-shadow:var(--shadow)}
.sub{font-size:18px;margin:.2em 0 .8em}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.hero-note{font-size:13px;color:var(--gold)}
.phone-stage{display:flex;justify-content:center}
.phone{width:min(280px,100%);background:#1a0e15;border:1px solid var(--line);border-radius:28px;padding:12px;box-shadow:var(--shadow)}
.phone-bar{height:18px;display:flex;justify-content:center;align-items:center}
.phone-bar i{width:68px;height:6px;border-radius:999px;background:#3a2430;display:block}
.poster{border-radius:16px;min-height:360px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.poster.rose{background:linear-gradient(160deg,#3a1826,#120910 70%)}
.poster.plum{background:linear-gradient(165deg,#4a2434,#140910 72%)}
.poster.wine{background:linear-gradient(180deg,#2a1520,#120910)}
.poster strong{font-size:20px}
.poster span,.meta{color:var(--muted);font-size:13px}
.progress{height:6px;border-radius:999px;background:#3c2430;overflow:hidden}
.progress b{display:block;height:100%;width:62%;background:var(--rose)}
.band-list{display:flex;flex-direction:column;gap:12px}
.band{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.band:nth-child(2){margin-left:6%}
.band:nth-child(3){margin-right:8%}
.band:nth-child(4){margin-left:3%}
.band:nth-child(5){margin-right:4%}
.band:nth-child(6){margin-left:10%}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:12px}
.rail{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.scene{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;flex:0 0 280px}
.scene:nth-child(odd){flex-basis:240px}
.scene:nth-child(even){flex-basis:340px}
.frame{border-radius:12px;border:1px solid var(--line);display:flex;align-items:flex-end;padding:10px;margin-bottom:10px}
.frame.p9{aspect-ratio:9/16;background:#3a1a28}
.frame.p16{aspect-ratio:16/9;background:#2a1420}
.stage{height:460px;position:relative;margin-top:10px}
.stage .phone{position:absolute;width:230px}
.stage .phone:nth-child(1){left:8%;top:30px;transform:rotate(-8deg)}
.stage .phone:nth-child(2){left:36%;top:0;z-index:2}
.stage .phone:nth-child(3){right:6%;top:48px;transform:rotate(7deg)}
.times{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.time-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 8px}
.time-card ol{list-style:none;margin:0;padding:0}
.time-card li{position:relative;padding:0 0 16px 18px;border-left:1px solid var(--line)}
.time-card li:before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--rose)}
.price-grid{display:flex;align-items:stretch;gap:14px}
.price{flex:1;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:8px}
.price.featured{flex:1.28;transform:translateY(-16px);border-color:#ff5a8a;box-shadow:var(--shadow);background:#311823}
.price dt{color:var(--muted);float:left;clear:left;width:5em}
.price dd{margin:0 0 6px 5.2em}
.price .btn{margin-top:auto}
.wall{columns:4;column-gap:12px}
.bubble{break-inside:avoid;margin:0 0 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.stars{color:var(--rose);letter-spacing:2px;font-size:13px}
.voice-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.long{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.stats{display:flex;flex-direction:column;gap:12px}
.stat{background:#311823;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.stat b{display:block;font-size:32px;font-weight:700;color:var(--rose);line-height:1.2}
.news-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:14px}
.news-main,.news-side a,.entry,.row,.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.news-main{display:grid;grid-template-columns:180px 1fr;min-height:280px;overflow:hidden;text-decoration:none}
.news-main:hover,.entry:hover{border-color:var(--rose);text-decoration:none;color:var(--text)}
.swatch{min-height:120px}
.swatch.a{background:#5a2740}
.swatch.b{background:#3d2438}
.swatch.c{background:#6a3148}
.swatch.d{background:#2d1a28}
.news-main div,.news-side a{padding:16px}
.news-side{display:flex;flex-direction:column;gap:12px}
.news-side a{display:block;text-decoration:none;padding:14px 16px}
.news-side a:hover{color:var(--rose)}
.entries{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.entry{display:block;padding:22px;min-height:220px;text-decoration:none;position:relative}
.entry small{color:var(--gold)}
.entry strong{display:block;font-size:28px;margin:10px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.defs{margin:0}
.defs div{display:grid;grid-template-columns:7em 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.defs dt{color:var(--rose)}
.defs dd{margin:0;color:var(--muted)}
.night-top{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-bottom:16px}
.durations{display:flex;flex-direction:column;gap:10px}
.row{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:14px 16px;align-items:center}
.row:nth-child(1){margin-right:18%}
.row:nth-child(2){margin-left:8%;margin-right:8%}
.row:nth-child(3){margin-left:16%}
.compare{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.panel ul{margin:.4em 0 0;padding-left:1.1em}
.panel li{margin:.35em 0}
.flow{display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 10px}
.faq summary{cursor:pointer;font-weight:650}
.faq details[open]{border-color:#8a4a62}
.cta{background:#10080c;border-top:1px solid var(--line)}
.cta-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:start}
form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
input,select{height:44px;border-radius:10px;border:1px solid var(--line);background:#1a0e15;padding:0 12px}
label.full,form .btn,form .form-ok{grid-column:1/-1}
.form-ok{display:none;margin:0;padding:12px;border-radius:10px;background:rgba(143,191,159,.12);color:var(--sage);border:1px solid rgba(143,191,159,.4)}
form.is-done .field,form.is-done .btn{display:none}
form.is-done .form-ok{display:block}
.site-footer{background:#10080c;border-top:1px solid var(--line);padding:36px 0 22px}
.foot-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr .9fr;gap:18px}
.site-footer a{display:block;color:var(--muted);padding:3px 0}
.site-footer h3{font-size:16px}
.copy{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
@media(max-width:1200px){.logo-text{font-size:14px}.wall{columns:3}}
@media(max-width:1024px){.hero-grid,.voice-grid,.news-grid,.cta-box,.compare,.night-top{grid-template-columns:1fr}.sticker{position:static;margin-bottom:12px}.stage{height:auto;display:flex;gap:12px;justify-content:center}.stage .phone{position:static;transform:none}.price.featured{transform:none}}
@media(max-width:960px){.site-nav a{padding:6px 7px}.wall{columns:2}.times,.entries,.split,.news-main{grid-template-columns:1fr}.band{grid-template-columns:1fr;margin:0!important}}
@media(max-width:768px){.nav-wrap{grid-template-columns:auto 1fr auto;min-height:64px}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#160c12;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:10px 16px 16px}.site-nav.is-open{display:flex}.search{min-width:0;width:100%;grid-column:1/-1}.nav-tools{display:contents}.nav-wrap{grid-template-columns:auto 1fr auto}.menu-btn{display:inline-flex;align-items:center;justify-content:center}.hero-actions,.price-grid,.foot-grid,form{grid-template-columns:1fr;display:grid}.price-grid{display:grid}.row{grid-template-columns:1fr;margin:0!important}.wall{columns:1}h1{font-size:32px}h2{font-size:24px}section{padding:48px 0}.scene{flex-basis:82%}.logo-text{max-width:8em}}
@media(max-width:520px){.container{width:min(var(--max),calc(100% - 20px))}h1{font-size:28px}.phone{width:100%}.stage{flex-direction:column;align-items:center}}
@media(max-width:480px){.btn{width:100%}.hero-actions .btn{width:auto}.age-badge{display:none}.nav-wrap .age-badge{display:inline-flex}}

/* roulang page: category1 */
:root{--bg:#120910;--bg-2:#1C1018;--card:#26161F;--line:#4A2E3C;--text:#F6EEE8;--muted:#C9B4BE;--rose:#FF5A8A;--rose-2:#ff7aa3;--press:#D63E6E;--gold:#C6A15B;--sage:#8FBF9F;--shadow:0 12px 28px rgba(255,90,138,.14);--r:16px;--rb:10px;--max:1120px;--nav:72px}
/* roulang page: category1 */
html{scroll-behavior:smooth}
*,*:before,*:after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Source Han Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--rose);text-decoration:underline}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:40;height:auto;background:#160c12;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.nav-wrap{min-height:var(--nav);display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.logo{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}
.logo:hover{text-decoration:none;color:var(--text)}
.mark{width:36px;height:36px;flex:0 0 auto}
.logo-text{font-weight:700;font-size:15px;line-height:1.25;letter-spacing:.02em;max-width:9.2em}
.age-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-size:12px;letter-spacing:.04em;white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:8px;justify-content:center;min-width:0}
.site-nav a{padding:6px 10px;border-radius:999px;color:var(--muted);font-size:14px;white-space:nowrap}
.site-nav a:hover{color:var(--rose);text-decoration:none;background:rgba(255,90,138,.08)}
.site-nav a.active{color:var(--text);background:#311823;box-shadow:inset 0 0 0 1px var(--line)}
.nav-tools{display:flex;align-items:center;gap:10px}
.search{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;background:#1a0d14;border:1px solid var(--line);min-width:220px}
.search svg{flex:0 0 auto}
.search input{width:100%;border:0;background:transparent;outline:none;color:var(--text)}
.search input::placeholder{color:#9c8792}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:var(--rb);border:1px solid transparent;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;text-decoration:none;white-space:nowrap}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--rose);color:#2a0612;font-weight:700}
.btn-primary:hover{background:var(--rose-2);color:#2a0612;transform:translateY(-2px)}
.btn-primary:active{background:var(--press);color:#fff;transform:none}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--rose);color:var(--rose);transform:translateY(-2px)}
.btn-ghost:active{transform:none;color:var(--press)}
.menu-btn{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#1a0d14;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;height:2px;background:var(--text);position:relative;border-radius:2px}
.menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0;width:18px}
.menu-btn span{width:18px;margin:0 auto}
.menu-btn span:before{top:-6px}
.menu-btn span:after{top:6px}
main{overflow:hidden}
section{position:relative;padding:64px 0;border-top:1px solid rgba(74,46,60,.9)}
section:nth-of-type(odd){background:var(--bg)}
section:nth-of-type(even){background:var(--bg-2)}
h1,h2,h3{line-height:1.35;margin:0 0 .45em}
h1{font-size:34px;font-weight:700}
h2{font-size:26px;font-weight:650}
h3{font-size:18px;font-weight:600}
p{margin:0 0 .9em}
.lead{color:var(--muted);max-width:640px;margin-bottom:0}
.kicker{margin:0 0 6px;color:var(--gold);font-size:13px;letter-spacing:.06em}
.cat-head{padding:28px 0 22px}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}
.head-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:280px}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:#1a0d14;color:var(--muted);transition:border-color .18s ease,color .18s ease,background .18s ease}
.chip:hover{border-color:var(--rose);color:var(--rose)}
.chip.is-on{color:var(--text);border-color:var(--rose);background:#311823}
.count{margin:0;color:var(--gold);font-size:13px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.sec-head p{margin:0;color:var(--muted);max-width:420px}
.entry{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:0 0 12px;box-shadow:0 0 0 rgba(255,90,138,0);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.entry:hover{border-color:var(--rose);transform:translateY(-2px);box-shadow:var(--shadow)}
.poster{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:3/4;background:#3a1a2a}
.poster span{position:absolute;left:8px;bottom:8px;padding:0 7px;height:22px;display:inline-flex;align-items:center;border-radius:999px;background:rgba(18,9,16,.78);border:1px solid var(--gold);color:var(--gold);font-size:12px}
.p1{background:#5a2740}
.p2{background:#3e2438}
.p3{background:#6a3048}
.p4{background:#2c1a28}
.p5{background:#4a2036}
.p6{background:#341824}
.entry h3{margin:0 0 4px}
.entry h3 a:hover{color:var(--rose)}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px;color:var(--muted);font-size:13px}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:12px}
.entry p{margin:0;color:var(--muted)}
.more-wrap{display:flex;justify-content:flex-end;margin:8px 0 0}
.sort-sec{padding:26px 0}
.sort-line{display:flex;align-items:center;justify-content:space-between;gap:18px}
.sort-line h2{margin:0;font-size:22px}
.sort-pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.sort-pills li{padding:6px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--muted);font-size:14px}
.orient-grid{display:grid;grid-template-columns:1.35fr 1fr .78fr;gap:14px}
.orient-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-height:100%}
.orient-card:hover{border-color:var(--rose)}
.frame{margin-top:12px;border-radius:12px;border:1px solid var(--line);position:relative;overflow:hidden}
.frame.v{aspect-ratio:9/16;max-height:280px;background:linear-gradient(180deg,#4a2436,#241018)}
.frame.w{aspect-ratio:16/9;background:linear-gradient(90deg,#3a1d2e,#1c1018)}
.frame.h{aspect-ratio:4/5;background:linear-gradient(180deg,#5c2a42,#120910)}
.frame i{position:absolute;left:12px;right:12px;bottom:14px;height:4px;border-radius:4px;background:rgba(198,161,91,.35)}
.frame i:after{content:"";display:block;width:46%;height:100%;border-radius:4px;background:var(--rose)}
.frame b{position:absolute;left:12px;top:12px;font-weight:600;font-size:13px}
.article-list{display:flex;flex-direction:column;gap:10px}
.article-row{display:grid;grid-template-columns:108px 1fr auto;gap:14px;align-items:center;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none}
.article-row:hover{border-color:var(--rose);color:var(--text);text-decoration:none}
.article-row strong{display:block;font-weight:650}
.article-row span{color:var(--muted);font-size:14px}
.date{color:var(--gold);font-size:13px;white-space:nowrap}
.def-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.def{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 18px 16px}
.def dt{margin-top:12px;font-weight:650;color:var(--text)}
.def dd{margin:.2em 0 0;color:var(--muted)}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 10px}
.faq summary{cursor:pointer;font-weight:650}
.faq details[open]{border-color:#8a4a62}
.faq details p{margin:.6em 0 0;color:var(--muted)}
.cta{background:#10080c;border-top:1px solid var(--line)}
.cta-box{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.cta-box p{color:var(--muted);margin-bottom:0}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.note{margin-top:10px;color:var(--sage);font-size:14px}
.site-footer{background:#10080c;border-top:1px solid var(--line);padding:36px 0 18px}
.foot-grid{display:grid;grid-template-columns:1.4fr .8fr 1.1fr .8fr;gap:22px}
.foot-grid h3{font-size:15px;font-weight:600;margin:0 0 8px}
.foot-grid a,.foot-grid p{display:block;color:var(--muted);font-size:14px;margin:0 0 .45em}
.foot-grid a:hover{color:var(--rose)}
.copy{color:var(--muted);font-size:13px;padding-top:12px;margin:12px auto 0;border-top:1px solid var(--line)}
@media (max-width:1200px){
.logo-text{font-size:14px}
.orient-grid{grid-template-columns:1.2fr .9fr .8fr}
}
@media (max-width:960px){
.nav-wrap{gap:10px}
.search{min-width:160px}
.head-row,.sort-line,.cta-box,.def-grid{display:block}
.head-side,.cta-actions{align-items:flex-start;margin-top:14px;min-width:0}
.chips{justify-content:flex-start}
.sort-line h2{margin-bottom:10px}
.orient-grid{grid-template-columns:1.3fr .7fr}
.orient-card:last-child{grid-column:1/-1}
.def+.def{margin-top:14px}
.foot-grid{grid-template-columns:1fr 1fr;gap:16px}
}
@media (max-width:768px){
.nav-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0}
.logo{flex:1;order:1}
.nav-tools{display:contents}
.age-badge{order:2}
.btn-primary{order:3}
.menu-btn{display:inline-flex;order:4}
.btn-ghost{display:none}
.site-nav{display:none;order:6;width:100%;flex-direction:column;align-items:stretch;background:#1c1018;border:1px solid var(--line);border-radius:12px;padding:8px}
.site-nav.open{display:flex}
.site-nav a{padding:10px 12px}
.search{order:5;flex:1 0 100%;min-width:0;width:100%}
h1{font-size:28px}
h2{font-size:22px}
.orient-grid,.article-row,.entry{grid-template-columns:1fr}
.article-row{align-items:start}
.date{justify-self:start}
.frame.v{max-height:none}
.foot-grid{grid-template-columns:1fr}
.cta-actions .btn{width:100%}
}
@media (max-width:480px){
.container{width:min(var(--max),calc(100% - 24px))}
.logo-text{font-size:13px;max-width:8.2em}
h1{font-size:24px}
.age-badge{display:none}
.sec-head{display:block}
.entry{padding:12px}
.poster{max-width:180px}
}

/* roulang page: category2 */
:root{--bg:#120910;--bg-2:#1C1018;--card:#26161F;--line:#4A2E3C;--text:#F6EEE8;--muted:#C9B4BE;--rose:#FF5A8A;--rose-2:#ff7aa3;--press:#D63E6E;--gold:#C6A15B;--sage:#8FBF9F;--shadow:0 12px 28px rgba(255,90,138,.14);--r:16px;--rb:10px;--max:1120px;--nav:72px}
/* roulang page: category2 */
html{scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Source Han Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--rose);text-decoration:underline}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
::selection{background:rgba(255,90,138,.35);color:#fff}
.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:40;height:auto;background:#160c12;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.nav-wrap{min-height:var(--nav);display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.logo{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}
.logo:hover{text-decoration:none;color:var(--text)}
.mark{width:36px;height:36px;flex:0 0 auto}
.logo-text{font-weight:700;font-size:15px;line-height:1.25;letter-spacing:.02em;max-width:9.2em}
.age-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-size:12px;letter-spacing:.04em;white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:8px;justify-content:center;min-width:0}
.site-nav a{padding:6px 10px;border-radius:999px;color:var(--muted);font-size:14px;white-space:nowrap}
.site-nav a:hover{color:var(--rose);text-decoration:none;background:rgba(255,90,138,.08)}
.site-nav a.active{color:var(--text);background:#311823;box-shadow:inset 0 0 0 1px var(--line)}
.nav-tools{display:flex;align-items:center;gap:10px}
.search{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;background:#1a0d14;border:1px solid var(--line);min-width:220px}
.search svg{flex:0 0 auto}
.search input{width:100%;border:0;background:transparent;outline:none;color:var(--text)}
.search input::placeholder{color:#9c8792}
.search:focus-within{border-color:var(--rose)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:var(--rb);border:1px solid transparent;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;text-decoration:none;white-space:nowrap}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--rose);color:#2a0612;font-weight:700}
.btn-primary:hover{background:var(--rose-2);color:#2a0612;transform:translateY(-2px)}
.btn-primary:active{background:var(--press);color:#fff;transform:none}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--rose);color:var(--rose);transform:translateY(-2px)}
.btn-ghost:active{transform:none;color:var(--press)}
.menu-btn{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#1a0d14;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;height:2px;background:var(--text);position:relative;border-radius:2px}
.menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0;width:18px}
.menu-btn span{width:18px}
.menu-btn span:before{top:-6px}
.menu-btn span:after{top:6px}
main{overflow:hidden}
section{position:relative;padding:72px 0;border-top:1px solid rgba(74,46,60,.9)}
section:nth-of-type(odd){background:var(--bg)}
section:nth-of-type(even){background:var(--bg-2)}
h1,h2,h3{font-family:"PingFang SC","Source Han Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif;line-height:1.35}
h1{margin:0 0 .35em;font-size:34px;font-weight:700}
h2{margin:0 0 .45em;font-size:28px;font-weight:650}
h3{margin:0 0 .35em;font-size:18px;font-weight:600}
p{margin:0 0 .9em}
.lead{color:var(--muted);max-width:760px;margin:0}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:12px}
.sec-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}
.sec-head p{margin:0;color:var(--muted);max-width:460px}
.kr-bar{padding:28px 0 26px}
.kr-bar-inner{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}
.kr-kicker{margin:0 0 6px;color:var(--gold);font-size:13px;letter-spacing:.08em}
.dev-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.dev-switch{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:#1a0d14;color:var(--muted);transition:border-color .18s ease,color .18s ease,background .18s ease}
.dev-switch[aria-pressed="true"]{color:var(--text);border-color:var(--gold);background:#311823}
.dev-switch:hover{color:var(--rose);border-color:var(--rose)}
.dev-switch:active{color:var(--press)}
.kr-board{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:14px}
.kr-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 rgba(255,90,138,0);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.kr-card:before{content:"";position:absolute;top:8px;left:8px;width:14px;height:14px;border-top:1px solid rgba(198,161,91,.34);border-left:1px solid rgba(198,161,91,.34);z-index:2;pointer-events:none}
.kr-card:hover{border-color:var(--rose);transform:translateY(-2px);box-shadow:var(--shadow)}
.card-lg{grid-column:span 2;display:grid;grid-template-columns:minmax(180px,.9fr) 1.2fr;min-height:230px}
.card-lg:nth-of-type(4){grid-column:2 / span 2}
.card-body{padding:16px 16px 14px}
.meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}
.frame{position:relative;min-height:140px;background:#3a1d2c}
.frame.a{background:#5a2740}
.frame.b{background:#6d314c}
.frame.c{background:#2c1622}
.frame.d{background:#4a2438}
.frame.e{background:#7a3a52}
.frame.f{background:#341824}
.frame span{position:absolute;left:10px;bottom:10px;padding:2px 8px;border-radius:999px;background:rgba(18,9,16,.72);color:var(--text);font-size:12px;border:1px solid rgba(198,161,91,.35)}
.more-wrap{display:flex;justify-content:flex-end;margin:16px 0 0}
.scene-row{display:flex;flex-wrap:wrap;gap:12px}
.scene{flex:1 1 180px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;min-height:168px}
.scene:nth-child(odd){flex-basis:250px}
.scene:hover{border-color:var(--rose)}
.ratio{margin-top:10px;border-radius:12px;border:1px solid var(--line);background:#3a1d2c;display:flex;align-items:flex-end;padding:8px}
.ratio.tall{aspect-ratio:9/16;max-height:180px}
.ratio.wide{aspect-ratio:16/9}
.ratio b{font-weight:600;font-size:13px}
.line-list{display:flex;flex-direction:column;gap:10px}
.line{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.line strong{color:var(--text)}
.line p{margin:0;color:var(--muted)}
.line:hover{border-color:var(--rose)}
.voice-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}
.quote{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.quote:hover{border-color:var(--rose)}
.who{color:var(--gold);font-size:13px;margin-bottom:6px}
.stars{color:var(--rose);letter-spacing:2px;font-size:14px}
.stat-col{display:flex;flex-direction:column;gap:10px}
.stat{background:#311823;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.stat b{display:block;font-size:28px;font-weight:700;line-height:1.2;color:var(--rose)}
.stat span{color:var(--muted);font-size:13px}
.news-list{display:flex;flex-direction:column;gap:10px}
.news-row{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;text-decoration:none}
.news-row:hover{border-color:var(--rose);color:var(--text);text-decoration:none}
.news-row:first-child{padding:16px;background:#311823}
.swatch{height:72px;border-radius:12px;background:#5a2740;border:1px solid rgba(198,161,91,.28)}
.news-row:nth-child(2) .swatch{background:#3d2030}
.news-row:nth-child(3) .swatch{background:#6a3148}
.news-row small{color:var(--muted)}
.kr-steps{display:grid;grid-template-columns:1fr .92fr 1.28fr .88fr;gap:12px;align-items:stretch}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 14px 14px;min-height:210px;display:flex;flex-direction:column}
.step:nth-child(3){background:#311823;transform:translateY(-12px);border-color:#ff5a8a;box-shadow:var(--shadow)}
.step i{font-style:normal;color:var(--gold);font-size:12px}
.step ul{list-style:none;margin:8px 0 0;padding:0;color:var(--muted)}
.step li{padding-left:12px;position:relative}
.step li:before{content:"";position:absolute;left:0;top:.75em;width:6px;height:1px;background:var(--rose)}
.kr-join{background:#10080c}
.join-box{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center}
.pref{display:grid;gap:8px}
.pref div{display:flex;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.pref span{color:var(--muted)}
.join-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.site-footer{background:#10080c;border-top:1px solid var(--line);padding:42px 0 18px}
.foot-grid{display:grid;grid-template-columns:1.4fr .8fr 1.1fr .8fr;gap:22px}
.site-footer h3{margin:0 0 8px;font-size:16px;font-weight:600}
.site-footer a,.site-footer p{color:var(--muted)}
.foot-grid a{display:block;margin:0 0 .35em}
.foot-grid p{margin:0 0 .9em}
.copy{color:var(--muted);font-size:13px;padding-top:12px;border-top:1px solid var(--line);margin:18px auto 0}
@media (max-width:1200px){
.logo-text{font-size:14px}
.kr-steps{grid-template-columns:1fr 1fr 1fr}
.step:nth-child(4){grid-column:1 / -1}
}
@media (max-width:960px){
.nav-wrap{gap:10px}
.search{min-width:160px}
.kr-board{grid-template-columns:1fr 1fr}
.card-lg,.card-lg:nth-of-type(4){grid-column:span 2}
.voice-grid,.join-box,.foot-grid{grid-template-columns:1fr 1fr}
.kr-steps{grid-template-columns:1fr 1fr}
.step:nth-child(3){transform:none}
.step:nth-child(4){grid-column:auto}
}
@media (max-width:768px){
.nav-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0 12px}
.logo{flex:1 1 auto}
.site-nav{display:none;flex:1 1 100%;flex-direction:column;align-items:stretch;padding:8px;border:1px solid var(--line);border-radius:12px;background:#160c12}
.site-nav.open{display:flex}
.site-nav a{padding:10px 12px}
.nav-tools{width:auto;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.search{order:8;flex:1 1 100%;min-width:0;width:100%}
.nav-tools .btn-ghost{display:none}
.menu-btn{display:inline-flex}
section{padding:48px 0}
h1{font-size:28px}
h2{font-size:22px}
.kr-bar{padding:22px 0}
.kr-bar-inner,.sec-head,.card-lg,.line,.news-row,.join-box,.voice-grid,.foot-grid{display:flex;flex-direction:column;align-items:stretch}
.dev-row{justify-content:flex-start}
.kr-board{grid-template-columns:1fr}
.card-lg,.card-sm,.card-lg:nth-of-type(4){grid-column:auto;display:block}
.news-row small{margin-top:4px}
.kr-steps{grid-template-columns:1fr}
.step,.step:nth-child(3){transform:none;border-radius:var(--r)}
.more-wrap{justify-content:stretch}
.more-wrap .btn{width:100%}
}
@media (max-width:480px){
.container{width:min(var(--max),calc(100% - 20px))}
.logo-text{font-size:13px;max-width:7.5em}
.age-badge{display:none}
.btn{min-height:40px;padding:0 12px}
h1{font-size:24px}
.stat b{font-size:24px}
.scene{flex-basis:100%}
}
