/* roulang page: index */
:root{
            --bg:#111016;
            --bg-soft:#181720;
            --panel:#201e2a;
            --panel-2:#282532;
            --line:#393545;
            --text:#f6f3fb;
            --muted:#aaa5b8;
            --purple:#9b6cff;
            --purple-dark:#7445d8;
            --green:#b8f36a;
            --green-dark:#83bf35;
            --orange:#ffb45e;
            --radius:14px;
            --shadow:0 18px 50px rgba(0,0,0,.24);
            --container:1200px;
        }
        *,*:before,*:after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            background:
                linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
                linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
                var(--bg);
            background-size:32px 32px;
            color:var(--text);
            font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
            line-height:1.7;
            font-size:16px;
        }
        body:after{
            content:"";
            position:fixed;inset:0;pointer-events:none;opacity:.06;
            background-image:radial-gradient(#fff .6px,transparent .7px);
            background-size:5px 5px;
        }
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:auto}
        .site-header{
            position:sticky;top:0;z-index:20;
            background:rgba(17,16,22,.9);
            border-bottom:1px solid rgba(255,255,255,.08);
            backdrop-filter:blur(16px);
        }
        .header-inner{height:76px;display:flex;align-items:center;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.4px}
        .brand-mark{
            width:38px;height:38px;border:2px solid var(--purple);border-radius:11px;
            display:grid;place-items:center;color:var(--green);position:relative;
            box-shadow:0 0 20px rgba(155,108,255,.25)
        }
        .brand-mark:before{content:"◆";font-size:14px}
        .brand-name{font-size:18px}
        .brand-name strong{color:var(--purple)}
        .main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
        .main-nav a{
            color:var(--muted);padding:9px 12px;border-radius:8px;font-size:14px;
            transition:.2s ease;white-space:nowrap
        }
        .main-nav a:hover,.main-nav a.active{color:var(--text);background:rgba(155,108,255,.13)}
        .main-nav a.active{box-shadow:inset 0 -2px var(--purple)}
        .header-action,.btn{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            border:0;border-radius:9px;padding:12px 18px;font-weight:700;
            transition:transform .2s,box-shadow .2s,background .2s;color:#17131f
        }
        .header-action,.btn-primary{background:var(--green);box-shadow:0 8px 24px rgba(184,243,106,.14)}
        .header-action:hover,.btn-primary:hover{background:#ccff86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(184,243,106,.23)}
        .menu-toggle{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 11px}
        .hero{padding:92px 0 76px;position:relative;overflow:hidden}
        .hero:before{
            content:"";position:absolute;width:460px;height:460px;border-radius:50%;
            background:rgba(121,73,216,.17);filter:blur(80px);right:-150px;top:-180px
        }
        .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
        .eyebrow,.section-kicker{
            color:var(--green);font-size:13px;font-weight:800;letter-spacing:1.5px;
            text-transform:uppercase;margin:0 0 17px
        }
        h1,h2,h3,p{margin-top:0}
        h1{font-size:clamp(34px,4.7vw,64px);line-height:1.13;letter-spacing:-2px;margin-bottom:22px;max-width:720px}
        .hero-copy{font-size:18px;color:var(--muted);max-width:650px;margin-bottom:30px}
        .hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
        .btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text)}
        .btn-secondary:hover{border-color:var(--purple);background:rgba(155,108,255,.12);transform:translateY(-2px)}
        .hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
        .tag,.badge{
            display:inline-flex;align-items:center;border:1px solid #4a435c;border-radius:999px;
            padding:5px 10px;color:#d4cfdf;font-size:12px;background:rgba(255,255,255,.03)
        }
        .tag:before{content:"";width:6px;height:6px;background:var(--purple);border-radius:50%;margin-right:7px}
        .screen-stage{min-height:390px;position:relative;display:grid;place-items:center}
        .screen-backdrop{
            width:100%;height:300px;border:1px solid var(--line);border-radius:22px;
            background:linear-gradient(135deg,#282137,#17161e 70%);
            transform:rotate(3deg);box-shadow:var(--shadow);position:absolute
        }
        .screen{
            width:min(430px,88%);position:relative;border:1px solid #574b74;border-radius:17px;
            background:#15141c;padding:16px;box-shadow:0 20px 55px rgba(0,0,0,.5)
        }
        .screen-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line);padding-bottom:13px}
        .screen-title{font-size:18px;font-weight:800;margin:24px 0 14px}
        .game-preview{height:138px;border-radius:11px;background:#30265d;position:relative;overflow:hidden;padding:18px}
        .game-preview:after{content:"PG";position:absolute;right:18px;bottom:-22px;font-size:104px;font-weight:900;color:rgba(184,243,106,.12)}
        .game-preview span{position:relative;z-index:1;color:var(--green);font-weight:800}
        .screen-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
        .screen-item{height:54px;background:var(--panel-2);border-radius:8px;border:1px solid var(--line);padding:9px;font-size:11px;color:var(--muted)}
        .screen-item b{display:block;color:var(--text);font-size:13px}
        .section{padding:78px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}
        h2{font-size:clamp(27px,3vw,40px);line-height:1.2;letter-spacing:-1px;margin-bottom:9px}
        .section-intro{color:var(--muted);max-width:580px;margin:0}
        .text-link{color:var(--green);font-weight:700;white-space:nowrap}
        .text-link:hover{color:#ddffae}
        .feature-layout{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:16px}
        .feature-card,.info-card,.download-panel,.faq-item,.news-list,.proof-panel{
            background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)
        }
        .feature-card{padding:30px;min-height:250px;position:relative;overflow:hidden}
        .feature-card.large{background:linear-gradient(145deg,#292139,#211e2a)}
        .feature-card.large:after{content:"◎";position:absolute;right:18px;bottom:-45px;color:rgba(155,108,255,.2);font-size:190px}
        .feature-card h3,.info-card h3{font-size:20px;margin:20px 0 9px}
        .feature-card p,.info-card p{color:var(--muted);font-size:14px;margin-bottom:0}
        .icon-box{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:rgba(184,243,106,.12);color:var(--green);font-size:20px}
        .feature-card:not(.large) .icon-box{background:rgba(155,108,255,.14);color:var(--purple)}
        .intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
        .check-list{padding:0;margin:25px 0 0;list-style:none}
        .check-list li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:#dcd8e4}
        .check-list li:before{content:"✓";color:var(--green);font-weight:900}
        .interface-card{padding:24px;background:#17161e;border:1px solid var(--line);border-radius:18px;position:relative}
        .interface-head{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:18px}
        .interface-main{display:grid;grid-template-columns:110px 1fr;gap:15px}
        .side-menu div{height:35px;border-radius:7px;margin-bottom:7px;background:var(--panel);color:var(--muted);font-size:12px;padding:7px 10px}
        .side-menu div:first-child{color:var(--text);background:var(--purple-dark)}
        .interface-content{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
        .tile{height:105px;border-radius:10px;background:linear-gradient(145deg,#45328a,#252039);padding:12px;font-size:12px;color:#f1edff}
        .tile:nth-child(2){background:linear-gradient(145deg,#37675d,#243333)}
        .tile:nth-child(3){background:linear-gradient(145deg,#79522d,#33251e)}
        .tile:nth-child(4){background:linear-gradient(145deg,#493b68,#272230)}
        .download-panel{padding:37px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:linear-gradient(110deg,#292139,#211e2a)}
        .download-panel p{color:var(--muted);max-width:680px;margin-bottom:20px}
        .download-side{display:flex;align-items:center;gap:18px}
        .qr{width:104px;height:104px;border-radius:9px;background-color:#f5f2e9;background-image:linear-gradient(45deg,#19151e 25%,transparent 25%,transparent 75%,#19151e 75%),linear-gradient(45deg,#19151e 25%,transparent 25%,transparent 75%,#19151e 75%);background-size:18px 18px;background-position:0 0,9px 9px;position:relative}
        .qr:after{content:"扫码";position:absolute;inset:38px 25px;background:#f5f2e9;color:#17131f;font-size:12px;font-weight:800;text-align:center;line-height:28px}
        .device-note{font-size:12px;color:var(--muted);line-height:1.8}
        .news-layout{display:grid;grid-template-columns:260px 1fr;gap:28px}
        .news-aside{padding:26px 0}
        .news-aside p{color:var(--muted);font-size:14px}
        .news-list{overflow:hidden}
        .news-item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 25px;border-bottom:1px solid var(--line);transition:.2s}
        .news-item:last-child{border-bottom:0}
        .news-item:hover{background:rgba(155,108,255,.08)}
        .news-meta{display:flex;gap:9px;align-items:center;margin-bottom:7px;color:var(--muted);font-size:12px}
        .news-item h3{font-size:17px;margin:0 0 5px}
        .news-item p{color:var(--muted);font-size:13px;margin:0;max-width:670px}
        .news-date{color:#80798d;font-size:12px;white-space:nowrap;padding-top:4px}
        .empty-state{padding:35px;text-align:center;color:var(--muted)}
        .faq-grid{max-width:900px;margin:auto}
        .faq-item{margin-bottom:10px;overflow:hidden}
        .faq-item summary{list-style:none;padding:19px 22px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;gap:20px}
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-item summary:after{content:"+";color:var(--green);font-size:22px;line-height:1}
        .faq-item[open] summary{color:var(--green);background:rgba(155,108,255,.08)}
        .faq-item[open] summary:after{content:"−"}
        .faq-answer{padding:0 22px 20px;color:var(--muted);font-size:14px}
        .cta{padding:42px 48px;border-radius:18px;background:var(--purple-dark);display:flex;justify-content:space-between;align-items:center;gap:30px;overflow:hidden;position:relative}
        .cta:after{content:"PG";position:absolute;right:30px;bottom:-42px;color:rgba(255,255,255,.1);font-size:150px;font-weight:900}
        .cta h2{position:relative;z-index:1;margin-bottom:8px}.cta p{position:relative;z-index:1;color:#e4dafd;margin:0}
        .cta .btn{position:relative;z-index:2;background:var(--green);min-width:130px}
        .site-footer{padding:45px 0 25px;border-top:1px solid var(--line);background:#0d0c11}
        .footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:35px;padding-bottom:38px}
        .footer-grid h3{font-size:14px;margin:4px 0 14px;color:var(--text)}
        .footer-grid p,.footer-grid a{font-size:13px;color:var(--muted)}
        .footer-grid a{display:block;margin:8px 0}.footer-grid a:hover{color:var(--green)}
        .footer-brand p{max-width:290px;margin-top:15px}
        .footer-bottom{padding-top:19px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#777180;font-size:12px;gap:15px}
        :focus-visible{outline:3px solid var(--green);outline-offset:3px}
        @media(max-width:1024px){
            .main-nav{gap:0}.main-nav a{padding:8px 8px;font-size:13px}
            .hero-grid{gap:35px}.feature-layout{grid-template-columns:1fr 1fr}.feature-card.large{grid-column:span 2}
            .intro-grid{gap:35px}
        }
        @media(max-width:768px){
            .container{width:min(100% - 32px,var(--container))}
            .header-inner{height:68px;gap:12px}.brand-name{font-size:16px}.header-action{padding:9px 12px;font-size:13px;margin-left:auto}
            .menu-toggle{display:block}
            .main-nav{display:none;position:absolute;top:68px;left:16px;right:16px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}
            .main-nav.open{display:flex}.main-nav a{padding:12px 14px}
            .hero{padding:58px 0 42px}.hero-grid,.intro-grid{grid-template-columns:1fr}
            .screen-stage{min-height:300px}.screen{width:90%}.screen-backdrop{height:230px}
            .section{padding:52px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:14px}
            .news-layout{grid-template-columns:1fr;gap:8px}.news-aside{padding:0}.news-list{margin-top:8px}
            .download-panel{grid-template-columns:1fr;padding:27px}.download-side{justify-content:space-between}
            .cta{display:block;padding:32px 25px}.cta .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}
            .footer-brand{grid-column:span 2}
        }
        @media(max-width:520px){
            h1{font-size:35px;letter-spacing:-1.4px}.hero-copy{font-size:16px}
            .hero-buttons .btn{width:100%}.feature-layout{grid-template-columns:1fr}.feature-card.large{grid-column:auto}
            .interface-main{grid-template-columns:1fr}.side-menu{display:flex;gap:7px}.side-menu div{flex:1;margin:0;text-align:center}
            .news-item{grid-template-columns:1fr;padding:18px}.news-date{display:none}
            .download-side{align-items:flex-start;flex-direction:column}.qr{width:112px;height:112px}
            .footer-grid{grid-template-columns:1fr;gap:20px}.footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
        }

/* roulang page: article */
:root{
            --bg:#111016;
            --bg-soft:#181720;
            --panel:#201e2a;
            --panel-2:#282532;
            --line:#393545;
            --text:#f6f3fb;
            --muted:#aaa5b8;
            --purple:#9b6cff;
            --purple-dark:#7445d8;
            --green:#b8f36a;
            --green-dark:#83bf35;
            --orange:#ffb45e;
            --radius:14px;
            --shadow:0 18px 50px rgba(0,0,0,.24);
            --container:1200px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;color:var(--text);background:
            linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
            linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),var(--bg);
            background-size:32px 32px;
            font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
            font-size:16px;line-height:1.75;
        }
        body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.045;background-image:radial-gradient(#fff .6px,transparent .7px);background-size:5px 5px}
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%;height:auto}
        button,input{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:auto}
        .site-header{position:sticky;top:0;z-index:20;background:rgba(17,16,22,.92);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}
        .header-inner{height:76px;display:flex;align-items:center;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.4px}
        .brand-mark{width:38px;height:38px;border:2px solid var(--purple);border-radius:11px;display:grid;place-items:center;color:var(--green);box-shadow:0 0 20px rgba(155,108,255,.25)}
        .brand-mark:before{content:"◆";font-size:14px}
        .brand-name{font-size:18px}.brand-name strong{color:var(--purple)}
        .main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
        .main-nav a{color:var(--muted);padding:9px 12px;border-radius:8px;font-size:14px;white-space:nowrap;transition:.2s ease}
        .main-nav a:hover,.main-nav a.active{color:var(--text);background:rgba(155,108,255,.13)}
        .main-nav a.active{box-shadow:inset 0 -2px var(--purple)}
        .header-action,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:12px 18px;font-weight:700;transition:.2s;color:#17131f}
        .header-action,.btn-primary{background:var(--green);box-shadow:0 8px 24px rgba(184,243,106,.14)}
        .header-action:hover,.btn-primary:hover{background:#ccff86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(184,243,106,.23)}
        .menu-toggle{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 11px}
        .page-hero{padding:78px 0 54px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
        .page-hero:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:rgba(121,73,216,.16);filter:blur(85px);right:-140px;top:-180px}
        .breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;margin-bottom:28px}
        .breadcrumb a:hover{color:var(--green)}
        .breadcrumb span{color:#5d586b}
        .eyebrow,.section-kicker{color:var(--green);font-size:13px;font-weight:800;letter-spacing:1.5px;margin:0 0 14px}
        .page-hero h1{position:relative;max-width:840px;font-size:clamp(32px,5vw,58px);line-height:1.2;letter-spacing:-1.5px;margin:0 0 22px}
        .hero-summary{position:relative;color:var(--muted);max-width:760px;font-size:18px;margin:0}
        .article-meta{position:relative;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:25px;color:var(--muted);font-size:13px}
        .badge{display:inline-flex;align-items:center;border:1px solid #4a435c;border-radius:999px;padding:4px 11px;color:#d4cfdf;font-size:12px;background:rgba(255,255,255,.03)}
        .badge.purple{color:#d8c8ff;border-color:rgba(155,108,255,.5);background:rgba(155,108,255,.1)}
        .article-section{padding:62px 0 88px}
        .article-layout{display:grid;grid-template-columns:minmax(0,780px) 300px;gap:52px;align-items:start}
        .article-body{min-width:0;background:rgba(32,30,42,.74);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,5vw,52px);box-shadow:var(--shadow)}
        .article-body h2{font-size:29px;line-height:1.35;margin:38px 0 15px;color:var(--text)}
        .article-body h3{font-size:21px;line-height:1.45;margin:28px 0 12px;color:#eee9f7}
        .article-body p{color:#d0cbd9;margin:0 0 20px}
        .article-body ul,.article-body ol{color:#d0cbd9;padding-left:25px;margin:12px 0 24px}
        .article-body li{padding:4px 0}
        .article-body blockquote{margin:28px 0;padding:18px 22px;border-left:3px solid var(--purple);background:rgba(155,108,255,.09);border-radius:0 10px 10px 0;color:#e6ddf7}
        .article-body table{width:100%;border-collapse:collapse;margin:24px 0;color:#d0cbd9;overflow:hidden}
        .article-body th,.article-body td{border:1px solid var(--line);padding:11px 13px;text-align:left}
        .article-body th{background:var(--panel-2);color:var(--text)}
        .article-body img{border-radius:10px;border:1px solid var(--line);margin:24px auto}
        .article-body a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
        .article-aside{position:sticky;top:98px}
        .aside-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:16px}
        .aside-card h2{font-size:18px;margin:0 0 15px}
        .aside-links{display:grid;gap:8px}
        .aside-links a{padding:10px 12px;border-radius:8px;color:var(--muted);font-size:14px;border:1px solid transparent}
        .aside-links a:hover{color:var(--text);border-color:var(--line);background:var(--panel-2)}
        .download-aside{background:linear-gradient(145deg,#2b2141,#201e2a);border-color:#55427d}
        .download-aside p{color:var(--muted);font-size:14px;margin:8px 0 18px}
        .download-aside .btn{width:100%}
        .article-empty{text-align:center;padding:52px 20px}
        .article-empty h2{margin:0 0 10px;font-size:27px}
        .article-empty p{color:var(--muted);margin-bottom:22px}
        .related-section{padding:0 0 78px}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}
        .section-head h2{font-size:30px;line-height:1.3;margin:0}
        .section-intro{color:var(--muted);max-width:570px;margin:0}
        .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
        .related-card{padding:23px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:.2s}
        .related-card:hover{transform:translateY(-4px);border-color:var(--purple);box-shadow:0 12px 30px rgba(0,0,0,.2)}
        .related-card h3{font-size:18px;line-height:1.45;margin:14px 0 9px}
        .related-card p{color:var(--muted);font-size:14px;margin:0 0 16px}
        .text-link{color:var(--green);font-weight:700;font-size:14px}.text-link:hover{color:#ddffae}
        .download-cta{padding:30px 0 82px}
        .cta-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 40px;border:1px solid #55427d;border-radius:var(--radius);background:linear-gradient(105deg,rgba(116,69,216,.25),rgba(32,30,42,.9))}
        .cta-panel h2{font-size:27px;margin:0 0 7px}.cta-panel p{color:var(--muted);margin:0}
        .site-footer{padding:58px 0 22px;border-top:1px solid rgba(255,255,255,.08);background:#0d0c11}
        .footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:35px}
        .footer-brand p{color:var(--muted);font-size:14px;max-width:320px;margin:17px 0 0}
        .footer-grid h3{font-size:15px;margin:3px 0 13px}
        .footer-grid>div:not(.footer-brand) a{display:block;color:var(--muted);font-size:13px;padding:3px 0}
        .footer-grid>div:not(.footer-brand) a:hover{color:var(--green)}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:38px;padding-top:18px;color:#777284;font-size:12px}
        :focus-visible{outline:3px solid rgba(184,243,106,.65);outline-offset:3px}
        @media(max-width:1024px){
            .header-inner{gap:14px}.main-nav a{padding:8px 7px;font-size:13px}
            .article-layout{grid-template-columns:minmax(0,1fr) 255px;gap:24px}
        }
        @media(max-width:768px){
            .container{width:min(var(--container),calc(100% - 32px))}
            .header-inner{height:68px}.menu-toggle{display:block;margin-left:auto}
            .header-action{padding:9px 12px;font-size:13px}.main-nav{display:none;position:absolute;left:16px;right:16px;top:74px;margin:0;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
            .main-nav.open{display:flex}.main-nav a{padding:11px 13px}
            .page-hero{padding:55px 0 42px}.article-layout{display:block}.article-aside{position:static;margin-top:25px}
            .related-grid{grid-template-columns:1fr}.cta-panel{align-items:flex-start;flex-direction:column;padding:27px}
            .footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}
        }
        @media(max-width:520px){
            .page-hero h1{font-size:34px}.hero-summary{font-size:16px}
            .article-section{padding:35px 0 55px}.article-body{padding:22px 18px}.article-body h2{font-size:24px}
            .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:6px}
        }

/* roulang page: category1 */
:root{
            --bg:#111016;--bg-soft:#181720;--panel:#201e2a;--panel-2:#282532;
            --line:#393545;--text:#f6f3fb;--muted:#aaa5b8;--purple:#9b6cff;
            --purple-dark:#7445d8;--green:#b8f36a;--green-dark:#83bf35;
            --orange:#ffb45e;--radius:14px;--shadow:0 18px 50px rgba(0,0,0,.24);
            --container:1200px
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{margin:0;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),var(--bg);background-size:32px 32px;color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;line-height:1.7;font-size:16px}
        body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.05;background-image:radial-gradient(#fff .6px,transparent .7px);background-size:5px 5px}
        a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input{font:inherit}button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:auto}
        .site-header{position:sticky;top:0;z-index:20;background:rgba(17,16,22,.92);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}
        .header-inner{height:76px;display:flex;align-items:center;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.4px}
        .brand-mark{width:38px;height:38px;border:2px solid var(--purple);border-radius:11px;display:grid;place-items:center;color:var(--green);box-shadow:0 0 20px rgba(155,108,255,.25)}
        .brand-mark:before{content:"◆";font-size:14px}.brand-name{font-size:18px}.brand-name strong{color:var(--purple)}
        .main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
        .main-nav a{color:var(--muted);padding:9px 12px;border-radius:8px;font-size:14px;transition:.2s;white-space:nowrap}
        .main-nav a:hover,.main-nav a.active{color:var(--text);background:rgba(155,108,255,.13)}
        .main-nav a.active{box-shadow:inset 0 -2px var(--purple)}
        .header-action,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:12px 18px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;color:#17131f}
        .header-action,.btn-primary{background:var(--green);box-shadow:0 8px 24px rgba(184,243,106,.14)}
        .header-action:hover,.btn-primary:hover{background:#ccff86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(184,243,106,.23)}
        .menu-toggle{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 11px}
        .page-hero{padding:78px 0 62px;border-bottom:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden}
        .page-hero:after{content:"PG";position:absolute;right:8%;top:-45px;font-size:230px;font-weight:900;color:rgba(155,108,255,.055);pointer-events:none}
        .eyebrow,.section-kicker{color:var(--green);font-size:13px;font-weight:800;letter-spacing:1.5px;margin:0 0 14px}
        h1,h2,h3{line-height:1.25;letter-spacing:-.7px}h1{font-size:clamp(38px,5vw,68px);max-width:790px;margin:0 0 20px}h2{font-size:clamp(28px,3vw,42px);margin:0 0 14px}h3{font-size:20px;margin:0 0 10px}
        .hero-copy,.section-intro{color:var(--muted);max-width:700px;font-size:18px;margin:0}
        .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text)}
        .btn-secondary:hover{border-color:var(--purple);background:rgba(155,108,255,.12);transform:translateY(-2px)}
        .hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.tag,.badge{display:inline-flex;align-items:center;border:1px solid #4a435c;border-radius:999px;padding:5px 10px;color:#d4cfdf;font-size:12px;background:rgba(255,255,255,.03)}
        .tag:before{content:"";width:6px;height:6px;background:var(--purple);border-radius:50%;margin-right:7px}
        .section{padding:78px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}
        .section-kicker{margin-bottom:12px}.feature-layout{display:grid;grid-template-columns:1.25fr .85fr .85fr;gap:16px}
        .feature-card,.info-card,.download-panel,.faq-item,.step-card,.notice-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
        .feature-card{padding:30px;min-height:250px;position:relative;overflow:hidden;transition:.25s}.feature-card:hover,.info-card:hover,.step-card:hover{transform:translateY(-4px);border-color:#65558a;box-shadow:var(--shadow)}
        .feature-card.large{background:linear-gradient(145deg,#292139,#211e2a)}.feature-card.large:after{content:"◎";position:absolute;right:16px;bottom:-45px;color:rgba(155,108,255,.2);font-size:190px}
        .icon-box{width:46px;height:46px;border-radius:12px;background:rgba(184,243,106,.12);color:var(--green);display:grid;place-items:center;font-size:22px;font-weight:800}
        .feature-card p,.info-card p,.step-card p{color:var(--muted);font-size:14px;margin:0}
        .split{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
        .check-list{padding:0;margin:25px 0 0;list-style:none}.check-list li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);color:#dcd8e4}.check-list li:before{content:"✓";color:var(--green);font-weight:900}
        .interface-card{padding:24px;background:#17161e;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
        .interface-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:18px}.status{color:var(--green);font-size:12px}.interface-grid{display:grid;grid-template-columns:110px 1fr;gap:15px}.side-menu div{height:35px;border-radius:7px;margin-bottom:7px;background:var(--panel);color:var(--muted);font-size:12px;padding:6px 9px}.side-menu div.current{color:var(--text);background:rgba(155,108,255,.2)}
        .screen-main{min-height:230px;border:1px solid var(--line);border-radius:11px;padding:17px;background:linear-gradient(135deg,rgba(155,108,255,.17),rgba(184,243,106,.05))}
        .screen-main h3{font-size:17px}.screen-lines{display:grid;gap:9px;margin-top:18px}.screen-lines span{height:10px;border-radius:10px;background:#393343}.screen-lines span:nth-child(1){width:85%;background:var(--purple)}.screen-lines span:nth-child(2){width:66%}.screen-lines span:nth-child(3){width:76%;background:rgba(184,243,106,.55)}
        .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step-card{padding:23px;transition:.25s}.step-no{color:var(--purple);font-size:30px;font-weight:900;margin-bottom:20px}
        .download-panel{padding:34px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:linear-gradient(110deg,#282039,#211e2a)}
        .download-panel p{color:var(--muted);margin:0 0 20px}.device-labels{display:flex;gap:8px;flex-wrap:wrap}.device-labels span{border:1px solid var(--line);padding:5px 10px;border-radius:6px;color:#dcd8e4;font-size:12px}
        .qr{width:128px;height:128px;border:8px solid #f4f1e8;background:repeating-linear-gradient(45deg,#17161e 0 5px,#f4f1e8 5px 9px);position:relative}.qr:after{content:"扫码";position:absolute;inset:38px 22px;background:#f4f1e8;color:#17161e;display:grid;place-items:center;font-size:13px;font-weight:800}
        .notice-panel{padding:24px;border-left:4px solid var(--orange);color:#d9d4e0}.notice-panel strong{color:var(--orange)}
        .faq-list{display:grid;gap:10px;max-width:900px}.faq-item{overflow:hidden}.faq-item summary{padding:20px 23px;cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary:after{content:"+";color:var(--green);font-size:22px}.faq-item[open] summary:after{content:"−"}.faq-answer{padding:0 23px 20px;color:var(--muted);font-size:14px}
        .cta{padding:46px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:35px 40px;border:1px solid rgba(155,108,255,.45);border-radius:18px;background:rgba(155,108,255,.1)}.cta-inner p{color:var(--muted);margin:0}
        .site-footer{padding:60px 0 25px;border-top:1px solid rgba(255,255,255,.08);background:rgba(10,9,13,.7)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px}.footer-brand p{color:var(--muted);font-size:14px;max-width:310px;margin-top:17px}.site-footer h3{font-size:15px;margin-bottom:15px}.site-footer> .container> .footer-grid>div:not(.footer-brand) a{display:block;color:var(--muted);font-size:14px;padding:3px 0}.site-footer a:hover{color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:42px;padding-top:20px;color:#817b8d;font-size:12px}
        a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}
        @media(max-width:1024px){.main-nav{gap:0}.main-nav a{padding:8px 8px;font-size:13px}.header-inner{gap:15px}.feature-layout{grid-template-columns:1fr 1fr}.feature-card.large{grid-column:span 2}.split{gap:35px}}
        @media(max-width:768px){.container{width:min(var(--container),calc(100% - 32px))}.header-inner{height:68px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;left:16px;right:16px;top:75px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:12px}.header-action{display:none}.page-hero{padding:58px 0 48px}.page-hero:after{font-size:150px;right:-15px}.section{padding:52px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:15px}.split{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.download-panel{grid-template-columns:1fr}.qr{margin-top:4px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}.cta-inner{display:block;padding:28px}.cta-inner .btn{margin-top:20px}}
        @media(max-width:520px){h1{font-size:38px}.hero-copy{font-size:16px}.feature-layout{grid-template-columns:1fr}.feature-card.large{grid-column:auto}.steps{grid-template-columns:1fr}.download-panel{padding:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-brand{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}}

/* roulang page: category3 */
:root{
            --bg:#111016;
            --bg-soft:#181720;
            --panel:#201e2a;
            --panel-2:#282532;
            --line:#393545;
            --text:#f6f3fb;
            --muted:#aaa5b8;
            --purple:#9b6cff;
            --purple-dark:#7445d8;
            --green:#b8f36a;
            --green-dark:#83bf35;
            --orange:#ffb45e;
            --radius:14px;
            --shadow:0 18px 50px rgba(0,0,0,.24);
            --container:1200px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            background:
                linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
                linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
                var(--bg);
            background-size:32px 32px;
            color:var(--text);
            font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
            line-height:1.7;
            font-size:16px;
        }
        body:after{
            content:"";
            position:fixed;
            inset:0;
            pointer-events:none;
            opacity:.045;
            background-image:radial-gradient(#fff .6px,transparent .7px);
            background-size:5px 5px;
            z-index:30;
        }
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:auto}
        .site-header{
            position:sticky;
            top:0;
            z-index:20;
            background:rgba(17,16,22,.92);
            border-bottom:1px solid rgba(255,255,255,.08);
            backdrop-filter:blur(16px);
        }
        .header-inner{height:76px;display:flex;align-items:center;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.4px}
        .brand-mark{
            width:38px;height:38px;border:2px solid var(--purple);border-radius:11px;
            display:grid;place-items:center;color:var(--green);position:relative;
            box-shadow:0 0 20px rgba(155,108,255,.25)
        }
        .brand-mark:before{content:"◆";font-size:14px}
        .brand-name{font-size:18px}
        .brand-name strong{color:var(--purple)}
        .main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
        .main-nav a{
            color:var(--muted);padding:9px 12px;border-radius:8px;font-size:14px;
            transition:.2s ease;white-space:nowrap
        }
        .main-nav a:hover,.main-nav a.active{color:var(--text);background:rgba(155,108,255,.13)}
        .main-nav a.active{box-shadow:inset 0 -2px var(--purple)}
        .header-action,.btn{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            border:0;border-radius:9px;padding:12px 18px;font-weight:700;
            transition:transform .2s,box-shadow .2s,background .2s;color:#17131f
        }
        .header-action,.btn-primary{background:var(--green);box-shadow:0 8px 24px rgba(184,243,106,.14)}
        .header-action:hover,.btn-primary:hover{background:#ccff86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(184,243,106,.23)}
        .menu-toggle{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 11px}
        .hero{
            padding:86px 0 68px;
            position:relative;
            overflow:hidden;
            border-bottom:1px solid rgba(255,255,255,.05)
        }
        .hero:before{
            content:"";position:absolute;width:480px;height:480px;border-radius:50%;
            background:rgba(121,73,216,.17);filter:blur(85px);right:-160px;top:-170px
        }
        .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}
        .eyebrow,.section-kicker{
            color:var(--green);font-size:13px;font-weight:800;letter-spacing:1.5px;
            margin:0 0 17px
        }
        h1,h2,h3,p{margin-top:0}
        h1{font-size:clamp(38px,5vw,66px);line-height:1.12;letter-spacing:-2px;margin-bottom:22px}
        h2{font-size:clamp(28px,3.4vw,43px);line-height:1.2;letter-spacing:-1px;margin-bottom:14px}
        h3{line-height:1.35}
        .hero-copy{font-size:18px;color:var(--muted);max-width:650px;margin-bottom:30px}
        .hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
        .btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text)}
        .btn-secondary:hover{border-color:var(--purple);background:rgba(155,108,255,.12);transform:translateY(-2px)}
        .hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
        .tag,.badge{
            display:inline-flex;align-items:center;border:1px solid #4a435c;border-radius:999px;
            padding:5px 10px;color:#d4cfdf;font-size:12px;background:rgba(255,255,255,.03)
        }
        .tag:before{content:"";width:6px;height:6px;background:var(--purple);border-radius:50%;margin-right:7px}
        .app-preview{
            min-height:390px;
            padding:24px;
            position:relative;
            border:1px solid var(--line);
            border-radius:24px;
            background:linear-gradient(145deg,#292139,#191820 70%);
            box-shadow:var(--shadow);
            overflow:hidden;
        }
        .app-preview:after{
            content:"PG";
            position:absolute;
            right:-15px;
            bottom:-65px;
            color:rgba(155,108,255,.12);
            font-size:190px;
            font-weight:900;
            line-height:1
        }
        .preview-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}
        .preview-logo{display:flex;align-items:center;gap:9px;font-weight:800}
        .preview-dot{width:12px;height:12px;border-radius:4px;background:var(--green);box-shadow:0 0 15px var(--green)}
        .preview-status{font-size:12px;color:var(--green)}
        .preview-screen{position:relative;z-index:1;margin-top:24px;padding:22px;border-radius:16px;background:#15141b;border:1px solid #423959}
        .preview-label{color:var(--muted);font-size:12px;margin-bottom:9px}
        .preview-title{font-size:27px;font-weight:800;margin-bottom:20px}
        .preview-bars{display:grid;gap:10px}
        .preview-bar{height:12px;background:#302b3b;border-radius:99px;overflow:hidden}
        .preview-bar span{display:block;height:100%;background:var(--purple);border-radius:99px}
        .preview-bar:nth-child(2) span{background:var(--green);width:72%!important}
        .preview-bar:nth-child(3) span{width:48%!important;background:var(--orange)}
        .preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}
        .preview-tile{height:64px;border:1px solid #40384d;border-radius:9px;background:linear-gradient(135deg,#312641,#25202d);display:flex;align-items:end;padding:8px;font-size:11px;color:#d8d1e4}
        .preview-note{position:relative;z-index:1;margin:19px 0 0;color:var(--muted);font-size:13px}
        .section{padding:78px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}
        .section-intro{color:var(--muted);max-width:590px;margin:0}
        .download-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch}
        .download-panel,.info-card,.step-card,.faq-item,.cta-panel{
            background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)
        }
        .download-panel{padding:34px;position:relative;overflow:hidden}
        .download-panel.featured{background:linear-gradient(135deg,#2b2140,#201e2a 67%)}
        .download-panel.featured:before{content:"";position:absolute;right:-50px;top:-60px;width:210px;height:210px;border:1px solid rgba(184,243,106,.3);border-radius:50%}
        .download-panel h2{max-width:620px}
        .download-panel p{color:var(--muted);max-width:650px}
        .device-row{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
        .device{border:1px solid #514866;border-radius:8px;padding:8px 13px;font-size:13px;color:#ddd8e8;background:rgba(255,255,255,.035)}
        .download-actions{display:flex;gap:12px;flex-wrap:wrap}
        .qr-panel{padding:34px;display:flex;align-items:center;gap:25px;background:#1a1921}
        .qr-code{
            width:124px;height:124px;flex:0 0 124px;border:8px solid #f4f0f8;border-radius:9px;
            background:
              linear-gradient(90deg,#17151d 12%,transparent 12% 24%,#17151d 24% 36%,transparent 36% 49%,#17151d 49% 62%,transparent 62% 76%,#17151d 76%),
              linear-gradient(#17151d 12%,transparent 12% 24%,#17151d 24% 36%,transparent 36% 49%,#17151d 49% 62%,transparent 62% 76%,#17151d 76%);
            box-shadow:0 0 0 1px var(--line)
        }
        .qr-panel h3{font-size:20px;margin-bottom:9px}
        .qr-panel p{color:var(--muted);font-size:14px;margin:0}
        .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
        .info-card{padding:26px;min-height:190px;transition:.2s ease}
        .info-card:hover,.step-card:hover{transform:translateY(-4px);border-color:#66548d;box-shadow:var(--shadow)}
        .icon-box{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:rgba(155,108,255,.15);color:var(--purple);font-size:21px;font-weight:800}
        .info-card h3{font-size:19px;margin:19px 0 8px}
        .info-card p{font-size:14px;color:var(--muted);margin-bottom:0}
        .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
        .step-card{padding:25px 22px;position:relative}
        .step-number{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--purple);color:#fff;font-weight:800;margin-bottom:22px}
        .step-card h3{font-size:17px;margin-bottom:8px}
        .step-card p{font-size:14px;color:var(--muted);margin:0}
        .notice{
            margin-top:20px;padding:17px 20px;border-left:3px solid var(--orange);
            background:rgba(255,180,94,.07);color:#d8ced0;border-radius:0 9px 9px 0;font-size:14px
        }
        .faq-wrap{max-width:900px;margin:auto}
        .faq-item{margin-bottom:11px;overflow:hidden;transition:.2s ease}
        .faq-item[open]{border-color:#5e4b84;background:#24202f}
        .faq-item summary{list-style:none;padding:20px 23px;font-weight:700;cursor:pointer;position:relative;padding-right:55px}
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-item summary:after{content:"+";position:absolute;right:22px;color:var(--green);font-size:24px;line-height:1;top:18px}
        .faq-item[open] summary:after{content:"−"}
        .faq-answer{padding:0 23px 21px;color:var(--muted);font-size:14px;border-top:1px solid rgba(255,255,255,.06)}
        .faq-answer p{margin:15px 0 0}
        .cta-panel{padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(105deg,#2d2341,#211e2a)}
        .cta-panel h2{margin-bottom:9px}
        .cta-panel p{color:var(--muted);margin:0}
        .site-footer{padding:62px 0 24px;border-top:1px solid rgba(255,255,255,.08);background:#0d0c11}
        .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px}
        .footer-brand p{color:var(--muted);font-size:13px;max-width:330px;margin:17px 0 0}
        .footer-grid h3{font-size:14px;margin:4px 0 15px;color:#fff}
        .footer-grid>div:not(.footer-brand) a{display:block;color:var(--muted);font-size:13px;margin:8px 0;transition:.2s}
        .footer-grid>div:not(.footer-brand) a:hover{color:var(--green);padding-left:3px}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;margin-top:42px;border-top:1px solid var(--line);color:#777181;font-size:12px}
        :focus-visible{outline:3px solid rgba(184,243,106,.7);outline-offset:3px}
        @media(max-width:1024px){
            .header-inner{gap:16px}
            .main-nav a{padding:8px 7px;font-size:13px}
            .hero-grid{gap:38px}
            .benefits{grid-template-columns:repeat(2,1fr)}
            .steps{grid-template-columns:repeat(2,1fr)}
        }
        @media(max-width:768px){
            .container{width:min(100% - 32px,var(--container))}
            .header-inner{height:68px}
            .menu-toggle{display:block;margin-left:auto}
            .header-action{padding:9px 13px;font-size:13px}
            .main-nav{
                display:none;position:absolute;top:68px;left:16px;right:16px;margin:0;
                padding:10px;background:#1a1821;border:1px solid var(--line);border-radius:12px;
                flex-direction:column;align-items:stretch;box-shadow:var(--shadow)
            }
            .main-nav.open{display:flex}
            .main-nav a{padding:12px 14px}
            .hero{padding:62px 0 52px}
            .hero-grid,.download-layout{grid-template-columns:1fr}
            .hero-copy{font-size:16px}
            .app-preview{min-height:330px}
            .section{padding:54px 0}
            .section-head{display:block;margin-bottom:23px}
            .section-head .text-link{display:inline-block;margin-top:14px}
            .cta-panel{display:block;padding:30px 25px}
            .cta-panel .btn{margin-top:23px}
            .footer-grid{grid-template-columns:repeat(2,1fr);gap:28px}
            .footer-brand{grid-column:1/-1}
        }
        @media(max-width:520px){
            h1{font-size:39px;letter-spacing:-1.2px}
            h2{font-size:29px}
            .hero-buttons,.download-actions{display:grid;grid-template-columns:1fr}
            .hero-buttons .btn,.download-actions .btn{width:100%;min-height:48px}
            .preview-grid{grid-template-columns:1fr 1fr}
            .preview-tile:nth-child(3){display:none}
            .benefits,.steps{grid-template-columns:1fr}
            .download-panel,.qr-panel{padding:25px}
            .qr-panel{display:block}
            .qr-code{margin-bottom:20px}
            .footer-grid{grid-template-columns:1fr 1fr;gap:20px}
            .footer-bottom{display:block}
            .footer-bottom span{display:block;margin-top:7px}
        }

/* roulang page: category2 */
:root{
        --bg:#111016;
        --bg-soft:#181720;
        --panel:#201e2a;
        --panel-2:#282532;
        --line:#393545;
        --text:#f6f3fb;
        --muted:#aaa5b8;
        --purple:#9b6cff;
        --purple-dark:#7445d8;
        --green:#b8f36a;
        --green-dark:#83bf35;
        --orange:#ffb45e;
        --radius:14px;
        --shadow:0 18px 50px rgba(0,0,0,.24);
        --container:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
        margin:0;
        background:
            linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
            linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
            var(--bg);
        background-size:32px 32px;
        color:var(--text);
        font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
        line-height:1.7;
        font-size:16px;
    }
    body:after{
        content:"";position:fixed;inset:0;pointer-events:none;opacity:.055;
        background-image:radial-gradient(#fff .6px,transparent .7px);
        background-size:5px 5px;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 48px));margin:auto}
    .site-header{
        position:sticky;top:0;z-index:20;background:rgba(17,16,22,.9);
        border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)
    }
    .header-inner{height:76px;display:flex;align-items:center;gap:30px}
    .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.4px}
    .brand-mark{
        width:38px;height:38px;border:2px solid var(--purple);border-radius:11px;
        display:grid;place-items:center;color:var(--green);position:relative;
        box-shadow:0 0 20px rgba(155,108,255,.25)
    }
    .brand-mark:before{content:"◆";font-size:14px}
    .brand-name{font-size:18px}
    .brand-name strong{color:var(--purple)}
    .main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
    .main-nav a{
        color:var(--muted);padding:9px 12px;border-radius:8px;font-size:14px;
        transition:.2s ease;white-space:nowrap
    }
    .main-nav a:hover,.main-nav a.active{color:var(--text);background:rgba(155,108,255,.13)}
    .main-nav a.active{box-shadow:inset 0 -2px var(--purple)}
    .header-action,.btn{
        display:inline-flex;align-items:center;justify-content:center;gap:8px;
        border:0;border-radius:9px;padding:12px 18px;font-weight:700;
        transition:transform .2s,box-shadow .2s,background .2s;color:#17131f
    }
    .header-action,.btn-primary{background:var(--green);box-shadow:0 8px 24px rgba(184,243,106,.14)}
    .header-action:hover,.btn-primary:hover{background:#ccff86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(184,243,106,.23)}
    .menu-toggle{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 11px}
    .page-hero{padding:72px 0 58px;border-bottom:1px solid rgba(255,255,255,.07)}
    .hero-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
    .eyebrow,.section-kicker{color:var(--green);font-size:13px;font-weight:800;letter-spacing:1.5px;margin:0 0 15px}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(36px,5vw,66px);line-height:1.12;letter-spacing:-2px;margin-bottom:22px}
    h2{font-size:clamp(27px,3vw,40px);line-height:1.2;letter-spacing:-1px;margin-bottom:15px}
    h3{font-size:20px;line-height:1.35}
    .hero-copy{font-size:18px;color:var(--muted);max-width:650px;margin-bottom:28px}
    .hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
    .btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text)}
    .btn-secondary:hover{border-color:var(--purple);background:rgba(155,108,255,.12);transform:translateY(-2px)}
    .hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
    .tag,.badge{
        display:inline-flex;align-items:center;border:1px solid #4a435c;border-radius:999px;
        padding:5px 10px;color:#d4cfdf;font-size:12px;background:rgba(255,255,255,.03)
    }
    .tag:before{content:"";width:6px;height:6px;background:var(--purple);border-radius:50%;margin-right:7px}
    .console-art{min-height:330px;padding:20px;position:relative;display:flex;align-items:center;justify-content:center}
    .console-glow{position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(155,108,255,.2);filter:blur(55px)}
    .console{position:relative;width:min(100%,450px);padding:18px;background:#17151e;border:1px solid #514765;border-radius:18px;box-shadow:var(--shadow);transform:rotate(2deg)}
    .console-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px;color:var(--muted);font-size:12px}
    .status{color:var(--green);display:flex;align-items:center;gap:7px}
    .status:before{content:"";width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 10px var(--green)}
    .console-body{display:grid;grid-template-columns:90px 1fr;gap:14px;padding-top:16px}
    .console-menu span{display:block;padding:9px 8px;color:var(--muted);font-size:12px;border-radius:7px;margin-bottom:6px}
    .console-menu span:first-child{background:rgba(155,108,255,.2);color:var(--text)}
    .game-screen{min-height:220px;border-radius:11px;padding:16px;background:linear-gradient(145deg,#322554,#1d2431);border:1px solid #514765}
    .screen-caption{font-size:12px;color:var(--green);margin-bottom:9px}
    .game-screen h3{font-size:24px;margin:0 0 25px}
    .screen-bars{display:flex;gap:8px;align-items:end;height:90px}
    .screen-bars i{display:block;flex:1;background:var(--purple);border-radius:4px 4px 0 0;opacity:.85}
    .screen-bars i:nth-child(1){height:42%}.screen-bars i:nth-child(2){height:68%;background:var(--green)}
    .screen-bars i:nth-child(3){height:53%}.screen-bars i:nth-child(4){height:84%;background:var(--orange)}
    .section{padding:78px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}
    .section-intro{color:var(--muted);max-width:600px;margin:0}
    .text-link{color:var(--green);font-weight:700;white-space:nowrap}
    .text-link:hover{color:#ddffae}
    .split-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:start}
    .feature-stack{display:grid;gap:14px}
    .feature-row,.operation-card,.download-panel,.faq-item,.news-list,.cta-box{
        background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)
    }
    .feature-row{display:grid;grid-template-columns:58px 1fr;gap:17px;padding:22px;transition:.2s}
    .feature-row:hover,.operation-card:hover{border-color:#645481;transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.16)}
    .icon-box{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:rgba(155,108,255,.15);color:var(--purple);font-size:22px;font-weight:800}
    .feature-row h3{margin:0 0 5px;font-size:18px}.feature-row p{color:var(--muted);margin:0;font-size:14px}
    .compare-panel{padding:28px;background:linear-gradient(145deg,#292139,#201e2a);border:1px solid #4d4163;border-radius:18px}
    .compare-panel>p{color:var(--muted);margin-bottom:23px}
    .compare-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .compare-item{padding:17px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);border-radius:10px}
    .compare-item strong{display:block;color:var(--green);font-size:14px;margin-bottom:5px}.compare-item span{font-size:13px;color:#d1ccdb}
    .process{background:var(--bg-soft);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
    .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .operation-card{padding:24px;position:relative}
    .step-num{color:var(--purple);font-size:34px;font-weight:900;line-height:1;margin-bottom:22px}
    .operation-card h3{margin-bottom:8px}.operation-card p{font-size:14px;color:var(--muted);margin:0}
    .download-panel{display:grid;grid-template-columns:1fr .75fr;gap:30px;padding:34px;background:linear-gradient(110deg,#282035,#201e2a)}
    .download-panel p{color:var(--muted);max-width:620px}
    .download-meta{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}
    .download-side{display:flex;align-items:center;justify-content:center;gap:20px}
    .qr-box{width:118px;height:118px;border:1px dashed #75698b;border-radius:12px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;background:rgba(0,0,0,.18)}
    .device-note{font-size:13px;color:var(--muted);max-width:150px}
    .news-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:35px}
    .news-list{overflow:hidden}
    .news-item{display:grid;grid-template-columns:100px 1fr auto;gap:17px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
    .news-item:last-child{border-bottom:0}
    .news-date{color:var(--orange);font-size:13px}.news-item h3{font-size:17px;margin:0 0 4px}.news-item p{font-size:13px;color:var(--muted);margin:0}
    .faq-wrap{max-width:920px;margin:auto}.faq-item{margin-bottom:10px;overflow:hidden}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:20px 22px;background:none;border:0;color:var(--text);font-weight:700}
    .faq-question span:last-child{color:var(--purple);font-size:22px;transition:.2s}
    .faq-answer{display:none;color:var(--muted);padding:0 22px 20px;font-size:14px}
    .faq-item.open .faq-answer{display:block}.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
    .cta-box{padding:35px 42px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(105deg,#342455,#25202e);border-color:#5a477d}
    .cta-box p{color:var(--muted);margin:7px 0 0}.cta-box h2{margin:0}
    .site-footer{padding:58px 0 25px;background:#0d0c11;border-top:1px solid rgba(255,255,255,.08)}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}
    .footer-brand p{color:var(--muted);font-size:14px;max-width:320px;margin-top:18px}
    .site-footer h3{font-size:15px;margin:4px 0 15px}.site-footer>div a:not(.brand){display:block;color:var(--muted);font-size:14px;margin:8px 0;transition:.2s}.site-footer>div a:not(.brand):hover{color:var(--green)}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:40px;padding-top:18px;color:#777181;font-size:12px}
    :focus-visible{outline:3px solid var(--green);outline-offset:3px}
    @media(max-width:1024px){.main-nav{gap:0}.main-nav a{padding:8px 8px;font-size:13px}.hero-layout{gap:35px}.process-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:768px){
        .container{width:min(var(--container),calc(100% - 32px))}.header-inner{height:68px;gap:12px}
        .menu-toggle{display:block;margin-left:auto}.header-action{padding:10px 13px;font-size:13px}
        .main-nav{display:none;position:absolute;left:16px;right:16px;top:76px;padding:10px;flex-direction:column;align-items:stretch;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
        .main-nav.open{display:flex}.main-nav a{padding:12px 14px}.page-hero{padding:50px 0 42px}.hero-layout,.split-section,.news-layout,.download-panel{grid-template-columns:1fr;gap:30px}
        h1{letter-spacing:-1px}.console-art{min-height:270px}.section{padding:52px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:13px}
        .process-grid{grid-template-columns:1fr 1fr}.news-item{grid-template-columns:75px 1fr}.news-item .badge{display:none}
        .cta-box{display:block;padding:29px 25px}.cta-box .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
    }
    @media(max-width:520px){
        .brand-name{font-size:16px}.header-action{display:none}.hero-buttons .btn{width:100%}.hero-copy{font-size:16px}
        .console{transform:none}.console-body{grid-template-columns:72px 1fr}.game-screen h3{font-size:19px}.process-grid,.compare-list{grid-template-columns:1fr}
        .feature-row{grid-template-columns:45px 1fr;padding:18px}.icon-box{width:40px;height:40px;font-size:18px}
        .news-item{grid-template-columns:1fr;gap:5px;padding:18px}.news-date{font-size:12px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}
        .download-side{justify-content:flex-start;align-items:flex-start}.qr-box{width:100px;height:100px}
    }

/* roulang page: category5 */
:root{
            --bg:#111016;
            --bg-soft:#181720;
            --panel:#201e2a;
            --panel-2:#282532;
            --line:#393545;
            --text:#f6f3fb;
            --muted:#aaa5b8;
            --purple:#9b6cff;
            --purple-dark:#7445d8;
            --green:#b8f36a;
            --green-dark:#83bf35;
            --orange:#ffb45e;
            --radius:14px;
            --shadow:0 18px 50px rgba(0,0,0,.24);
            --container:1200px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            background:
                linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
                linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
                var(--bg);
            background-size:32px 32px;
            color:var(--text);
            font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
            line-height:1.7;
            font-size:16px;
        }
        body:after{
            content:"";position:fixed;inset:0;pointer-events:none;opacity:.055;
            background-image:radial-gradient(#fff .6px,transparent .7px);
            background-size:5px 5px;
        }
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        button{cursor:pointer}
        h1,h2,h3,p{margin-top:0}
        h1,h2,h3{line-height:1.25;letter-spacing:-.5px}
        h1{font-size:clamp(36px,5vw,66px);margin-bottom:22px}
        h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:16px}
        h3{font-size:20px}
        .container{width:min(var(--container),calc(100% - 48px));margin:auto}
        .site-header{
            position:sticky;top:0;z-index:20;
            background:rgba(17,16,22,.9);
            border-bottom:1px solid rgba(255,255,255,.08);
            backdrop-filter:blur(16px);
        }
        .header-inner{height:76px;display:flex;align-items:center;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.4px}
        .brand-mark{
            width:38px;height:38px;border:2px solid var(--purple);border-radius:11px;
            display:grid;place-items:center;color:var(--green);position:relative;
            box-shadow:0 0 20px rgba(155,108,255,.25)
        }
        .brand-mark:before{content:"◆";font-size:14px}
        .brand-name{font-size:18px}
        .brand-name strong{color:var(--purple)}
        .main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
        .main-nav a{
            color:var(--muted);padding:9px 12px;border-radius:8px;font-size:14px;
            transition:.2s ease;white-space:nowrap
        }
        .main-nav a:hover,.main-nav a.active{color:var(--text);background:rgba(155,108,255,.13)}
        .main-nav a.active{box-shadow:inset 0 -2px var(--purple)}
        .header-action,.btn{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            border:0;border-radius:9px;padding:12px 18px;font-weight:700;
            transition:transform .2s,box-shadow .2s,background .2s;color:#17131f
        }
        .header-action,.btn-primary{background:var(--green);box-shadow:0 8px 24px rgba(184,243,106,.14)}
        .header-action:hover,.btn-primary:hover{background:#ccff86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(184,243,106,.23)}
        .menu-toggle{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 11px}
        .hero{
            padding:82px 0 70px;position:relative;overflow:hidden;
            border-bottom:1px solid rgba(255,255,255,.06)
        }
        .hero:before{
            content:"";position:absolute;width:470px;height:470px;border-radius:50%;
            background:rgba(121,73,216,.17);filter:blur(85px);right:-170px;top:-190px
        }
        .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}
        .eyebrow,.section-kicker{
            color:var(--green);font-size:13px;font-weight:800;letter-spacing:1.5px;
            margin:0 0 17px
        }
        .hero-copy{font-size:18px;color:var(--muted);max-width:650px;margin-bottom:30px}
        .hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
        .btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text)}
        .btn-secondary:hover{border-color:var(--purple);background:rgba(155,108,255,.12);transform:translateY(-2px)}
        .hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
        .tag,.badge{
            display:inline-flex;align-items:center;border:1px solid #4a435c;border-radius:999px;
            padding:5px 10px;color:#d4cfdf;font-size:12px;background:rgba(255,255,255,.03)
        }
        .tag:before{content:"";width:6px;height:6px;background:var(--purple);border-radius:50%;margin-right:7px}
        .guide-visual{
            min-height:365px;padding:24px;border:1px solid var(--line);border-radius:22px;
            background:linear-gradient(145deg,#292139,#17161e);box-shadow:var(--shadow);
            position:relative;overflow:hidden
        }
        .guide-visual:after{content:"PG";position:absolute;right:-18px;bottom:-48px;font-size:190px;font-weight:900;color:rgba(155,108,255,.08)}
        .visual-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px}
        .visual-title{font-weight:800}
        .status{color:var(--green);font-size:12px}
        .visual-content{display:grid;grid-template-columns:100px 1fr;gap:15px;margin-top:20px;position:relative;z-index:1}
        .visual-menu span{display:block;padding:10px 8px;margin-bottom:7px;background:rgba(255,255,255,.04);border-radius:7px;color:var(--muted);font-size:12px}
        .visual-menu span:first-child{background:rgba(155,108,255,.23);color:var(--text)}
        .visual-main{background:#111016;border:1px solid var(--line);border-radius:12px;padding:17px}
        .visual-main h3{margin:0 0 15px;font-size:18px}
        .visual-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
        .visual-bars i{height:74px;border-radius:8px;background:linear-gradient(145deg,#493472,#252130);border:1px solid #594477}
        .visual-line{height:9px;background:var(--panel-2);border-radius:8px;margin:10px 0}
        .visual-line.short{width:55%}
        .section{padding:76px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}
        .section-intro{color:var(--muted);max-width:610px;margin:0}
        .text-link{color:var(--green);font-weight:700;white-space:nowrap}
        .text-link:hover{color:#ddffae}
        .step-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;align-items:stretch}
        .step-summary,.notice-panel,.download-panel,.faq-item,.check-panel{
            background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)
        }
        .step-summary{padding:31px;background:linear-gradient(145deg,#292139,#201e2a)}
        .step-summary h3{font-size:25px}
        .step-summary p{color:var(--muted)}
        .mini-stat{display:flex;gap:22px;margin-top:28px}
        .mini-stat strong{display:block;color:var(--green);font-size:28px;line-height:1}
        .mini-stat span{display:block;color:var(--muted);font-size:12px;margin-top:7px}
        .steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
        .step-card{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:.2s}
        .step-card:hover,.check-panel:hover{transform:translateY(-3px);border-color:var(--purple);box-shadow:0 12px 28px rgba(0,0,0,.2)}
        .step-number{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:rgba(155,108,255,.17);color:var(--purple);font-weight:900;margin-bottom:18px}
        .step-card h3{margin-bottom:8px}
        .step-card p{color:var(--muted);font-size:14px;margin:0}
        .guide-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}
        .check-panel{padding:30px}
        .check-panel h3{margin-bottom:20px}
        .check-list{padding:0;margin:0;list-style:none}
        .check-list li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);color:#dcd8e4}
        .check-list li:last-child{border-bottom:0}
        .check-list li:before{content:"✓";color:var(--green);font-weight:900}
        .notice-panel{padding:29px;border-left:3px solid var(--orange)}
        .notice-panel h3{color:var(--orange)}
        .notice-panel p{color:var(--muted);margin-bottom:15px}
        .notice-panel p:last-child{margin-bottom:0}
        .download-panel{
            padding:34px;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;
            background:linear-gradient(110deg,#282034,#201e2a)
        }
        .download-panel p{color:var(--muted);max-width:680px}
        .download-actions{display:flex;gap:11px;flex-wrap:wrap}
        .qr-box{width:124px;height:124px;border:1px dashed #71628e;border-radius:12px;display:grid;place-items:center;color:var(--muted);font-size:12px;text-align:center;background:#17151e}
        .faq-list{display:grid;gap:10px;max-width:900px}
        .faq-item{padding:0;overflow:hidden}
        .faq-item summary{list-style:none;padding:20px 24px;font-weight:700;cursor:pointer;position:relative;padding-right:55px}
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-item summary:after{content:"+";position:absolute;right:23px;color:var(--green);font-size:23px;top:15px}
        .faq-item[open] summary{color:var(--green);background:rgba(155,108,255,.08)}
        .faq-item[open] summary:after{content:"−"}
        .faq-answer{padding:0 24px 21px;color:var(--muted);font-size:14px}
        .cta{
            padding:55px 0;background:rgba(155,108,255,.09);border-top:1px solid rgba(155,108,255,.2);
            border-bottom:1px solid rgba(155,108,255,.2)
        }
        .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
        .cta h2{margin-bottom:9px}
        .cta p{color:var(--muted);margin:0}
        .site-footer{padding:58px 0 25px;background:#0d0c11;border-top:1px solid rgba(255,255,255,.07)}
        .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px}
        .footer-brand p{color:var(--muted);font-size:14px;max-width:360px;margin-top:18px}
        .site-footer h3{font-size:15px;margin-bottom:16px}
        .site-footer> .container> .footer-grid>div:not(.footer-brand) a{display:block;color:var(--muted);font-size:14px;margin:8px 0;transition:.2s}
        .site-footer> .container> .footer-grid>div:not(.footer-brand) a:hover{color:var(--green);padding-left:3px}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:38px;padding-top:20px;color:#777284;font-size:12px}
        :focus-visible{outline:3px solid var(--green);outline-offset:3px}
        @media(max-width:1024px){
            .main-nav{gap:0}.main-nav a{padding:8px 8px;font-size:13px}
            .hero-grid{gap:38px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}
            .footer-grid>div:last-child{grid-column:2}
        }
        @media(max-width:768px){
            .container{width:min(var(--container),calc(100% - 32px))}
            .header-inner{height:68px;gap:12px}.menu-toggle{display:block;margin-left:auto}
            .header-action{padding:9px 12px;font-size:13px}
            .main-nav{display:none;position:absolute;top:68px;left:0;right:0;padding:12px 16px;background:#17151e;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}
            .main-nav.open{display:flex}.main-nav a{padding:12px 14px}
            .hero{padding:60px 0 50px}.hero-grid,.step-layout,.guide-content{grid-template-columns:1fr}
            .guide-visual{min-height:310px}.section{padding:54px 0}
            .section-head{display:block}.section-head .text-link{display:inline-block;margin-top:15px}
            .download-panel{grid-template-columns:1fr}.qr-box{width:110px;height:110px}
            .cta-inner{display:block}.cta .btn{margin-top:22px}
            .footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{grid-column:1/-1}
        }
        @media(max-width:520px){
            h1{font-size:37px}.hero-copy{font-size:16px}
            .hero-buttons,.download-actions{flex-direction:column;align-items:stretch}
            .btn{width:100%;min-height:50px}.visual-content{grid-template-columns:76px 1fr}
            .visual-bars i{height:58px}.steps{grid-template-columns:1fr}
            .step-summary,.check-panel,.notice-panel,.download-panel{padding:23px}
            .footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}
            .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
        }

/* roulang page: category4 */
:root{
            --bg:#111016;
            --bg-soft:#181720;
            --panel:#201e2a;
            --panel-2:#282532;
            --line:#393545;
            --text:#f6f3fb;
            --muted:#aaa5b8;
            --purple:#9b6cff;
            --purple-dark:#7445d8;
            --green:#b8f36a;
            --green-dark:#83bf35;
            --orange:#ffb45e;
            --radius:14px;
            --shadow:0 18px 50px rgba(0,0,0,.24);
            --container:1200px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            background:
                linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
                linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
                var(--bg);
            background-size:32px 32px;
            color:var(--text);
            font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
            line-height:1.7;
            font-size:16px;
        }
        body:after{
            content:"";position:fixed;inset:0;pointer-events:none;opacity:.06;
            background-image:radial-gradient(#fff .6px,transparent .7px);
            background-size:5px 5px;
        }
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        button{cursor:pointer}
        h1,h2,h3,p{margin-top:0}
        h1,h2,h3{line-height:1.25;letter-spacing:-.5px}
        h1{font-size:clamp(38px,5vw,68px);margin-bottom:22px}
        h2{font-size:clamp(28px,3vw,42px);margin-bottom:14px}
        h3{font-size:20px}
        .container{width:min(var(--container),calc(100% - 48px));margin:auto}
        .site-header{
            position:sticky;top:0;z-index:20;
            background:rgba(17,16,22,.9);
            border-bottom:1px solid rgba(255,255,255,.08);
            backdrop-filter:blur(16px)
        }
        .header-inner{height:76px;display:flex;align-items:center;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.4px}
        .brand-mark{
            width:38px;height:38px;border:2px solid var(--purple);border-radius:11px;
            display:grid;place-items:center;color:var(--green);position:relative;
            box-shadow:0 0 20px rgba(155,108,255,.25)
        }
        .brand-mark:before{content:"◆";font-size:14px}
        .brand-name{font-size:18px}
        .brand-name strong{color:var(--purple)}
        .main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
        .main-nav a{
            color:var(--muted);padding:9px 12px;border-radius:8px;font-size:14px;
            transition:.2s ease;white-space:nowrap
        }
        .main-nav a:hover,.main-nav a.active{color:var(--text);background:rgba(155,108,255,.13)}
        .main-nav a.active{box-shadow:inset 0 -2px var(--purple)}
        .header-action,.btn{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            border:0;border-radius:9px;padding:12px 18px;font-weight:700;
            transition:transform .2s,box-shadow .2s,background .2s;color:#17131f
        }
        .header-action,.btn-primary{background:var(--green);box-shadow:0 8px 24px rgba(184,243,106,.14)}
        .header-action:hover,.btn-primary:hover{background:#ccff86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(184,243,106,.23)}
        .btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text)}
        .btn-secondary:hover{border-color:var(--purple);background:rgba(155,108,255,.12);transform:translateY(-2px)}
        .menu-toggle{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 11px}
        .hero{
            padding:92px 0 78px;position:relative;overflow:hidden;
            border-bottom:1px solid rgba(255,255,255,.06)
        }
        .hero:before{
            content:"";position:absolute;width:460px;height:460px;border-radius:50%;
            background:rgba(121,73,216,.17);filter:blur(80px);right:-150px;top:-180px
        }
        .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;position:relative}
        .eyebrow,.section-kicker{
            color:var(--green);font-size:13px;font-weight:800;letter-spacing:1.5px;
            margin:0 0 17px
        }
        .hero h1 span{color:var(--purple)}
        .hero-copy{font-size:18px;color:var(--muted);max-width:650px;margin-bottom:30px}
        .hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
        .hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
        .tag,.badge{
            display:inline-flex;align-items:center;border:1px solid #4a435c;border-radius:999px;
            padding:5px 10px;color:#d4cfdf;font-size:12px;background:rgba(255,255,255,.03)
        }
        .tag:before{content:"";width:6px;height:6px;background:var(--purple);border-radius:50%;margin-right:7px}
        .news-board{
            min-height:330px;padding:25px;background:var(--panel);
            border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);
            position:relative;overflow:hidden
        }
        .news-board:after{content:"资讯";position:absolute;right:-7px;bottom:-40px;font-size:155px;font-weight:900;color:rgba(155,108,255,.08)}
        .board-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px}
        .board-title{font-weight:800;font-size:19px}
        .live-dot{color:var(--green);font-size:12px}
        .live-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px}
        .board-item{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.07);position:relative;z-index:1}
        .board-date{color:var(--orange);font-size:12px;padding-top:3px}
        .board-item strong{font-size:14px;display:block;margin-bottom:4px}
        .board-item p{font-size:12px;color:var(--muted);margin:0}
        .section{padding:80px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
        .section-intro{color:var(--muted);max-width:590px;margin:0}
        .text-link{color:var(--green);font-weight:700;white-space:nowrap}
        .text-link:hover{color:#ddffae}
        .topic-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}
        .topic-feature,.topic-card,.timeline,.download-panel,.faq-item,.proof-panel{
            background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)
        }
        .topic-feature{padding:34px;min-height:280px;background:linear-gradient(145deg,#292139,#211e2a);position:relative;overflow:hidden}
        .topic-feature:after{content:"◈";position:absolute;right:22px;bottom:-42px;color:rgba(155,108,255,.16);font-size:190px}
        .topic-feature h3{font-size:27px;max-width:470px;position:relative;z-index:1}
        .topic-feature p{color:var(--muted);max-width:520px;position:relative;z-index:1}
        .topic-stack{display:grid;gap:18px}
        .topic-card{padding:25px;transition:.2s ease}
        .topic-card:hover,.timeline-item:hover,.faq-item:hover{border-color:#5b4e7b;transform:translateY(-2px)}
        .topic-card h3{margin:0 0 8px}
        .topic-card p{color:var(--muted);font-size:14px;margin:0}
        .topic-icon{color:var(--green);font-size:22px;margin-bottom:14px}
        .timeline{padding:28px 34px}
        .timeline-item{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line);transition:.2s ease}
        .timeline-item:last-child{border-bottom:0}
        .timeline-time{color:var(--orange);font-size:13px;padding-top:3px}
        .timeline-item h3{font-size:18px;margin:0 0 7px}
        .timeline-item p{color:var(--muted);font-size:14px;margin:0}
        .timeline-arrow{color:var(--purple);font-size:22px}
        .filter-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}
        .filter-bar button{
            border:1px solid var(--line);background:transparent;color:var(--muted);
            border-radius:999px;padding:8px 15px;transition:.2s
        }
        .filter-bar button:hover,.filter-bar button.active{background:var(--purple);border-color:var(--purple);color:#fff}
        .proof-panel{padding:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
        .proof-cell{padding:5px 18px;border-right:1px solid var(--line)}
        .proof-cell:last-child{border-right:0}
        .proof-cell b{display:block;font-size:24px;color:var(--green);margin-bottom:4px}
        .proof-cell span{color:var(--muted);font-size:13px}
        .download-panel{
            padding:38px;display:grid;grid-template-columns:1fr .9fr;gap:35px;align-items:center;
            background:linear-gradient(120deg,#282038,#201e2a)
        }
        .download-panel p{color:var(--muted);max-width:560px}
        .device-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}
        .device{border:1px solid #514966;border-radius:8px;padding:8px 12px;color:#d8d3e5;font-size:13px}
        .download-art{height:180px;border:1px dashed #5d4e82;border-radius:14px;display:grid;place-items:center;position:relative;background:rgba(155,108,255,.07)}
        .download-art:before{content:"APP";color:var(--purple);font-size:40px;font-weight:900;letter-spacing:5px}
        .download-art small{position:absolute;bottom:17px;color:var(--muted)}
        .faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}
        .faq-note{color:var(--muted);max-width:340px}
        .faq-list{display:grid;gap:10px}
        .faq-item{overflow:hidden}
        .faq-question{
            width:100%;background:none;border:0;color:var(--text);padding:19px 22px;
            display:flex;justify-content:space-between;text-align:left;font-weight:700
        }
        .faq-question span:last-child{color:var(--purple);font-size:22px;line-height:1}
        .faq-answer{max-height:0;overflow:hidden;color:var(--muted);font-size:14px;padding:0 22px;transition:max-height .3s,padding .3s}
        .faq-item.open .faq-answer{max-height:150px;padding:0 22px 20px}
        .faq-item.open .faq-question{color:var(--green)}
        .cta{padding:58px 0}
        .cta-box{
            border:1px solid #514274;border-radius:18px;padding:38px 45px;
            display:flex;justify-content:space-between;align-items:center;gap:28px;
            background:linear-gradient(100deg,rgba(116,69,216,.34),rgba(32,30,42,.82))
        }
        .cta-box h2{margin-bottom:8px}
        .cta-box p{color:#c0bbca;margin:0}
        .site-footer{padding:58px 0 24px;border-top:1px solid rgba(255,255,255,.08);background:#0d0c11}
        .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
        .footer-brand p{color:var(--muted);font-size:14px;max-width:330px;margin:18px 0 0}
        .site-footer h3{font-size:14px;margin:4px 0 15px}
        .site-footer a:not(.brand){display:block;color:var(--muted);font-size:13px;margin:9px 0;transition:.2s}
        .site-footer a:not(.brand):hover{color:var(--green);padding-left:3px}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:42px;padding-top:20px;color:#777181;font-size:12px}
        :focus-visible{outline:3px solid var(--green);outline-offset:3px}
        @media(max-width:1024px){
            .main-nav{gap:0}.main-nav a{padding:8px 8px;font-size:13px}
            .header-inner{gap:14px}.hero-grid{gap:35px}
            .topic-layout,.faq-grid{grid-template-columns:1fr}
        }
        @media(max-width:768px){
            .container{width:min(var(--container),calc(100% - 32px))}
            .header-inner{height:68px}
            .menu-toggle{display:block;margin-left:auto}
            .header-action{padding:9px 12px;font-size:13px}
            .main-nav{
                display:none;position:absolute;top:68px;left:0;right:0;padding:12px 16px;
                background:#17151d;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch
            }
            .main-nav.open{display:flex}
            .main-nav a{padding:12px 14px}
            .hero{padding:62px 0 55px}
            .hero-grid{grid-template-columns:1fr}
            .news-board{min-height:auto}
            .section{padding:55px 0}
            .section-head{display:block}.section-head .text-link{display:inline-block;margin-top:15px}
            .timeline{padding:18px}
            .timeline-item{grid-template-columns:78px 1fr;gap:13px}
            .timeline-arrow{display:none}
            .proof-panel{grid-template-columns:1fr;padding:18px}
            .proof-cell{border-right:0;border-bottom:1px solid var(--line);padding:14px 5px}
            .proof-cell:last-child{border-bottom:0}
            .download-panel{grid-template-columns:1fr;padding:27px}
            .cta-box{display:block;padding:30px 25px}.cta-box .btn{margin-top:22px}
            .footer-grid{grid-template-columns:1fr 1fr}
            .footer-brand{grid-column:1/-1}
            .footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}
        }
        @media(max-width:520px){
            h1{font-size:38px}.hero-copy{font-size:16px}
            .hero-buttons .btn{width:100%}
            .topic-feature{padding:25px;min-height:250px}
            .board-item{grid-template-columns:67px 1fr}
            .footer-grid{grid-template-columns:1fr}
            .footer-brand{grid-column:auto}
        }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
