/* roulang page: index */
:root{
    --bg-deep:#08090d;
    --bg-dark:#0e1014;
    --bg-mid:#15171d;
    --bg-soft:#1c2027;
    --line:#262b34;
    --line-solid:#2f3540;
    --text-hi:#eef2f6;
    --text-mid:#b2bcc8;
    --text-low:#7f8b9c;
    --green:#00e39a;
    --green-light:#41f0b0;
    --purple:#8a7cff;
    --purple-light:#b1a6ff;
    --pink:#ff5c7a;
    --black:#04120c;
    --radius-xl:18px;
    --radius-lg:14px;
    --radius-md:12px;
    --radius-pill:999px;
    --shadow-green:0 0 22px rgba(0,227,154,.28);
    --shadow-purple:0 0 18px rgba(138,124,255,.18);
    --section-space:clamp(58px, 8vw, 104px);
    --font-family:"Inter","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--bg-deep);color:var(--text-hi);font-family:var(--font-family);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.75;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease,transform .28s ease,opacity .28s ease}
button,input,select,textarea{font-family:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:6px}
.container{max-width:1260px;padding-left:24px;padding-right:24px}
@media(max-width:768px){.container{padding-left:16px;padding-right:16px}}
::selection{background:rgba(0,227,154,.3);color:#fff}

/* announcement bar */
.announce-bar{background:var(--bg-mid);border-bottom:1px solid var(--line);min-height:46px;overflow:hidden}
.announce-inner{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.status-left{display:flex;align-items:center;gap:10px;color:var(--text-mid);font-size:14px}
.status-pulse{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(0,227,154,.5);animation:pulse-dot 2s infinite}
@keyframes pulse-dot{0%{box-shadow:0 0 0 0 rgba(0,227,154,.5)}70%{box-shadow:0 0 0 10px rgba(0,227,154,0)}100%{box-shadow:0 0 0 0 rgba(0,227,154,0)}}
.announce-right{display:flex;align-items:center;gap:14px}
.countdown-label{color:var(--text-low);font-size:13px;letter-spacing:.5px}
.countdown-box{display:inline-flex;align-items:center;gap:2px;padding:3px 10px;border:1px solid var(--line-solid);border-radius:8px;background:var(--bg-deep);font-family:"SFMono-Regular",Consolas,"Roboto Mono",monospace;font-size:14px;color:var(--green);font-weight:700;letter-spacing:1px;box-shadow:inset 0 0 12px rgba(0,227,154,.05)}
.countdown-box span{min-width:18px;text-align:center}
.ab-enter{display:inline-flex;align-items:center;justify-content:center;color:var(--green);font-size:13px;border:1px solid rgba(0,227,154,.3);border-radius:var(--radius-pill);padding:3px 14px;line-height:1.6;white-space:nowrap}
.ab-enter:hover{background:rgba(0,227,154,.12);color:var(--green-light)}
@media(max-width:700px){.countdown-label,.status-left span.text-label{display:none}}

/* main nav */
.main-nav{position:sticky;top:0;z-index:1080;background:rgba(14,16,20,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.main-nav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--green),rgba(0,227,154,.35) 28%,transparent 72%);opacity:.9;pointer-events:none}
.navbar{padding-top:14px;padding-bottom:14px}
.navbar-brand{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.2;margin-right:0}
.brand-kicker{font-size:20px;font-weight:800;letter-spacing:.5px;color:#fff}
.brand-kicker em{font-style:normal;color:var(--green);background:rgba(0,227,154,.1);padding:0 3px;border-radius:5px;box-shadow:0 0 12px rgba(0,227,154,.08)}
.brand-sub{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--text-hi);margin-top:3px}
.brand-tip{font-size:11px;font-weight:400;color:var(--text-low);background:var(--bg-soft);border:1px solid var(--line);padding:1px 8px;border-radius:20px;margin-left:5px;line-height:1.5}
.navbar-nav{gap:2px}
.nav-link{color:var(--text-mid)!important;font-size:15.5px;font-weight:500;padding:9px 14px!important;border-radius:8px;position:relative}
.nav-link:hover{color:#fff!important;background:rgba(255,255,255,.04)}
.nav-link.active{color:var(--green)!important;font-weight:700}
.nav-link.active::after{content:"";position:absolute;left:16px;right:16px;bottom:2px;height:2px;border-radius:99px;background:var(--green);box-shadow:0 0 10px rgba(0,227,154,.75)}
.nav-actions{display:flex;align-items:center;gap:12px;margin-left:16px}
.btn-main,.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:11px 26px;border-radius:var(--radius-pill);font-weight:700;font-size:15px;line-height:1.3;border:1px solid transparent;letter-spacing:.2px;white-space:nowrap}
.btn-main{background:var(--green);color:var(--black);border-color:var(--green)}
.btn-main:hover{background:var(--green-light);color:#03120a;box-shadow:0 0 24px rgba(0,227,154,.35);transform:translateY(-2px)}
.btn-main:active{transform:translateY(0) scale(.98);box-shadow:0 0 14px rgba(0,227,154,.2)}
.btn-main-sm{padding:8px 20px;font-size:14px}
.btn-ghost{background:transparent;color:var(--text-hi);border-color:var(--line-solid)}
.btn-ghost:hover{border-color:var(--purple);color:#fff;box-shadow:0 0 18px rgba(138,124,255,.16);transform:translateY(-2px)}
.custom-toggler{border:1px solid var(--line);width:46px;height:42px;padding:10px;border-radius:10px;background:var(--bg-soft);display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.custom-toggler span{display:block;height:2px;width:22px;background:var(--green);border-radius:3px;transition:transform .3s}
.custom-toggler[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.custom-toggler[aria-expanded="true"] span:nth-child(2){opacity:0}
.custom-toggler[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:991px){
.navbar-collapse{background:var(--bg-dark);border:1px solid var(--line);border-radius:14px;margin-top:16px;padding:18px;box-shadow:0 16px 40px rgba(0,0,0,.55)}
.navbar-nav{margin-bottom:16px}
.navbar-nav .nav-link{padding:12px 8px!important;border-bottom:1px solid rgba(255,255,255,.04)}
.nav-actions{margin-left:0}
}

/* hero */
.hero{position:relative;display:flex;align-items:center;min-height:88vh;background:linear-gradient(130deg,rgba(8,9,13,.96) 20%,rgba(8,9,13,.86) 45%,rgba(18,22,32,.8) 70%),url("/assets/images/backpic/back-1.png") center/cover no-repeat;padding:64px 0 56px}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(0,227,154,.1),transparent 40%),radial-gradient(circle at 88% 22%,rgba(138,124,255,.12),transparent 42%);pointer-events:none}
.hero-inner{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line-solid);background:rgba(0,0,0,.3);border-radius:var(--radius-pill);padding:7px 16px;color:var(--text-mid);font-size:13px;margin-bottom:22px}
.hero-badge i{font-style:normal;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
.hero-title{font-size:clamp(2.3rem,4.8vw,4.3rem);font-weight:800;line-height:1.12;letter-spacing:.5px;color:#fff;margin-bottom:20px}
.hero-title .grad-line{background:linear-gradient(100deg,var(--green),#c6f7e6);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{max-width:680px;color:var(--text-mid);font-size:16.5px;line-height:1.9;margin-bottom:26px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:38px}
.hero-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:820px}
.quick-link{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(14,16,20,.66);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;color:var(--text-hi);font-weight:600;font-size:14px;transition:all .3s ease}
.quick-link span{position:relative;z-index:1}
.quick-link i{font-style:normal;color:var(--green);font-weight:700;flex:0 0 auto;transition:transform .3s}
.quick-link:hover{border-color:var(--purple);background:var(--bg-soft);box-shadow:var(--shadow-purple);color:#fff}
.quick-link:hover i{transform:translateX(4px)}
@media(max-width:767px){
.hero{min-height:auto;padding:52px 0 40px;background:linear-gradient(150deg,rgba(8,9,13,.95) 20%,rgba(8,9,13,.88) 60%,rgba(14,16,20,.86)),url("/assets/images/backpic/back-1.png") center/cover no-repeat}
.hero-ctas .btn-main,.hero-ctas .btn-ghost{width:100%;justify-content:center}
.hero-quick{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:380px){.hero-quick{grid-template-columns:1fr}}

/* section base */
.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.section-head{margin-bottom:42px}
.section-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--green);letter-spacing:1px;margin-bottom:14px;text-transform:uppercase}
.section-eyebrow::before{content:"";width:24px;height:1px;background:var(--green);box-shadow:0 0 8px var(--green)}
.section-title{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:800;line-height:1.3;margin-bottom:0}
.section-lead{color:var(--text-mid);max-width:620px;line-height:1.85;margin-top:14px}
.section-more{color:var(--green);font-size:15px;font-weight:600}
.section-more i{font-style:normal;transition:transform .3s}
.section-more:hover{color:var(--green-light)}
.section-more:hover i{transform:translateX(4px)}

/* feature split */
.feature-panel{background:var(--bg-dark);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.feature-main-card{display:block;height:100%;background:var(--bg-dark);transition:all .35s}
.feature-main-card:hover{transform:translateY(-4px);box-shadow:0 0 32px rgba(0,227,154,.1),0 22px 40px rgba(0,0,0,.2)}
.feature-media{position:relative;height:280px;overflow:hidden}
.feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.feature-main-card:hover .feature-media img{transform:scale(1.04)}
.feature-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,9,13,.92))}
.feature-tag{position:absolute;z-index:2;left:20px;top:18px;font-size:13px;border:1px solid rgba(0,227,154,.4);color:var(--green);background:rgba(8,9,13,.55);padding:3px 12px;border-radius:30px}
.feature-main-body{padding:24px 28px 30px}
.feature-main-body h3{font-size:1.45rem;font-weight:700;margin-bottom:12px}
.feature-main-body p{color:var(--text-mid);font-size:15.5px;line-height:1.85;margin-bottom:10px}
.arrow-link{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:700;font-size:15px}
.feature-cards{display:flex;flex-direction:column;gap:14px;height:100%}
.mini-card{display:flex;align-items:center;gap:16px;background:var(--bg-dark);border:1px solid var(--line);border-radius:16px;padding:20px 22px;flex:1;transition:all .3s ease;position:relative}
.mini-card:hover{border-color:var(--purple);box-shadow:var(--shadow-purple);transform:translateY(-2px)}
.mini-icon{width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:rgba(0,227,154,.1);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:21px;font-weight:700}
.mini-icon.alt{background:rgba(138,124,255,.12);color:var(--purple)}
.mini-body h4{font-size:16.5px;font-weight:700;margin-bottom:5px;color:#fff}
.mini-body p{font-size:14px;color:var(--text-low);line-height:1.7}
@media(max-width:991px){.feature-media{height:220px}.mini-card{padding:18px}}

/* gallery */
.gallery-wrap{background:var(--bg-mid)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:16px}
.gallery-item{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg-soft);display:block}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,.68,0,1.0)}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,9,13,.15) 64%,rgba(8,9,13,.95))}
.gallery-item:hover{border-color:var(--green)}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item span.icon-enter{position:absolute;z-index:3;right:16px;top:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(8,9,13,.5);border:1px solid rgba(0,227,154,.35);color:var(--green);border-radius:50%;opacity:0;transform:translateY(-6px);transition:all .35s ease;font-weight:700}
.gallery-item:hover span.icon-enter{opacity:1;transform:translateY(0)}
.gallery-caption{position:absolute;z-index:3;left:18px;right:18px;bottom:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.gallery-num{font-size:12px;color:var(--green);letter-spacing:2px;border:1px solid var(--line-solid);padding:2px 8px;border-radius:18px;background:rgba(8,9,13,.5)}
.gallery-name{color:#fff;font-weight:700;font-size:18px;line-height:1.4}
.gallery-item span.g-arrow{margin-left:6px;display:inline-block;color:var(--green);transition:transform .3s}
.gallery-item:hover span.g-arrow{transform:translateX(5px)}
.span-6{grid-column:span 6}
.span-7{grid-column:span 7}
.span-3{grid-column:span 3}
.span-4{grid-column:span 4}
.span-5{grid-column:span 5}
.row-2{grid-row:span 2}
@media(max-width:991px){.gallery-grid{grid-auto-rows:190px;gap:12px}.span-6,.span-7,.span-3,.span-4,.span-5{grid-column:span 6}.row-2{grid-row:span 1}}
@media(max-width:575px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.span-6,.span-7,.span-3,.span-4,.span-5{grid-column:span 2}}

/* cta band */
.cta-band{position:relative;background:linear-gradient(120deg,rgba(8,9,13,.92) 15%,rgba(11,14,19,.88) 52%,rgba(15,18,28,.92)),url("/assets/images/backpic/back-2.webp") center/cover;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(0,227,154,.08),transparent 36%),radial-gradient(circle at 95% 20%,rgba(138,124,255,.12),transparent 36%);pointer-events:none}
.cta-box{position:relative;z-index:2;border:1px solid var(--line-solid);border-radius:22px;background:rgba(21,23,29,.72);padding:26px;backdrop-filter:blur(7px)}
.cta-band h2{font-size:clamp(1.52rem,2.4vw,2.2rem);font-weight:800;line-height:1.35;margin-bottom:14px}
.cta-band p{color:var(--text-mid);font-size:16px;max-width:480px}
.cta-label{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;color:var(--green)}
.cta-label::before{content:"";width:26px;height:1px;background:var(--green)}
.select-skin,.input-skin{background:var(--bg-deep);border:1px solid var(--line);border-radius:10px;color:var(--text-hi);width:100%;padding:11px 14px;font-size:15px;transition:border-color .3s}
.select-skin:focus,.input-skin:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 4px rgba(0,227,154,.12)}
.select-skin option{background:var(--bg-dark);color:var(--text-hi)}
.form-note{color:var(--text-low);font-size:13px;line-height:1.7;margin-top:12px}
.feedback-box{margin-top:14px;border-radius:10px;font-size:14px;line-height:1.75;padding:10px 14px;display:none}
.feedback-box.show{display:block}
.feedback-success{border:1px solid rgba(0,227,154,.35);background:rgba(0,227,154,.08);color:#a3fdde}

/* news section */
.news-area{background:var(--bg-deep)}
.news-box .row{gap:0}
.news-summary-card{background:var(--bg-dark);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:14px;transition:all .3s ease}
.news-summary-card:hover{border-color:rgba(0,227,154,.5);transform:translateY(-2px);box-shadow:0 0 22px rgba(0,227,154,.06)}
.news-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.news-cat{color:var(--green);background:rgba(0,227,154,.08);border:1px solid rgba(0,227,154,.22);padding:1px 11px;border-radius:30px;font-size:12.5px;font-weight:600}
.news-time{color:var(--text-low);font-size:13px;display:inline-flex;align-items:center;gap:5px}
.news-summary-card h3{font-size:1.08rem;font-weight:700;margin-bottom:8px;line-height:1.55}
.news-summary-card h3 a:hover{color:var(--green)}
.news-desc{color:var(--text-mid);font-size:14.5px;line-height:1.8;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-more{color:var(--green);font-size:14px;display:inline-flex;align-items:center;gap:6px}
.news-more:hover{color:var(--green-light)}
.news-side{display:flex;flex-direction:column;gap:13px}
.side-item{display:flex;gap:14px;align-items:flex-start;background:var(--bg-dark);border:1px solid var(--line);border-radius:14px;padding:16px 18px;transition:all .3s ease;height:100%}
.side-item:hover{border-color:var(--purple);box-shadow:var(--shadow-purple)}
.side-num{color:var(--green);font-size:14px;font-weight:800;line-height:1.6;min-width:30px;background:rgba(0,227,154,.08);text-align:center;padding:1px 0;border-radius:8px}
.side-content h4{font-size:15.5px;font-weight:650;line-height:1.65;margin-bottom:5px}
.side-content h4 a:hover{color:var(--green)}
.side-content time{color:var(--text-low);font-size:13px}
.news-empty{border:1px dashed var(--line-solid);border-radius:18px;background:var(--bg-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;padding:40px;text-align:center}
.news-empty .empty-icon{width:52px;height:52px;border-radius:50%;background:rgba(0,227,154,.08);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--green);margin-bottom:15px}
.news-empty p{color:var(--text-low);font-size:15px}
@media(max-width:991px){.news-side{margin-top:16px}}

/* faq */
.faq-section{background:var(--bg-mid)}
.faq-note{border-left:2px solid var(--green);padding-left:20px;color:var(--text-mid);line-height:2}
.accordion-item{background:transparent;border:1px solid var(--line);border-radius:14px!important;margin-bottom:13px;overflow:hidden}
.accordion-header{background:transparent}
.accordion-button{box-shadow:none!important;background:var(--bg-dark);color:var(--text-hi);font-weight:700;font-size:16px;padding:19px 22px 19px 24px;position:relative}
.accordion-button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .3s}
.accordion-button:not(.collapsed){background:var(--bg-dark);color:var(--green);box-shadow:none}
.accordion-button:not(.collapsed)::before{background:var(--green);box-shadow:0 0 12px rgba(0,227,154,.6)}
.accordion-button::after{background-image:none!important;content:"+";font-size:25px;line-height:1;color:var(--green);font-weight:400;width:auto;height:auto;margin-left:12px;flex:0 0 auto;transition:transform .3s}
.accordion-button:not(.collapsed)::after{content:"−";transform:rotate(0)!important}
.accordion-body{background:var(--bg-dark);color:var(--text-mid);font-size:15px;line-height:1.9;padding:6px 24px 24px 24px}

/* final cta */
.bottom-cta{background:var(--bg-deep);text-align:center}
.cta-end-card{position:relative;border:1px solid rgba(0,227,154,.15);background:linear-gradient(135deg,var(--bg-dark),var(--bg-soft));border-radius:22px;overflow:hidden;padding:56px 28px}
.cta-end-card::before{content:"";position:absolute;top:0;left:14%;right:14%;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent);box-shadow:0 0 18px rgba(0,227,154,.45)}
.cta-end-card h2{font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:800;margin-bottom:14px}
.cta-end-card p{color:var(--text-mid);max-width:580px;margin:0 auto 25px}
.cta-end-card .hero-ctas{justify-content:center;margin-bottom:0}

/* footer */
.site-footer{background:var(--bg-dark);border-top:1px solid var(--line);position:relative}
.site-footer::before{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--green),rgba(0,227,154,.18) 30%,rgba(138,124,255,.35) 60%,transparent);border:none}
.footer-main{padding:58px 0 34px}
.footer-brand{margin-bottom:20px}
.footer-brand .brand-sub{margin-top:4px}
.footer-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:18px;display:inline-flex;align-items:center;gap:8px}
.footer-title::before{content:"";width:8px;height:8px;background:var(--green);border-radius:2px;box-shadow:0 0 8px var(--green)}
.footer-desc{color:var(--text-low);font-size:14.5px;line-height:1.9;max-width:300px}
.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.footer-links li a{position:relative;color:var(--text-mid);font-size:14.5px;padding-left:17px}
.footer-links li a::before{content:"›";position:absolute;left:0;color:var(--green);font-weight:700;transition:left .2s}
.footer-links li a:hover{color:#fff;padding-left:22px}
.footer-links li a:hover::before{color:var(--purple)}
.footer-note{font-size:13px;color:var(--text-low);line-height:1.9}
.footer-note p{margin-bottom:6px}
.footer-bottom{border-top:1px solid var(--line);padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-low);font-size:13.5px;flex-wrap:wrap}
.footer-bottom a{color:var(--text-mid)}
.footer-bottom a:hover{color:var(--green)}
@media(max-width:991px){.footer-info-box{margin-bottom:26px}}

/* roulang page: category1 */
:root {
            --np-primary: #00e39a;
            --np-secondary: #8a7cff;
            --np-accent: #ff5c7a;
            --np-bg-darkest: #08090d;
            --np-bg-dark: #0e1014;
            --np-bg-box: #15171d;
            --np-bg-card: #1c2027;
            --np-border: #262b34;
            --np-border-light: #2f3540;
            --np-text-primary: #eef2f6;
            --np-text-secondary: #b2bcc8;
            --np-text-muted: #7f8b9c;
            --np-radius: 14px;
            --np-radius-sm: 10px;
            --np-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            --np-font-mono: "SF Mono", "Cascadia Code", "Roboto Mono", Consolas, monospace;
        }
        *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }
        html {
            scroll-behavior: smooth;
        }
        body {
            background-color: var(--np-bg-darkest);
            color: var(--np-text-primary);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            line-height: 1.7;
            font-size: 16px;
            overflow-x: hidden;
        }
        img {
            max-width: 100%;
            height: auto;
        }
        a {
            color: var(--np-text-primary);
            text-decoration: none;
            transition: var(--np-transition);
        }
        a:hover {
            color: var(--np-secondary);
        }
        .container {
            max-width: 1280px;
        }
        ::selection {
            background: rgba(0, 227, 154, 0.25);
            color: #ffffff;
        }
        .navbar-brand {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-direction: column;
            padding: 0;
            margin: 0;
        }
        .brand-kicker {
            font-size: 1rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            font-family: var(--np-font-mono);
        }
        .brand-kicker em {
            color: var(--np-text-primary);
            font-style: normal;
            letter-spacing: 0.05em;
            font-weight: 800;
        }
        .brand-sub {
            font-size: 0.75rem;
            color: var(--np-text-secondary);
            letter-spacing: 0.08em;
            display: flex;
            align-items: center;
            gap: 6px;
            border-top: 1px solid var(--np-border-light);
            padding-top: 4px;
            font-weight: 500;
        }
        .brand-tip {
            color: var(--np-primary);
            font-size: 0.68rem;
            background: rgba(0, 227, 154, 0.1);
            border: 1px solid rgba(0, 227, 154, 0.25);
            border-radius: 4px;
            padding: 0 5px;
            display: inline-block;
            white-space: nowrap;
        }
        .main-nav {
            background: rgba(8, 9, 13, 0.96);
            backdrop-filter: blur(8px);
            border-bottom: 1px solid var(--np-border);
            position: relative;
            z-index: 999;
        }
        .main-nav .navbar {
            padding: 0.5rem 0;
        }
        .main-nav::after {
            content: '';
            display: block;
            height: 2px;
            background: linear-gradient(90deg, var(--np-primary), transparent 75%);
            position: absolute;
            bottom: -1px;
            left: 0;
            right: 0;
            pointer-events: none;
        }
        .main-nav .navbar-nav {
            gap: 2px;
        }
        .main-nav .nav-link {
            color: var(--np-text-secondary);
            font-size: 0.92rem;
            font-weight: 500;
            padding: 0.6rem 1rem;
            border-radius: 8px;
            transition: var(--np-transition);
            letter-spacing: 0.02em;
        }
        .main-nav .nav-link:hover {
            color: var(--np-text-primary);
            background: rgba(255, 255, 255, 0.03);
        }
        .main-nav .nav-link.active {
            color: var(--np-primary) !important;
            position: relative;
        }
        .main-nav .nav-link.active::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 22px;
            height: 2px;
            background: var(--np-primary);
            border-radius: 2px;
            box-shadow: 0 0 12px rgba(0, 227, 154, 0.7);
        }
        .nav-actions {
            display: flex;
            gap: 10px;
            flex-shrink: 0;
            margin-left: 8px;
        }
        .btn-ghost {
            border: 1px solid var(--np-border-light);
            color: var(--np-text-secondary);
            background: transparent;
            border-radius: 999px;
            padding: 0.45rem 1.25rem;
            font-size: 0.85rem;
            font-weight: 600;
            transition: var(--np-transition);
            display: inline-flex;
            align-items: center;
            gap: 6px;
            text-decoration: none;
        }
        .btn-ghost:hover {
            border-color: var(--np-secondary);
            color: var(--np-text-primary);
            box-shadow: 0 0 18px rgba(138, 124, 255, 0.18);
            transform: translateY(-1px);
        }
        .btn-main {
            border: 1px solid var(--np-primary);
            background: var(--np-primary);
            color: #08090d !important;
            border-radius: 999px;
            padding: 0.45rem 1.3rem;
            font-size: 0.85rem;
            font-weight: 900;
            transition: var(--np-transition);
            display: inline-flex;
            align-items: center;
            gap: 6px;
            text-decoration: none;
        }
        .btn-main:hover {
            box-shadow: 0 0 22px rgba(0, 227, 154, 0.45);
            transform: translateY(-1px);
            color: #08090d !important;
        }
        .btn-main-sm {
            padding: 0.4rem 1.1rem;
            font-size: 0.82rem;
        }
        .site-footer {
            background: var(--np-bg-darkest);
            border-top: 1px solid var(--np-border);
            position: relative;
            margin-top: 80px;
        }
        .site-footer::before {
            content: '';
            position: absolute;
            top: -1px;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--np-primary) 30%, var(--np-secondary) 70%, transparent);
        }
        .footer-main {
            padding: 80px 0 30px;
        }
        .site-footer .navbar-brand {
            flex-direction: column;
            align-items: flex-start;
            gap: 6px;
            display: inline-flex;
        }
        .site-footer .brand-kicker em {
            color: var(--np-primary);
        }
        .site-footer .brand-sub {
            border-top: 1px solid var(--np-border-light);
            font-size: 0.8rem;
            color: var(--np-text-secondary);
        }
        .footer-desc {
            font-size: 0.88rem;
            color: var(--np-text-muted);
            line-height: 1.8;
            max-width: 340px;
        }
        .footer-title {
            font-size: 0.9rem;
            color: var(--np-text-primary);
            font-weight: 700;
            margin-bottom: 1.1rem;
            letter-spacing: 0.05em;
            position: relative;
            padding-bottom: 8px;
        }
        .footer-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 24px;
            height: 2px;
            background: var(--np-primary);
            border-radius: 2px;
            box-shadow: 0 0 8px rgba(0, 227, 154, 0.5);
        }
        .footer-links {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .footer-links li {
            margin-bottom: 0.7rem;
        }
        .footer-links a {
            color: var(--np-text-muted);
            font-size: 0.87rem;
            transition: var(--np-transition);
            text-decoration: none;
        }
        .footer-links a:hover {
            color: var(--np-primary);
            padding-left: 4px;
        }
        .footer-note {
            background: var(--np-bg-box);
            border: 1px solid var(--np-border);
            padding: 0.8rem 1.1rem;
            border-radius: 8px;
            font-size: 0.8rem;
            color: var(--np-text-muted);
            line-height: 1.7;
        }
        .footer-note p {
            margin-bottom: 0.6rem;
        }
        .footer-note p:last-child {
            margin-bottom: 0;
        }
        .footer-bottom {
            border-top: 1px solid var(--np-border);
            padding: 18px 0;
            font-size: 0.8rem;
            color: var(--np-text-muted);
        }
        .footer-bottom a {
            color: var(--np-text-secondary);
            margin-right: 14px;
        }
        .footer-bottom a:hover {
            color: var(--np-primary);
        }
        .page-banner {
            position: relative;
            min-height: 46vh;
            display: flex;
            align-items: center;
            background-color: var(--np-bg-darkest);
            background-image: url('/assets/images/backpic/back-1.png');
            background-size: cover;
            background-position: center;
            overflow: hidden;
            padding: 70px 0 60px;
        }
        .page-banner::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(8, 9, 13, 0.95) 20%, rgba(8, 9, 13, 0.82) 60%, rgba(8, 9, 13, 0.6));
            backdrop-filter: brightness(0.8);
        }
        .page-banner::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 80px;
            background: linear-gradient(to top, var(--np-bg-darkest), transparent);
        }
        .page-banner .container {
            position: relative;
            z-index: 2;
        }
        .banner-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            border: 1px solid var(--np-border-light);
            background: rgba(8, 9, 13, 0.7);
            border-radius: 999px;
            padding: 6px 16px;
            font-size: 0.77rem;
            color: var(--np-text-muted);
            letter-spacing: 0.1em;
            margin-bottom: 20px;
        }
        .banner-label .dot {
            width: 6px;
            height: 6px;
            background: var(--np-primary);
            border-radius: 50%;
            box-shadow: 0 0 10px rgba(0, 227, 154, 0.8);
            display: inline-block;
        }
        .page-banner h1 {
            font-size: clamp(2rem, 4.2vw, 3.4rem);
            font-weight: 800;
            line-height: 1.25;
            margin-bottom: 16px;
            letter-spacing: 0.01em;
        }
        .page-banner .lead-line {
            color: var(--np-text-secondary);
            font-size: 1.02rem;
            max-width: 620px;
            line-height: 1.8;
            margin-bottom: 0;
        }
        .banner-breadcrumb {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            font-size: 0.82rem;
            color: var(--np-text-muted) !important;
            margin-top: 22px;
        }
        .banner-breadcrumb a {
            color: var(--np-text-muted);
            text-decoration: none;
            transition: var(--np-transition);
        }
        .banner-breadcrumb a:hover {
            color: var(--np-primary);
        }
        .banner-breadcrumb .sep {
            color: var(--np-border-light);
        }
        .banner-breadcrumb .cur {
            color: var(--np-primary);
        }
        .main-section {
            padding: 80px 0 40px;
        }
        .main-section .section-title-wrap {
            margin-bottom: 42px;
        }
        .main-section .section-tag-line {
            color: var(--np-primary);
            font-size: 0.8rem;
            letter-spacing: 0.1em;
            font-weight: 700;
            font-family: var(--np-font-mono);
            text-transform: uppercase;
            display: block;
            margin-bottom: 10px;
        }
        .main-section h2 {
            font-size: clamp(1.5rem, 2.6vw, 2.1rem);
            font-weight: 800;
            line-height: 1.3;
            margin: 0;
            position: relative;
        }
        .main-section h2::before {
            content: '';
            display: inline-block;
            width: 4px;
            height: 1.2em;
            background: var(--np-primary);
            border-radius: 2px;
            margin-right: 12px;
            vertical-align: -0.18em;
            box-shadow: 0 0 12px rgba(0, 227, 154, 0.5);
        }
        .content-card {
            border: 1px solid var(--np-border);
            border-radius: var(--np-radius);
            background: var(--np-bg-box);
            overflow: hidden;
            transition: var(--np-transition);
            height: 100%;
            display: flex;
            flex-direction: column;
            position: relative;
        }
        .content-card:hover {
            border-color: rgba(0, 227, 154, 0.45);
            box-shadow: 0 0 0 1px rgba(0, 227, 154, 0.12), 0 10px 30px rgba(0, 0, 0, 0.6);
            transform: translateY(-3px);
        }
        .content-card-img {
            display: block;
            width: 100%;
            aspect-ratio: 16/9;
            object-fit: cover;
            position: relative;
        }
        .content-card-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .content-card-tag {
            display: inline-block;
            background: transparent;
            border: 1px solid rgba(0, 227, 154, 0.3);
            color: var(--np-primary);
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.05em;
            padding: 3px 12px;
            border-radius: 999px;
            margin-bottom: 14px;
        }
        .content-card-body {
            padding: 22px 24px 24px;
            flex: 1;
        }
        .content-card-body h3 {
            font-size: 1.05rem;
            font-weight: 700;
            line-height: 1.5;
            margin-bottom: 10px;
            transition: var(--np-transition);
        }
        .content-card:hover .content-card-body h3 {
            color: var(--np-primary);
        }
        .content-card-body p {
            font-size: 0.86rem;
            color: var(--np-text-muted);
            line-height: 1.75;
            margin-bottom: 0;
        }
        .content-card-arrow {
            display: inline-flex;
            align-items: center;
            color: var(--np-text-muted);
            font-size: 0.8rem;
            margin-top: auto;
            transition: var(--np-transition);
        }
        .content-card-arrow i {
            font-size: 12px;
        }
        .content-card:hover .content-card-arrow {
            color: var(--np-primary);
        }
        .content-card:hover .content-card-arrow i {
            transform: translateX(4px);
        }
        .sidebar-block {
            border: 1px solid var(--np-border);
            border-radius: var(--np-radius);
            margin-bottom: 24px;
            overflow: hidden;
            background: var(--np-bg-box);
        }
        .sidebar-title {
            display: flex;
            align-items: center;
            font-size: 0.9rem;
            font-weight: 700;
            padding: 14px 20px;
            border-bottom: 1px solid var(--np-border-light);
            margin: 0;
            letter-spacing: 0.03em;
        }
        .sidebar-title::before {
            content: '';
            width: 3px;
            height: 14px;
            border-radius: 2px;
            margin-right: 10px;
        }
        .sidebar-block:first-child .sidebar-title::before {
            background: var(--np-primary);
        }
        .sidebar-block:nth-child(2) .sidebar-title::before {
            background: var(--np-secondary);
        }
        .entry-list {
            display: flex;
            flex-direction: column;
        }
        .entry-item {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            padding: 10px 20px;
            transition: var(--np-transition);
            border-bottom: 1px solid var(--np-border);
        }
        .entry-item:last-child {
            border-bottom: none;
        }
        .entry-item:hover {
            background: rgba(255, 255, 255, 0.02);
        }
        .entry-num {
            font-family: var(--np-font-mono);
            font-size: 0.74rem;
            color: var(--np-primary);
            background: rgba(0, 227, 154, 0.09);
            border: 1px solid rgba(0, 227, 154, 0.2);
            border-radius: 4px;
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .entry-title {
            font-size: 0.83rem;
            line-height: 1.55;
            color: var(--np-text-secondary);
            transition: var(--np-transition);
        }
        .entry-item:hover .entry-title {
            color: var(--np-primary);
        }
        .cta-box {
            background: var(--np-bg-card);
            border-radius: var(--np-radius);
            padding: 24px 22px;
            text-align: center;
            border: 1px solid var(--np-border-light);
        }
        .cta-box p {
            font-size: 0.78rem;
            color: var(--np-text-muted);
            margin: 14px 0 18px;
        }
        .cta-box .btn-main {
            width: 100%;
            justify-content: center;
        }
        .topic-title {
            font-size: 1.5rem;
            font-weight: 800;
            margin-bottom: 16px;
            position: relative;
            padding-left: 18px;
        }
        .topic-title::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.18em;
            width: 4px;
            height: 0.8em;
            background: var(--np-primary);
            border-radius: 2px;
            box-shadow: 0 0 14px rgba(0, 227, 154, 0.5);
        }
        .topic-content {
            color: var(--np-text-muted);
            font-size: 0.96rem;
            line-height: 1.9;
            max-width: 760px;
        }
        .topic-content p {
            margin-bottom: 14px;
        }
        .topic-list {
            margin-top: 18px;
        }
        .topic-list li {
            margin-bottom: 14px;
            list-style: none;
            padding-left: 24px;
            position: relative;
            color: var(--np-text-secondary);
            font-size: 0.92rem;
            line-height: 1.8;
        }
        .topic-list li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 12px;
            width: 8px;
            height: 8px;
            border: 2px solid var(--np-primary);
            border-radius: 2px;
            transform: rotate(45deg);
        }
        .list-item {
            border: 1px solid var(--np-border);
            border-radius: var(--np-radius);
            padding: 1.4rem 1.6rem;
            margin-bottom: 16px;
            display: flex;
            align-items: flex-start;
            gap: 1.2rem;
            transition: var(--np-transition);
            background: var(--np-bg-box);
        }
        .list-item:hover {
            border-color: rgba(138, 124, 255, 0.45);
            box-shadow: 0 0 0 1px rgba(138, 124, 255, 0.15), 0 8px 22px rgba(0, 0, 0, 0.4);
            transform: translateX(6px);
        }
        .list-icon {
            width: 52px;
            height: 52px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, rgba(0, 227, 154, 0.1), rgba(138, 124, 255, 0.1));
            border-radius: 12px;
            border: 1px solid var(--np-border-light);
            font-size: 1.3rem;
            color: var(--np-primary);
        }
        .list-item h3 {
            font-size: 1rem;
            font-weight: 700;
            margin-bottom: 6px;
            color: var(--np-text-primary);
        }
        .list-item p {
            font-size: 0.86rem;
            color: var(--np-text-muted);
            line-height: 1.7;
            margin-bottom: 0;
        }
        .quick-nav-panel {
            background: var(--np-bg-box);
            border: 1px solid var(--np-border);
            border-radius: var(--np-radius);
            overflow: hidden;
            margin-top: 50px;
            padding: 24px 28px;
        }
        .quick-nav-panel .quick-items {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
            gap: 12px;
        }
        .quick-item {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 12px 12px;
            border: 1px solid var(--np-border) !important;
            border-radius: 10px;
            color: var(--np-text-secondary);
            font-size: 0.89rem;
            font-weight: 500;
            transition: all 0.3s ease;
            background: transparent;
            text-decoration: none !important;
        }
        .quick-item:hover {
            color: var(--np-text-primary);
            border-color: var(--np-secondary) !important;
            box-shadow: 0 0 16px rgba(138, 124, 255, 0.12);
            transform: translateY(-2px);
        }
        .quick-item i {
            color: var(--np-secondary);
            font-size: 0.8rem;
        }
        .divider-glow {
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--np-border-light) 40%, var(--np-bg-card) 60%, transparent);
            margin: 30px 0;
        }
        .serif-note {
            font-size: 0.8rem;
            color: var(--np-text-muted);
        }
        .footer-bottom .container p {
            margin: 0;
            color: var(--np-text-muted);
            font-size: 0.78rem;
        }
        .btn-main,
        .btn-ghost {
            outline: none;
        }
        .btn-main:focus-visible,
        .btn-ghost:focus-visible,
        .content-card:focus-visible,
        .quick-item:focus-visible {
            outline: 2px solid rgba(0, 227, 154, 0.7);
            box-shadow: 0 0 0 4px rgba(0, 227, 154, 0.18);
        }
        .custom-toggler {
            border: 1px solid var(--np-border-light);
            width: 44px;
            height: 36px;
            border-radius: 8px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 4px;
            background: var(--np-bg-card);
        }
        .custom-toggler span {
            display: block;
            width: 20px;
            height: 2px;
            background: var(--np-text-secondary);
            border-radius: 2px;
            transition: var(--np-transition);
        }
        .fine-bg {
            min-height: 100%;
            pointer-events: none;
        }
        @media (min-width: 1300px) {
            .content-card-img {
                aspect-ratio: 16/8.5;
            }
        }
        @media (max-width: 992px) {
            .page-banner {
                min-height: auto;
                padding: 50px 0;
            }
            .nav-actions {
                margin-left: 0;
                padding-bottom: 12px;
            }
            .main-section {
                padding: 50px 0 20px;
            }
            .content-card-img {
                aspect-ratio: 16/9;
            }
            .list-item {
                flex-direction: column;
                gap: 10px;
            }
            .footer-main {
                padding-top: 50px;
            }
        }
        @media (max-width: 768px) {
            body {
                font-size: 14px;
            }
            .custom-toggler {
                display: flex;
            }
            .page-banner h1 {
                font-size: 1.7rem;
            }
            .content-card-img {
                aspect-ratio: 16/9;
            }
            .row.g-4 [class*="col-"] {
                margin-bottom: 16px;
            }
            .main-section {
                padding: 40px 0;
            }
            .main-section .section-title-wrap {
                margin-bottom: 24px;
            }
            .nav-actions {
                flex-direction: column;
                width: 100%;
            }
            .quick-nav-panel {
                padding: 18px 14px;
            }
            .quick-items {
                grid-template-columns: repeat(2, 1fr);
            }
            .footer-main {
                padding-top: 40px;
            }
        }
        @media (max-width: 576px) {
            .page-banner {
                padding: 56px 0 48px !important;
            }
            .page-banner h1 {
                font-size: 1.8rem;
            }
            .container {
                padding-left: 22px !important;
                padding-right: 22px !important;
            }
            .main-section .section-title-wrap h2 {
                font-size: 1.3rem;
            }
            .topic-title {
                font-size: 1.16rem;
            }
            .topic-content p {
                font-size: 0.9rem;
                line-height: 1.85;
            }
            .content-card-body {
                padding: 18px 16px;
            }
            .content-card-tag {
                margin-bottom: 10px;
            }
        }
        @media (max-width: 380px) {
            .quick-items {
                grid-template-columns: 1fr;
            }
            .nav-actions .btn-main,
            .nav-actions .btn-ghost {
                font-size: 0.8rem;
                padding: 10px 12px;
                text-align: center;
                justify-content: center;
                display: flex;
            }
        }

/* roulang page: article */
:root{
  --bg:#08090d;
  --bg2:#0e1014;
  --bg3:#15171d;
  --bg4:#1c2027;
  --line:#262b34;
  --line2:#2f3540;
  --brand:#00e39a;
  --brand-strong:#00ffad;
  --brand-dark:#00c986;
  --brand-glow:rgba(0,227,154,.28);
  --accent:#8a7cff;
  --accent-glow:rgba(138,124,255,.26);
  --pink:#ff5c7a;
  --text:#eef2f6;
  --muted:#b2bcc8;
  --weak:#7f8b9c;
  --maxw:1280px;
  --radius:14px;
  --radius-lg:20px;
  --radius-pill:999px;
  --shadow:0 18px 44px rgba(0,0,0,.3);
}
html,body{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Microsoft JhengHei",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.75;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;border:0;vertical-align:middle}
a{color:inherit;text-decoration:none}
ul{list-style:none;padding:0;margin:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(0,227,154,.45);
  outline-offset:2px;
}
.container{max-width:var(--maxw);padding-left:20px;padding-right:20px}
@media(max-width:576px){.container{padding-left:16px;padding-right:16px}}
.btn{border-radius:var(--radius-pill);font-weight:600;letter-spacing:.01em;transition:.3s}
.btn-main{
  background:var(--brand);
  color:#06100c;
  border:1px solid var(--brand);
  padding:.72rem 1.6rem;
  border-radius:var(--radius-pill);
  font-weight:700;
  box-shadow:0 0 0 rgba(0,227,154,0);
}
.btn-main:hover{
  background:var(--brand-strong);
  border-color:var(--brand-strong);
  color:#06100c;
  box-shadow:0 0 24px rgba(0,227,154,.35);
  transform:translateY(-1px);
}
.btn-main:active{transform:translateY(0);filter:brightness(.92)}
.btn-main-sm{padding:.52rem 1.2rem;font-size:.92rem}
.btn-ghost{
  background:transparent;
  border:1px solid #3a414d;
  color:#eef2f6;
  padding:.58rem 1.35rem;
  border-radius:var(--radius-pill);
  font-weight:600;
  font-size:.95rem;
  line-height:1.2;
  transition:.3s;
}
.btn-ghost:hover{
  border-color:var(--accent);
  color:#fff;
  box-shadow:0 0 18px rgba(138,124,255,.22);
}
.btn-ghost-sm{padding:.42rem 1.1rem;font-size:.9rem}

/* 顶部状态条 */
.site-topbar{
  background:#050609;
  border-bottom:1px solid #1d2129;
  color:#9aa7b5;
  font-size:.82rem;
  min-height:40px;
  display:flex;
  align-items:center;
}
.site-topbar .container{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px}
.topbar-status{display:flex;align-items:center;gap:.5rem;color:#c9d3de;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--brand);
  box-shadow:0 0 0 0 rgba(0,227,154,.5);
  animation:pulse 1.8s infinite;
  flex:none;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(0,227,154,.5);opacity:1}
  70%{box-shadow:0 0 0 9px rgba(0,227,154,0);opacity:.85}
  100%{box-shadow:0 0 0 0 rgba(0,227,154,0);opacity:1}
}
.topbar-clock{display:flex;align-items:center;gap:10px;color:#8a96a6}
.topbar-clock .di{letter-spacing:.12em;font-size:.75rem;color:#6b7787}
.top-clock{
  font-family:Consolas,Menlo,"Courier New",monospace;
  font-size:.85rem;
  color:var(--brand);
  background:#0d0f13;
  border:1px solid #20252d;
  border-radius:6px;
  padding:2px 9px;
  line-height:1.5;
  letter-spacing:.06em;
  min-width:76px;
  text-align:center;
}
@media(max-width:768px){
  .topbar-status span:not(:first-child){display:none}
  .topbar-clock .di{display:none}
}

/* 主导航 */
.main-nav{
  position:sticky;
  top:0;
  z-index:1040;
  background:rgba(8,9,13,.96);
  box-shadow:0 6px 30px rgba(0,0,0,.4);
}
.main-nav::after{
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(90deg,var(--brand) 0%,rgba(0,227,154,.35) 36%,transparent 100%);
}
.navbar{padding:.8rem 0}
.navbar-brand{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:#fff !important;
  padding:0;
  margin-right:1.6rem;
}
.brand-kicker em{
  font-style:normal;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  padding:0 6px;
  height:30px;
  background:linear-gradient(120deg,#0c211b,#13241e);
  border:1px solid rgba(0,227,154,.4);
  color:var(--brand);
  font-weight:800;
  font-size:1rem;
  letter-spacing:.06em;
  border-radius:6px 12px 6px 12px;
  box-shadow:0 0 12px rgba(0,227,154,.12);
}
.brand-sub{
  display:flex;
  flex-direction:column;
  font-size:1.05rem;
  font-weight:700;
  color:var(--text);
  line-height:1.25;
  letter-spacing:.02em;
}
.brand-tip{font-size:.68rem;color:var(--weak);font-weight:400;letter-spacing:.08em;line-height:1.2}
.navbar-nav{gap:.25rem}
.nav-item{margin:0 2px}
.navbar-nav .nav-link{
  color:#b7c1cd;
  font-weight:500;
  font-size:.98rem;
  padding:.6rem .84rem;
  position:relative;
  border-radius:6px;
  transition:color .25s;
}
.navbar-nav .nav-link::after{
  content:"";
  position:absolute;
  height:1px;
  left:.9rem;
  right:.9rem;
  bottom:3px;
  background:linear-gradient(90deg,var(--brand),transparent);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .3s ease;
}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus{color:#fff;outline:none}
.navbar-nav .nav-link:hover::after,.navbar-nav .nav-link:focus-visible::after{transform:scaleX(1)}
.navbar-nav .nav-link.active{
  color:var(--brand);
  text-shadow:0 0 12px rgba(0,227,154,.16);
}
.navbar-nav .nav-link.active::after{transform:scaleX(1);background:linear-gradient(90deg,#00ffad,transparent)}
.nav-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:nowrap}
.nav-actions .btn-ghost{border-color:#3a414d}
.custom-toggler{
  border:1px solid #2c333d;
  background:transparent;
  width:44px;height:38px;
  padding:7px 9px;
  border-radius:8px;
}
.custom-toggler span{display:block;height:2px;width:22px;background:#b2bcc8;margin:4px auto;border-radius:4px;transition:.3s}
.custom-toggler[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.custom-toggler[aria-expanded="true"] span:nth-child(2){opacity:0}
.custom-toggler[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:991.98px){
  .navbar-brand{margin-right:0}
  #mainNav{
    background:#0d0f14;
    border:1px solid #242b35;
    border-radius:12px;
    margin-top:1rem;
    padding:1rem .9rem;
    box-shadow:0 18px 38px rgba(0,0,0,.42);
  }
  #mainNav .navbar-nav{width:100%}
  .navbar-nav .nav-link{border-bottom:1px solid #1c2129;border-radius:0;padding:.9rem .5rem}
  .navbar-nav .nav-link:last-child{border-bottom:0}
  .navbar-nav .nav-link::after{display:none}
  .navbar-nav .nav-link.active{color:var(--brand);background:rgba(0,227,154,.04)}
  .nav-actions{display:flex;padding-top:.8rem;gap:.7rem;border-top:1px solid #202630}
  .nav-actions .btn-ghost{flex:1;margin-right:0}
  .nav-actions .btn-main{flex:1}
}

/* 面包屑 */
.crumb-wrap{padding-top:2rem;padding-bottom:.4rem}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;background:transparent;padding:0;margin:0;font-size:.88rem}
.breadcrumb-item{color:#7f8b9c;display:inline-flex;align-items:center;gap:6px}
.breadcrumb-item+.breadcrumb-item::before{
  content:"\f105";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:#4b5563;
  padding:0 3px;
}
.breadcrumb-item a{color:#9aa7b5;transition:.25s;border-bottom:1px solid transparent}
.breadcrumb-item a:hover{color:var(--brand)}
.crumb-ellipsis{display:inline-block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
@media(max-width:576px){.crumb-ellipsis{max-width:130px}}

/* 文章页头 */
.article-header{
  padding:1.1rem 0 1.2rem;
  position:relative;
}
.article-header::before{
  content:"";
  display:block;
  height:1px;
  width:100%;
  background:linear-gradient(90deg,rgba(0,227,154,.2),transparent);
  position:absolute;
  left:0;
  bottom:-.2px;
}
.article-head-title{
  padding-top:.65rem;
}
.article-head-title h1{
  font-size:clamp(1.9rem,3.6vw,3rem);
  font-weight:800;
  line-height:1.25;
  color:#fff;
  margin:0 0 1.1rem;
  letter-spacing:-.01em;
  text-wrap:balance;
}
.article-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem 1.2rem;
  font-size:.9rem;
  color:var(--weak);
}
.meta-cat{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:var(--accent);
  border:1px solid rgba(138,124,255,.26);
  background:rgba(138,124,255,.06);
  border-radius:999px;
  padding:.2rem .9rem;
  font-size:.82rem;
  font-weight:600;
  transition:.25s;
}
.meta-cat:hover{background:rgba(138,124,255,.14);color:#a99cff;border-color:rgba(138,124,255,.5)}
.meta-dot{width:3px;height:3px;border-radius:50%;background:#545d68;display:inline-block}
.meta-time{display:inline-flex;align-items:center;gap:.38rem;color:#8b97a7}
.meta-time i{color:#5b6673}

/* 正文区 */
.article-content-area{padding:1.2rem 0 1.6rem}
.article-column{max-width:832px;margin:0 auto}
.article-body{
  font-size:1.06rem;
  line-height:1.9;
  color:#dce3ec;
  word-break:break-word;
}
.article-body>*{margin-bottom:1.2em}
.article-body>p:last-child{margin-bottom:0}
.article-body h2{
  font-size:1.55rem;
  font-weight:750;
  color:#fff;
  margin:2em 0 .8em;
  position:relative;
  padding-left:clamp(.6rem,2vw,.9rem);
  line-height:1.4;
}
.article-body h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.38em;
  bottom:.38em;
  width:4px;
  border-radius:4px;
  background:linear-gradient(180deg,var(--brand),rgba(0,227,154,.08));
}
.article-body h3{
  font-size:1.24rem;
  color:#fff;
  font-weight:700;
  margin:1.6em 0 .6em;
  line-height:1.5;
}
.article-body h4{
  font-size:1.08rem;
  color:#e8edf2;
  font-weight:650;
  margin:1.2em 0 .4em;
}
.article-body p{
  margin:0 0 1.2em;
}
.article-body a{
  color:var(--brand);
  border-bottom:1px solid rgba(0,227,154,.3);
  transition:.25s;
}
.article-body a:hover{color:var(--brand-strong);border-color:currentColor}
.article-body blockquote{
  margin:1.6em 0;
  background:#11141a;
  border:1px solid var(--line);
  border-left:4px solid var(--brand);
  border-radius:0 12px 12px 0;
  padding:1.05rem 1.35rem;
  color:#b8c4d0;
  font-size:.98rem;
  line-height:1.85;
}
.article-body code{
  background:#1b2027;
  border:1px solid #2b323c;
  color:#8ee8c4;
  border-radius:6px;
  padding:.1rem .45rem;
  font-size:.9em;
}
.article-body pre{
  background:#0f1217;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.2rem 1.4rem;
  overflow-x:auto;
  color:#dbe2eb;
  line-height:1.7;
}
.article-body pre code{
  background:transparent;
  border:0;
  padding:0;
}
.article-body ul,.article-body ol{
  margin:0 0 1.3em;
  padding-left:1.2rem;
}
.article-body ul li{
  list-style:none;
  position:relative;
  padding-left:1.05rem;
  margin-bottom:.55rem;
}
.article-body ul li::before{
  content:"";
  position:absolute;
  left:-.25rem;
  top:.85em;
  width:6px;
  height:6px;
  transform:rotate(45deg);
  background:var(--brand);
  border-radius:1px;
}
.article-body ol{counter-reset:hth-article-list}
.article-body ol>li{
  list-style:none;
  counter-increment:hth-article-list;
  position:relative;
  padding-left:.6rem;
  margin-bottom:.55rem;
}
.article-body ol>li::before{
  content:counter(hth-article-list) ".";
  color:var(--brand);
  font-weight:700;
  position:absolute;
  left:-.3rem;
}
.article-body img{
  border-radius:14px;
  border:1px solid #20262e;
  height:auto;
}
.article-body table{
  width:100%;
  border-collapse:collapse;
  margin:0 0 1.6em;
  display:block;
  overflow-x:auto;
}
.article-body table th,.article-body table td{
  border:1px solid #28303a;
  padding:.75rem 1.05rem;
  white-space:nowrap;
}
.article-body table th{background:#14181e;color:#fff;font-weight:700}
.article-body table td{background:#0f1116;color:#bcc7d2}
.article-body table tr:nth-child(even) td{background:#12151b}
.article-body hr{
  border:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#2c323b,transparent);
  margin:2.4rem 0;
}

/* 没有文章 */
.post-empty{
  background:linear-gradient(145deg,#101319,#0b0e12);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:4rem 2rem;
  text-align:center;
}
.post-empty i{font-size:2.6rem;color:#424d5a;display:block;margin-bottom:.9rem}
.post-empty h2{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.6rem}
.post-empty p{color:#8e9aa8;margin-bottom:1.5rem}

/* 文章下方的操作行 */
.post-bottom-nav{
  margin-top:2rem;
  padding-top:1.7rem;
  border-top:1px solid #222832;
  border-bottom:1px solid #222832;
  margin-bottom:0;
}
.post-operate{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem 1rem;
  padding-bottom:1.7rem;
}
.post-op-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:#b7c3cf;
  font-size:.9rem;
  border:1px solid #2f3843;
  background:#0f1217;
  border-radius:999px;
  padding:.48rem .95rem;
  transition:.25s;
}
.post-op-link i{color:var(--weak);transition:.25s}
.post-op-link:hover{
  color:#fff;
  border-color:var(--accent);
  background:#151823;
  box-shadow:0 0 14px rgba(138,124,255,.16);
}
.post-op-link:hover i{color:var(--accent)}

/* 推荐阅读 */
.related-section{
  padding:4.4rem 0 1rem;
  background:linear-gradient(180deg,#0c0e12,#08090d 80%);
}
.related-title-wrap{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.7rem;
}
.related-title{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-size:clamp(1.32rem,2.6vw,1.9rem);
  font-weight:750;
  margin:0;
  letter-spacing:-.01em;
  color:#fff;
}
.rel-symbol{
  width:5px;
  height:26px;
  border-radius:3px;
  background:linear-gradient(180deg,var(--brand),rgba(0,227,154,.05));
  box-shadow:0 0 12px rgba(0,227,154,.26);
}
.rel-more{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:#8996a6;
  font-size:.88rem;
  transition:.25s;
}
.rel-more:hover{color:var(--brand)}
.rel-card-large{
  border:1px solid #242b34;
  background:#0d1015;
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:.35s;
  min-height:100%;
}
.rel-card-large:hover{
  border-color:rgba(0,227,154,.5);
  box-shadow:0 0 28px rgba(0,227,154,.08),0 24px 30px rgba(0,0,0,.15);
  transform:translateY(-3px);
}
.rel-card-large .rel-img-side{position:relative;min-height:220px}
.rel-card-large .rel-img-side img{
  position:absolute;
  left:0;top:0;width:100%;height:100%;object-fit:cover;
  transition:transform .55s ease;
}
.rel-card-large:hover .rel-img-side img{transform:scale(1.05)}
.rel-card-large::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:0;
  transition:.35s;
  box-shadow:inset 0 0 0 1px rgba(0,227,154,.45);
}
.rel-card-large:hover::after{opacity:1}
.rel-card-large{position:relative}
.rel-card-body{padding:1.6rem 1.5rem;display:flex;flex-direction:column}
.rel-card-tag{
  font-size:.75rem;
  letter-spacing:.06em;
  border:1px solid rgba(138,124,255,.35);
  color:#a99cff;
  padding:.12rem .68rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  align-self:flex-start;
  margin-bottom:.85rem;
  background:rgba(138,124,255,.05);
  text-transform:uppercase;
}
.rel-card-body h3{
  font-size:1.44rem;
  font-weight:750;
  line-height:1.4;
  color:#fff;
  margin:0 0 .75rem;
}
.rel-card-body p{color:#98a5b4;font-size:.95rem;line-height:1.75;margin:0 0 1.3rem;flex-grow:1}
.rel-card-enter{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  color:var(--brand);
  font-size:.94rem;
  gap:.45rem;
  font-weight:600;
  transition:gap .25s;
}
a.rel-card-enter:hover{gap:.75rem;color:var(--brand-strong)}
.rel-mini-card{
  background:#0d1015;
  border:1px solid #20262e;
  border-radius:15px;
  padding:1.5rem 1.45rem;
  height:100%;
  transition:.3s;
  display:flex;
  flex-direction:column;
}
.rel-mini-card:hover{
  border-color:rgba(0,227,154,.44);
  background:#0e1217;
  box-shadow:0 0 20px rgba(0,227,154,.06);
  transform:translateY(-2px);
}
.rel-mini-title{
  display:flex;
  gap:.7rem;
  align-items:center;
  font-size:1.08rem;
  font-weight:700;
  color:#eef2f6;
  line-height:1.4;
  margin-bottom:.55rem;
}
.rel-mini-title i{color:var(--brand);font-size:.92rem}
.rel-mini-desc{color:#8693a2;margin-bottom:1rem;line-height:1.6}
.rel-mini-link{
  margin-top:auto;
  color:#768596;
  font-size:.9rem;
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  transition:.25s;
}
.rel-mini-link:hover{color:var(--brand);gap:.6rem}
@media(max-width:767.98px){
  .rel-card-large .rel-img-side{min-height:200px;position:relative;height:auto;padding-top:56%}
  .rel-card-large .rel-img-side img{position:absolute;height:100%}
}

/* 底部 CTA */
.cta-banner{
  padding:4.6rem 0;
  margin-top:4rem;
  position:relative;
  border-top:1px solid #1f242c;
  border-bottom:1px solid #1f242c;
  background:linear-gradient(90deg,rgba(5,6,9,.93),rgba(8,9,13,.85) 45%,rgba(8,9,13,.72)),url('/assets/images/backpic/back-2.png') center/cover no-repeat;
}
.cta-inner{
  background:rgba(12,15,19,.78);
  border:1px solid rgba(0,227,154,.14);
  backdrop-filter:blur(6px);
  border-radius:var(--radius-lg);
  padding:clamp(1.4rem,4vw,2.8rem);
}
.cta-inner h2{
  font-size:clamp(1.45rem,2.8vw,2.1rem);
  font-weight:800;
  color:#fff;
  margin:0 0 .7rem;
  line-height:1.35;
}
.cta-inner p{color:#aeb9c5;font-size:1rem;margin-bottom:0}
.cta-actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:768px){.cta-actions{justify-content:flex-start;margin-top:0}}
.cta-note{color:#7e8a98;font-size:.85rem;margin-top:.3rem}

/* 页脚 */
.site-footer{background:#07080c}
.footer-main{border-top:1px solid #1b2027;padding:3.7rem 0 2.4rem}
.footer-brand-box .navbar-brand{margin-bottom:.3rem}
.footer-brand-box .navbar-brand:hover{color:#fff}
.footer-desc{
  font-size:.92rem;
  color:#7e8b9a;
  line-height:1.9;
  margin-top:.85rem;
  max-width:320px;
  font-weight:400;
}
.footer-title{
  font-size:1rem;
  color:#d7dfe8;
  font-weight:650;
  margin-bottom:1rem;
  letter-spacing:.03em;
  position:relative;
}
.footer-title::before{
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--brand);
  margin-right:.5rem;
  box-shadow:0 0 8px rgba(0,227,154,.6);
}
.footer-links li a,.footer-note a{
  display:inline-block;
  color:#7f8b9a;
  font-size:.9rem;
  padding:.32rem 0;
  transition:.25s;
}
.footer-links li a:hover,.footer-note a:hover{
  color:var(--brand);
  text-shadow:0 0 12px rgba(0,227,154,.12);
  padding-left:5px;
}
.footer-note{
  border:1px solid #262b34;
  background:#0d1014;
  border-radius:12px;
  padding:.9rem 1.1rem;
  font-size:.86rem;
  color:#707d8d;
  line-height:1.7;
}
.footer-note p:last-child{margin-bottom:0}
.footer-bottom{
  border-top:1px solid #181d23;
  padding:1rem 0;
}
.footer-bottom p{color:#5d6876;font-size:.82rem}
.footer-bottom a{color:#758393;transition:.25s}
.footer-bottom a:hover{color:var(--brand)}

/* roulang page: category2 */
:root {
  --bg: #08090d;
  --bg-2: #0e1014;
  --bg-3: #15171d;
  --bg-4: #1c2027;
  --primary: #00e39a;
  --primary-rgb: 0, 227, 154;
  --accent: #8a7cff;
  --pink: #ff5c7a;
  --text: #eef2f6;
  --text-2: #b2bcc8;
  --muted: #7f8b9c;
  --border: #262b34;
  --border-2: #2f3540;
  --radius-lg: 16px;
  --radius-md: 12px;
  --radius-sm: 10px;
  --font-sans: "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --transition: all .22s ease;
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .01em;
  -webkit-font-smoothing: antialiased;
}
img {
  max-width: 100%;
  display: block;
}
a {
  color: var(--primary);
  text-decoration: none;
  transition: var(--transition);
}
a:hover {
  color: var(--accent);
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid rgba(var(--primary-rgb), .8);
  outline-offset: 3px;
  border-radius: 4px;
}
ul, ol {
  padding-left: 1.15rem;
}
h1, h2, h3, h4, h5, h6 {
  color: var(--text);
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: .5em;
}
h1 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 800;
  letter-spacing: -.02em;
}
h2 {
  font-size: clamp(1.5rem, 2.6vw, 2.3rem);
  font-weight: 700;
}
h3 {
  font-size: 1.25rem;
  font-weight: 650;
}
p {
  margin-top: 0;
  margin-bottom: 1.2em;
  color: var(--text-2);
}
.container {
  max-width: 1280px;
  padding-left: 24px;
  padding-right: 24px;
}

/* 公共顶部公告条 */
.topbar {
  background: #0a0c10;
  border-bottom: 1px solid var(--border);
  min-height: 44px;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 99;
}
.topbar-inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.topbar-left {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text-2);
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
}
.topbar-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 0 10px var(--primary);
  flex: 0 0 auto;
}
.topbar-right {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}
.topbar-link {
  color: var(--muted);
  font-size: 13px;
  letter-spacing: .02em;
}
.topbar-link:hover {
  color: var(--primary);
}
.topbar-right .text-pulse {
  color: var(--text-2);
  font-size: 13px;
}

/* 主导航 */
.main-nav {
  position: sticky;
  top: 0;
  z-index: 1050;
  background: rgba(8, 9, 13, .96);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 12px 38px rgba(0, 0, 0, .28);
}
.main-nav::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(var(--primary-rgb), .8) 30%, rgba(138, 124, 255, .5) 70%, transparent 100%);
  pointer-events: none;
}
.navbar {
  padding-top: 12px;
  padding-bottom: 12px;
}
.navbar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
}
.brand-kicker {
  display: flex;
  align-items: center;
  height: 42px;
  padding: 0 14px;
  font-weight: 800;
  line-height: 1;
  background: var(--primary);
  color: #05120c;
  border-radius: 10px 4px 10px 4px;
  box-shadow: 0 0 22px rgba(var(--primary-rgb), .18);
  letter-spacing: .02em;
}
.brand-kicker em {
  font-style: normal;
  font-size: 1.25rem;
  text-transform: uppercase;
}
.brand-sub {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
  color: var(--text);
  font-weight: 700;
  font-size: 1.02rem;
}
.brand-tip {
  font-size: 12px;
  font-weight: 400;
  color: var(--muted);
  margin-top: 2px;
}
.navbar .navbar-nav {
  gap: 8px;
}
.navbar .nav-link {
  position: relative;
  color: var(--text-2);
  font-size: 15px;
  font-weight: 500;
  padding: 11px 12px !important;
  border-radius: 8px;
}
.navbar .nav-link:hover {
  color: var(--text);
}
.navbar .nav-link::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 3px;
  height: 2px;
  border-radius: 3px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease;
}
.navbar .nav-link.active {
  color: var(--primary);
  text-shadow: 0 0 14px rgba(var(--primary-rgb), .42);
}
.navbar .nav-link.active::after,
.navbar .nav-link:hover::after {
  transform: scaleX(1);
}
.nav-actions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.btn-main,
.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  font-weight: 600;
  padding: 11px 24px;
  transition: var(--transition);
  white-space: nowrap;
  border: 1px solid transparent;
}
.btn-main {
  background: var(--primary);
  color: #05130d;
  border-color: var(--primary);
  box-shadow: 0 0 18px rgba(var(--primary-rgb), .18);
}
.btn-main:hover {
  background: #48f0b5;
  color: #05130d;
  box-shadow: 0 0 28px rgba(var(--primary-rgb), .38);
  transform: translateY(-2px);
}
.btn-main:active {
  transform: translateY(0) scale(.98);
  filter: brightness(.92);
}
.btn-main-sm {
  padding: 8px 20px;
  font-size: 14px;
}
.btn-ghost {
  color: var(--text);
  background: transparent;
  border-color: var(--border-2);
}
.btn-ghost:hover {
  color: #fff;
  border-color: var(--accent);
  box-shadow: 0 0 18px rgba(138, 124, 255, .2);
  transform: translateY(-2px);
}
.btn-ghost-sm {
  padding: 8px 18px;
  font-size: 14px;
}
.btn-main .ico-arrow,
.btn-ghost .ico-arrow {
  display: inline-block;
  transition: transform .2s ease;
}
.btn-main:hover .ico-arrow,
.btn-ghost:hover .ico-arrow {
  transform: translateX(4px);
}
.custom-toggler {
  border: 1px solid var(--border-2);
  border-radius: 10px;
  width: 44px;
  height: 40px;
  padding: 8px 9px;
  background: transparent;
  position: relative;
}
.custom-toggler span {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--text);
  margin: 5px 0;
  border-radius: 4px;
  transition: var(--transition);
}
.custom-toggler:hover span {
  background: var(--primary);
}

/* 分类页首屏 */
.page-hero {
  position: relative;
  background-color: var(--bg-2);
  background-size: cover;
  background-position: center;
  padding: 96px 0 92px;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(102deg, rgba(8, 9, 13, .97) 0%, rgba(8, 9, 13, .88) 48%, rgba(14, 16, 20, .68) 100%);
  z-index: 1;
}
.page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--primary), rgba(var(--primary-rgb), .12));
  z-index: 2;
}
.page-hero-urls {
  background-image: url('/assets/images/backpic/back-2.webp');
}
.page-hero .container {
  position: relative;
  z-index: 3;
}
.cat-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 22px;
  letter-spacing: .02em;
}
.cat-breadcrumb a {
  color: var(--muted);
  transition: var(--transition);
}
.cat-breadcrumb a:hover {
  color: var(--primary);
}
.cat-breadcrumb .sepa {
  color: var(--border-2);
}
.cat-breadcrumb .current {
  color: var(--text-2);
}
.cat-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(var(--primary-rgb), .45);
  color: var(--primary);
  background: rgba(var(--primary-rgb), .06);
  border-radius: 999px;
  padding: 4px 14px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 18px;
}
.cat-hero-title {
  margin-bottom: 18px;
}
.cat-hero-title strong {
  color: var(--primary);
  font-weight: 800;
}
.cat-hero-desc {
  max-width: 720px;
  color: #c1cad6;
  font-size: 17px;
  margin-bottom: 30px;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

/* 通用段落 */
.section-block {
  padding: 90px 0;
}
.bg-deep {
  background: var(--bg-2);
}
.bg-soft {
  background: #0b0d11;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--primary);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .12em;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  width: 22px;
  height: 2px;
  background: var(--primary);
  box-shadow: 0 0 12px var(--primary);
}
.section-head p {
  max-width: 680px;
}
.section-head-title {
  margin-bottom: 8px;
}
.section-head-right {
  text-align: right;
}
.link-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-2);
  font-weight: 600;
  font-size: 15px;
}
.link-more:hover {
  color: var(--primary);
}
.divider-line {
  height: 1px;
  background: linear-gradient(90deg, var(--border) 0%, transparent 100%);
  margin: 32px 0;
}

/* 分类说明卡片 */
.card-panel {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 24px;
  position: relative;
  height: 100%;
  transition: var(--transition);
  overflow: hidden;
}
.card-panel:hover {
  border-color: rgba(var(--primary-rgb), .4);
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32), 0 0 0 1px rgba(var(--primary-rgb), .06);
}
.card-panel::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, var(--primary), transparent 70%);
  opacity: 0;
  transition: opacity .24s ease;
}
.card-panel:hover::after {
  opacity: 1;
}
.card-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--primary);
  border: 1px solid rgba(var(--primary-rgb), .3);
  background: rgba(var(--primary-rgb), .06);
  margin-bottom: 16px;
}
.card-panel h3 {
  font-size: 1.2rem;
  margin-bottom: 8px;
}
.card-panel p {
  color: var(--muted);
  font-size: 15px;
  margin-bottom: 0;
}
.card-tag-label {
  display: inline-block;
  border: 1px solid var(--border-2);
  color: var(--text-2);
  font-size: 13px;
  padding: 2px 11px;
  border-radius: 999px;
  margin-top: 14px;
  transition: var(--transition);
}
.card-panel:hover .card-tag-label {
  color: var(--primary);
  border-color: rgba(var(--primary-rgb), .45);
}

/* 配图文卡 */
.media-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition);
}
.media-card:hover {
  border-color: rgba(var(--primary-rgb), .45);
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}
.media-thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--bg-3);
}
.media-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.media-card:hover .media-thumb img {
  transform: scale(1.05);
}
.media-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(8, 9, 13, .85) 100%);
}
.media-tag {
  position: absolute;
  z-index: 2;
  left: 14px;
  top: 14px;
  background: rgba(8, 9, 13, .72);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--primary-rgb), .6);
  color: var(--primary);
  font-size: 12px;
  padding: 3px 12px;
  border-radius: 999px;
}
.media-body {
  padding: 20px 22px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.media-body h3 {
  font-size: 1.15rem;
  margin-bottom: 8px;
  line-height: 1.45;
}
.media-body p {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 14px;
}
.media-link {
  margin-top: auto;
  color: var(--text-2);
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
.media-card:hover .media-link {
  color: var(--primary);
}

/* 状态与维护记录 */
.content-index-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.status-row {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 20px 22px;
  transition: var(--transition);
}
.status-row:hover {
  border-color: var(--border-2);
  transform: translateX(4px);
}
.status-symbol {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  flex: 0 0 auto;
  background: rgba(138, 124, 255, .08);
  border: 1px solid rgba(138, 124, 255, .25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
}
.status-symbol.s-green {
  border-color: rgba(var(--primary-rgb), .3);
  background: rgba(var(--primary-rgb), .06);
  color: var(--primary);
}
.status-content {
  flex: 1;
}
.status-content .status-time {
  display: block;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 3px;
}
.status-content h3 {
  font-size: 1.08rem;
  margin-bottom: 4px;
}
.status-content p {
  margin-bottom: 0;
  font-size: 14px;
  color: var(--muted);
}
.channel-entry {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 18px 20px;
  transition: var(--transition);
}
.channel-entry:hover {
  border-color: var(--accent);
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(8, 9, 13, .6);
}
.channel-entry-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: var(--text);
  background: var(--bg-4);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.channel-entry-info {
  flex: 1;
  line-height: 1.4;
}
.channel-entry-info strong {
  color: var(--text);
  font-weight: 600;
}
.channel-entry-info small {
  display: block;
  color: var(--muted);
  font-size: 13px;
}
.channel-entry .go {
  color: var(--muted);
}
.channel-entry:hover .go {
  transform: translateX(4px);
  color: var(--primary);
}

/* 侧栏 */
.side-box {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px;
}
.side-panel-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 16px;
}
.side-panel-title .line {
  width: 4px;
  height: 20px;
  border-radius: 3px;
  background: var(--primary);
  box-shadow: 0 0 12px var(--primary);
}
.side-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.side-list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 4px;
  border-bottom: 1px solid rgba(38, 43, 52, .7);
  color: var(--text-2);
  font-size: 15px;
}
.side-list li a:hover {
  color: var(--primary);
  padding-left: 8px;
}
.side-list li:last-child a {
  border-bottom: none;
}
.side-list .arr {
  font-size: 14px;
  color: var(--muted);
}

/* FAQ */
.faq-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.faq-head {
  max-width: 380px;
  flex: 1 1 240px;
}
.faq-body {
  flex: 1 1 520px;
}
.accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.accordion-item {
  background: var(--bg-2);
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  transition: var(--transition);
}
.accordion-item:has(.accordion-button:not(.collapsed)) {
  border-color: rgba(var(--primary-rgb), .4) !important;
}
.accordion-button {
  background: var(--bg-2);
  color: var(--text);
  font-weight: 600;
  font-size: 16px;
  padding: 18px 20px;
  box-shadow: none !important;
  border: none;
  position: relative;
}
.accordion-button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: transparent;
}
.accordion-button:not(.collapsed) {
  color: var(--primary);
  background: rgba(var(--primary-rgb), .03);
}
.accordion-button:not(.collapsed)::before {
  background: var(--primary);
  box-shadow: 0 0 12px var(--primary);
}
.accordion-button::after {
  background-image: none;
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-size: 22px;
  font-weight: 400;
  color: var(--muted);
  transition: transform .3s ease;
  border-radius: 50%;
  background: var(--bg-4);
  flex: 0 0 auto;
}
.accordion-button:not(.collapsed)::after {
  content: "-";
  transform: rotate(0);
  color: var(--primary);
  background: rgba(var(--primary-rgb), .14);
}
.accordion-body {
  background: var(--bg-2);
  color: var(--muted);
  font-size: 15px;
  padding: 0 24px 22px;
  border-top: 1px solid rgba(38, 43, 52, .55);
}
.accordion-body p:last-child {
  margin-bottom: 0;
}

/* 页面CTA */
.cta-panel {
  position: relative;
  background-color: var(--bg-2);
  background-image: linear-gradient(115deg, rgba(8, 9, 13, .94) 0%, rgba(14, 16, 20, .82) 55%, rgba(14, 16, 20, .78) 100%), url('/assets/images/backpic/back-3.webp');
  background-size: cover;
  background-position: center;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  padding: 48px 40px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}
.cta-panel::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(var(--primary), rgba(var(--primary-rgb), .05));
  box-shadow: 0 0 18px var(--primary);
}
.cta-copy {
  flex: 1 1 360px;
  max-width: 580px;
}
.cta-copy h2 {
  font-size: clamp(1.5rem, 2.5vw, 2.4rem);
  margin-bottom: 12px;
}
.cta-copy p {
  margin-bottom: 0;
}
.cta-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}

/* 页脚 */
.site-footer {
  background: #07080c;
  border-top: 1px solid var(--border);
  margin-top: 40px;
}
.site-footer::before {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(90deg, var(--primary), transparent 50%, rgba(138, 124, 255, .6));
}
.footer-main {
  padding: 64px 0 36px;
}
.footer-info-box {
  padding-right: 18px;
}
.footer-desc {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
  max-width: 360px;
}
.footer-title {
  color: var(--text);
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 18px;
  letter-spacing: .02em;
}
.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-links a {
  color: var(--muted);
  font-size: 14px;
  transition: var(--transition);
}
.footer-links a:hover {
  color: var(--primary);
  padding-left: 6px;
}
.footer-note {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
.footer-bottom {
  background: #06070a;
  border-top: 1px solid var(--border);
  padding: 20px 0;
  color: var(--muted);
  font-size: 14px;
}
.footer-bottom a {
  color: var(--muted);
}
.footer-bottom a:hover {
  color: var(--primary);
}

/* 响应式 */
@media (max-width: 991.98px) {
  .section-block {
    padding: 64px 0;
  }
  .navbar-collapse {
    background: var(--bg-2);
    margin-top: 14px;
    padding: 18px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: 0 20px 45px rgba(0, 0, 0, .4);
  }
  .navbar-collapse .navbar-nav {
    margin-bottom: 16px;
  }
  .nav-actions {
    width: 100%;
  }
  .nav-actions .btn-main,
  .nav-actions .btn-ghost {
    flex: 1;
  }
  .navbar-brand {
    max-width: 75%;
  }
  .section-head-right {
    text-align: left;
    margin-top: 8px;
  }
  .cta-panel {
    padding: 38px 28px;
  }
}

@media (max-width: 767.98px) {
  .topbar-inner {
    align-items: center;
  }
  .topbar-left span:not(.topbar-dot) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar-right {
    gap: 8px;
    flex: 0 0 auto;
  }
  .topbar-link,
  .topbar-right .text-pulse {
    font-size: 12px;
  }
  .page-hero {
    padding: 72px 0 64px;
  }
  .page-hero .cat-hero-title {
    font-size: clamp(1.8rem, 8vw, 2.8rem);
  }
  .section-block {
    padding: 50px 0;
  }
  .media-body {
    padding: 18px 18px 20px;
  }
  .brand-sub {
    font-size: .94rem;
  }
  .brand-tip {
    font-size: 11px;
  }
}

@media (max-width: 575.98px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  .navbar {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .brand-kicker {
    height: 36px;
    padding: 0 11px;
    border-radius: 8px 3px 8px 3px;
  }
  .brand-kicker em {
    font-size: 1rem;
  }
  .brand-tip {
    display: none;
  }
  .brand-sub {
    font-size: .92rem;
  }
  .page-hero {
    padding: 56px 0 48px;
  }
  .hero-actions {
    gap: 10px;
    width: 100%;
  }
  .hero-actions .btn-main,
  .hero-actions .btn-ghost {
    flex: 1 1 auto;
  }
  .cat-breadcrumb {
    font-size: 13px;
  }
  .card-panel {
    padding: 20px 18px;
  }
  .status-row {
    padding: 16px 14px;
    gap: 12px;
  }
  .status-symbol {
    width: 36px;
    height: 36px;
  }
  .cta-panel {
    padding: 28px 20px;
  }
  .footer-main {
    padding-top: 44px;
  }
  .side-box {
    padding: 22px 18px;
  }
}

/* roulang page: category3 */
:root {
  --max-width: 1280px;
  --bg-deep: #06070a;
  --bg-body: #08090d;
  --bg-panel: #0d1015;
  --bg-card: #11151d;
  --bg-elevated: #171b24;
  --line: #252b36;
  --line-soft: #1c212a;
  --line-strong: #323a48;
  --green: #00e39a;
  --green-bright: #45ffb8;
  --violet: #8a7cff;
  --violet-soft: #a99dff;
  --magenta: #ff5c7a;
  --text-strong: #eef2f6;
  --text-main: #cdd6e1;
  --text-muted: #98a4b3;
  --text-low: #6f7b8c;
  --radius-xl: 18px;
  --radius-lg: 14px;
  --radius-md: 11px;
  --shadow-green: 0 0 24px rgba(0, 227, 154, .24);
  --shadow-violet: 0 0 20px rgba(138, 124, 255, .2);
  --font-sans: "Inter", "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, Menlo, monospace;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--bg-body);
  color: var(--text-main);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  color: var(--text-strong);
  line-height: 1.3;
  font-weight: 700;
}

p {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

.container {
  max-width: var(--max-width);
}

a:focus-visible,
button:focus-visible,
.accordion-button:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(0, 227, 154, .15) !important;
}

::-moz-selection {
  background: rgba(0, 227, 154, .2);
  color: #fff;
}

::selection {
  background: rgba(0, 227, 154, .2);
  color: #fff;
}

.btn-main,
.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  padding: 14px 24px;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}

.btn-main {
  background: var(--green);
  border: 1px solid var(--green);
  color: #04150d;
  box-shadow: 0 0 0 rgba(0, 227, 154, 0);
}

.btn-main:hover {
  background: var(--green-bright);
  border-color: var(--green-bright);
  color: #03120b;
  transform: translateY(-2px);
  box-shadow: var(--shadow-green);
}

.btn-main:active {
  background: #00bd83;
  border-color: #00bd83;
  transform: translateY(0);
}

.btn-main-sm {
  padding: 10px 18px;
  font-size: 14px;
}

.btn-ghost {
  background: transparent;
  border: 1px solid rgba(138, 124, 255, .55);
  color: #d4dbe5;
}

.btn-ghost:hover {
  border-color: var(--violet-soft);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: var(--shadow-violet);
}

.btn-ghost:active {
  transform: translateY(0);
}

.main-nav {
  position: sticky;
  top: 0;
  z-index: 1080;
  background: rgba(8, 9, 13, .97);
  border-bottom: 1px solid var(--line-soft);
  backdrop-filter: blur(6px);
}

.main-nav::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--green) 8%, var(--violet) 60%, transparent);
  opacity: .6;
  pointer-events: none;
}

.navbar {
  padding-top: 10px;
  padding-bottom: 10px;
}

.main-nav .container {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.navbar-brand:hover {
  color: #fff;
}

.brand-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--green);
  text-shadow: 0 0 18px rgba(0, 227, 154, .35);
}

.brand-kicker em {
  font-style: normal;
}

.brand-sub {
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 800;
  color: var(--text-strong);
  letter-spacing: .02em;
}

.brand-tip {
  margin-top: 4px;
  font-size: .68rem;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: .08em;
}

.navbar .nav-link {
  display: inline-block;
  position: relative;
  padding: 10px 17px;
  color: #b8c3cf;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  transition: color .25s ease;
}

.navbar .nav-link::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 3px;
  height: 2px;
  border-radius: 99px;
  background: var(--green);
  box-shadow: 0 0 12px var(--green);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
}

.navbar .nav-link:hover {
  color: #fff;
}

.navbar .nav-link.active {
  color: var(--green);
}

.navbar .nav-link.active::after {
  transform: scaleX(1);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 12px;
  flex-shrink: 0;
}

.custom-toggler {
  width: 44px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .02);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  box-shadow: none;
}

.custom-toggler:focus {
  box-shadow: 0 0 0 4px rgba(0, 227, 154, .12);
}

.custom-toggler span {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 99px;
  background: #d3dbe6;
  transition: transform .2s ease, background .2s ease;
}

.custom-toggler:hover span {
  background: var(--green);
}

.section-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--green);
  text-transform: uppercase;
}

.section-label::before {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 99px;
  background: var(--green);
  box-shadow: 0 0 12px rgba(0, 227, 154, .6);
}

.section-title {
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--text-strong);
  margin-top: 14px;
}

.section-head {
  margin-bottom: 36px;
  max-width: 720px;
}

.section-pad {
  padding-top: 88px;
  padding-bottom: 88px;
}

.bg-deep {
  background-color: var(--bg-deep);
}

.bg-panel {
  background-color: var(--bg-panel);
}

.category-banner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 540px;
  padding: 76px 0 70px;
  background: var(--bg-deep) center 35% / cover no-repeat;
  overflow: hidden;
}

.category-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 7, 10, .95) 0%, rgba(6, 7, 10, .85) 52%, rgba(6, 7, 10, .58) 100%);
  z-index: 1;
}

.category-banner::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--green), var(--violet), transparent);
  opacity: .75;
  z-index: 2;
}

.category-banner .container {
  position: relative;
  z-index: 3;
}

.breadcrumb-wrap {
  position: relative;
  z-index: 2;
  margin-bottom: 32px;
}

.breadcrumb {
  margin: 0;
}

.breadcrumb-item {
  font-size: 13px;
  color: var(--text-low);
}

.breadcrumb-item a {
  color: var(--text-muted);
  transition: color .2s ease;
}

.breadcrumb-item a:hover {
  color: var(--green);
}

.breadcrumb-item.active {
  color: var(--text-strong);
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-low);
}

.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 13px;
  border: 1px solid rgba(0, 227, 154, .3);
  border-radius: 999px;
  background: rgba(0, 227, 154, .07);
  color: var(--green);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  margin-bottom: 22px;
}

.hero-kicker i {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 10px var(--green);
}

.hero-kicker .divider {
  color: var(--violet);
}

.hero-copy h1 {
  font-size: clamp(2.75rem, 7vw, 5.2rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  font-weight: 800;
  color: #f7faff;
  text-shadow: 0 0 50px rgba(0, 227, 154, .08);
}

.hero-lead {
  max-width: 720px;
  margin: 22px 0 32px;
  font-size: 17px;
  line-height: 1.9;
  color: #c7d1de;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.hero-metrics {
  margin-top: 58px;
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.metric-item {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.metric-number {
  font-family: var(--font-mono);
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--green);
  line-height: 1;
  text-shadow: 0 0 18px rgba(0, 227, 154, .25);
  letter-spacing: -.02em;
}

.metric-text {
  font-size: 14px;
  color: var(--text-muted);
  max-width: 190px;
}

.scene-section {
  position: relative;
}

.scene-intro {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 38px;
}

.scene-intro-copy {
  flex: 1 1 600px;
  max-width: 760px;
}

.scene-lead {
  margin-top: 15px;
  color: var(--text-muted);
  font-size: 16px;
}

.scene-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.scene-card {
  position: relative;
  background: linear-gradient(180deg, rgba(21, 25, 34, .95), rgba(13, 16, 21, .98));
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 28px;
  overflow: hidden;
  transition: border-color .28s ease, transform .28s ease, box-shadow .28s ease;
}

.scene-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0, 227, 154, .2), transparent);
  opacity: 0;
  transition: opacity .3s ease;
}

.scene-card:hover {
  border-color: rgba(0, 227, 154, .45);
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .28), 0 0 0 1px rgba(0, 227, 154, .08);
}

.scene-card:hover::before {
  opacity: 1;
}

.scene-no {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--violet-soft);
  letter-spacing: .06em;
  margin-bottom: 16px;
  display: block;
}

.scene-card h3 {
  font-size: 1.15rem;
  color: #f1f5fa;
  margin-bottom: 10px;
  padding-right: 20px;
}

.scene-card p {
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.85;
}

.scene-more {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  font-size: 14px;
  font-weight: 700;
  color: var(--green);
  transition: color .2s ease, gap .2s ease;
}

.scene-more:hover {
  color: var(--green-bright);
  gap: 11px;
}

.steps-section {
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  background:
    radial-gradient(circle at 10% 10%, rgba(0, 227, 154, .05), transparent 36%),
    var(--bg-deep);
}

.steps-section .section-title {
  max-width: 620px;
}

.steps-intro {
  max-width: 690px;
  margin-top: 18px;
  color: var(--text-muted);
}

.fix-steps {
  margin-top: 20px;
}

.fix-step {
  position: relative;
  padding: 0 0 34px 58px;
}

.fix-step:last-child {
  padding-bottom: 0;
}

.fix-step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 46px;
  bottom: 2px;
  width: 1px;
  background: linear-gradient(180deg, var(--green), rgba(138, 124, 255, .25), transparent);
}

.step-no {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(0, 227, 154, .45);
  background: rgba(0, 227, 154, .07);
  color: var(--green);
  border-radius: 12px;
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 0 20px rgba(0, 227, 154, .08);
}

.fix-step h3 {
  font-size: 1.12rem;
  margin-bottom: 8px;
  color: #eef3f8;
  padding-top: 4px;
}

.fix-step p {
  font-size: 15px;
  line-height: 1.85;
  color: var(--text-muted);
  max-width: 620px;
}

.check-card {
  position: sticky;
  top: 96px;
  background: linear-gradient(180deg, #12161e, #0f1219);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 26px;
}

.check-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #eef2f6;
  font-size: 1.05rem;
  margin-bottom: 19px;
}

.check-card-title i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 10px var(--green);
  display: inline-block;
}

.check-list-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .055);
  color: #bcc7d3;
  font-size: 15px;
}

.check-list-item:last-of-type {
  border-bottom: 0;
}

.check-icon {
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  margin-top: 5px;
  border: 1px solid rgba(0, 227, 154, .42);
  border-radius: 50%;
  color: var(--green);
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.safety-note {
  margin-top: 18px;
  background: rgba(255, 92, 122, .06);
  border: 1px solid rgba(255, 92, 122, .16);
  border-left: 3px solid var(--magenta);
  border-radius: 12px;
  padding: 14px 15px;
  color: #d7a4ab;
  font-size: 14px;
  line-height: 1.8;
}

.resource-section {
  background: var(--bg-panel);
  position: relative;
  overflow: hidden;
}

.resource-section::before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -120px;
  top: -120px;
  background: radial-gradient(circle, rgba(138, 124, 255, .09), transparent 70%);
  pointer-events: none;
}

.resource-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.resource-card {
  position: relative;
  display: block;
  min-height: 360px;
  border-radius: var(--radius-xl);
  border: 1px solid var(--line);
  background: #0d1016;
  overflow: hidden;
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.resource-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .85;
  transition: transform .5s ease, opacity .3s ease;
}

.resource-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 9, 12, .1) 20%, rgba(7, 9, 12, .62) 66%, rgba(7, 9, 12, .95) 100%);
  z-index: 1;
  transition: background .3s ease;
}

.resource-card:hover {
  border-color: rgba(0, 227, 154, .55);
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .3), 0 0 0 1px rgba(0, 227, 154, .08);
}

.resource-card:hover img {
  transform: scale(1.04);
}

.resource-card:hover::after {
  background: linear-gradient(180deg, rgba(7, 9, 12, .1) 18%, rgba(7, 9, 12, .66) 66%, rgba(7, 9, 12, .96) 100%);
}

.resource-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 28px;
}

.resource-tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid rgba(0, 227, 154, .55);
  background: rgba(7, 9, 12, .72);
  color: var(--green);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 16px;
  letter-spacing: .02em;
}

.resource-body h3 {
  color: #f3f6fa;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-weight: 800;
  margin-bottom: 10px;
}

.resource-body p {
  color: #c6d0dc;
  font-size: 15px;
  line-height: 1.8;
  max-width: 500px;
}

.resource-arrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 15px;
  color: var(--green);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .01em;
}

.resource-arrow i {
  transition: transform .25s ease;
  font-style: normal;
}

.resource-card:hover .resource-arrow i {
  transform: translateX(4px);
}

.cta-section {
  position: relative;
  padding: 70px 0;
  background: var(--bg-deep) center center / cover no-repeat;
  border-bottom: 1px solid var(--line-soft);
  overflow: hidden;
}

.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 7, 10, .96), rgba(5, 7, 10, .82) 70%, rgba(5, 7, 10, .72));
  z-index: 1;
}

.cta-section .container {
  position: relative;
  z-index: 2;
}

.cta-inner {
  background: linear-gradient(135deg, rgba(138, 124, 255, .08), rgba(0, 227, 154, .04));
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 42px 44px;
  backdrop-filter: blur(4px);
}

.cta-inner h2 {
  font-size: clamp(1.5rem, 2.6vw, 2.1rem);
  letter-spacing: -.01em;
  color: #f4f8fb;
  line-height: 1.35;
}

.cta-inner h2 span {
  color: var(--green);
}

.cta-inner p {
  margin-top: 14px;
  max-width: 680px;
  color: var(--text-muted);
  font-size: 15px;
}

.cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.faq-section {
  background:
    linear-gradient(rgba(8, 9, 13, 1), rgba(8, 9, 13, .98)),
    radial-gradient(circle at 80% 20%, rgba(138, 124, 255, .07), transparent 60%);
  border-top: 1px solid var(--line-soft);
}

.faq-layout {
  display: grid;
  grid-template-columns: .9fr 1.35fr;
  gap: 58px;
  align-items: start;
}

.faq-aside .section-title {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.faq-aside p {
  margin-top: 18px;
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.9;
}

.faq-helper {
  margin-top: 28px;
  padding: 16px 18px;
  background: rgba(0, 227, 154, .04);
  border: 1px solid rgba(0, 227, 154, .14);
  border-radius: 13px;
  font-size: 14px;
  color: var(--text-muted);
}

.faq-helper a {
  color: var(--green);
  font-weight: 700;
}

.accordion {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--bg-card);
}

.accordion-item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
}

.accordion-item:last-child {
  border-bottom: 0;
}

.accordion-header {
  line-height: 1.4;
  margin: 0;
}

.accordion-button {
  background: transparent;
  color: #dbe3ed;
  font-size: 16px;
  font-weight: 700;
  padding: 19px 22px;
  box-shadow: none;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.accordion-button:hover {
  background: rgba(255, 255, 255, .025);
  color: #fff;
}

.accordion-button:not(.collapsed) {
  background: rgba(0, 227, 154, .06);
  color: var(--green);
  box-shadow: inset 3px 0 0 var(--green), inset 0 -1px 0 rgba(0, 227, 154, .08);
}

.accordion-button::after {
  content: "+";
  background: none;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--violet-soft);
  margin-left: auto;
  flex-shrink: 0;
  transition: transform .3s ease, color .2s ease;
}

.accordion-button:not(.collapsed)::after {
  transform: rotate(45deg);
  color: var(--green);
}

.accordion-button:focus {
  z-index: 2;
  box-shadow: none;
}

.accordion-body {
  padding: 4px 22px 22px 23px;
  background: rgba(0, 0, 0, .1);
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.9;
  border-top: 1px solid rgba(255, 255, 255, .04);
}

.site-footer {
  background: #05060a;
  border-top: 1px solid var(--line-soft);
  position: relative;
}

.site-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--green), var(--violet), transparent);
  opacity: .38;
}

.footer-main {
  padding: 60px 0 48px;
}

.footer-info-box .navbar-brand {
  margin-bottom: 10px;
}

.footer-desc {
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.9;
  max-width: 360px;
}

.footer-title {
  color: #e7edf5;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 15px;
  letter-spacing: .01em;
}

.footer-links li {
  margin-bottom: 9px;
}

.footer-links a {
  color: var(--text-muted);
  font-size: 14px;
  transition: color .2s ease, padding-left .2s ease;
}

.footer-links a:hover {
  color: var(--green);
  padding-left: 3px;
}

.footer-note p {
  color: var(--text-low);
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 8px;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding: 18px 0;
}

.footer-bottom p {
  color: var(--text-low);
  font-size: 13px;
}

.footer-bottom a {
  color: var(--text-muted);
  transition: color .2s ease;
}

.footer-bottom a:hover {
  color: var(--green);
}

@media (min-width: 992px) {
  .navbar .navbar-nav {
    gap: 4px;
  }
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    background: rgba(8, 9, 13, .99);
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    padding: 18px 16px;
    margin-top: 16px;
    box-shadow: 0 26px 60px rgba(0, 0, 0, .4);
  }

  .navbar-collapse .navbar-nav {
    align-items: stretch;
    margin: 0 0 16px !important;
  }

  .navbar-collapse .nav-link {
    padding: 12px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
  }

  .navbar-collapse .nav-link::after {
    left: 0;
    bottom: -1px;
    right: 0;
    transform-origin: left center;
    box-shadow: none;
  }

  .navbar-collapse .nav-link.active::after {
    transform: scaleX(.35);
  }

  .nav-actions {
    margin-left: 0;
    width: 100%;
    padding-top: 13px;
    border-top: 1px solid rgba(255, 255, 255, .06);
  }

  .nav-actions .btn-main,
  .nav-actions .btn-ghost {
    flex: 1;
  }

  .category-banner {
    min-height: 480px;
    padding: 66px 0 58px;
  }

  .faq-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 767.98px) {
  .section-pad {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .brand-kicker {
    font-size: 1.25rem;
  }

  .brand-sub {
    font-size: .95rem;
  }

  .hero-copy h1 {
    font-size: clamp(2.15rem, 12vw, 3.2rem);
  }

  .hero-lead {
    font-size: 16px;
  }

  .hero-metrics {
    gap: 20px;
    margin-top: 40px;
    padding-top: 24px;
  }

  .metric-item {
    flex: 1 1 150px;
  }

  .metric-number {
    font-size: 1.65rem;
  }

  .scene-grid {
    grid-template-columns: 1fr;
  }

  .resource-cards {
    grid-template-columns: 1fr;
  }

  .resource-card {
    min-height: 330px;
  }

  .cta-inner {
    padding: 30px 24px;
  }

  .cta-actions {
    margin-top: 18px;
  }

  .cta-actions .btn-main,
  .cta-actions .btn-ghost {
    width: 100%;
  }

  .faq-layout {
    gap: 30px;
  }

  .footer-main {
    padding: 44px 0 28px;
  }

  .footer-links li {
    margin-bottom: 7px;
  }
}

@media (max-width: 575.98px) {
  body {
    font-size: 15px;
    line-height: 1.75;
  }

  .main-nav .navbar {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .navbar-brand {
    gap: 8px;
  }

  .brand-kicker {
    font-size: 1.25rem;
  }

  .brand-sub {
    font-size: .88rem;
  }

  .brand-tip {
    display: none;
  }

  .category-banner {
    min-height: auto;
    padding: 52px 0 44px;
  }

  .breadcrumb-wrap {
    margin-bottom: 20px;
  }

  .breadcrumb-item,
  .breadcrumb-item a {
    font-size: 12px;
  }

  .hero-lead {
    font-size: 15px;
    line-height: 1.85;
    margin: 18px 0 24px;
  }

  .hero-actions {
    gap: 10px;
  }

  .hero-actions .btn-main,
  .hero-actions .btn-ghost {
    width: 100%;
  }

  .hero-metrics {
    display: block;
    margin-top: 34px;
  }

  .metric-item {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
  }

  .metric-item:last-child {
    border-bottom: 0;
  }

  .metric-number {
    min-width: 70px;
  }

  .section-title {
    font-size: 1.6rem;
  }

  .scene-card {
    padding: 22px;
  }

  .resource-card {
    min-height: 300px;
  }

  .resource-body {
    padding: 21px;
  }

  .resource-body h3 {
    font-size: 1.25rem;
  }

  .fix-step {
    padding-left: 0;
    padding-bottom: 28px;
  }

  .fix-step:not(:last-child)::before {
    left: 20px;
  }

  .step-no {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }

  .fix-step h3 {
    padding-left: 52px;
  }

  .fix-step p {
    padding-top: 10px;
    padding-left: 52px;
  }

  .accordion-button {
    font-size: 15px;
    line-height: 1.6;
    padding: 16px 16px;
  }

  .accordion-body {
    padding: 4px 17px 19px;
    font-size: 14px;
  }

  .cta-section {
    padding: 44px 0;
  }
}
