/* roulang page: index */
:root{--ink:#edf5ff;--muted:#91a6bf;--line:rgba(148,181,217,.18);--panel:rgba(21,43,70,.72);--deep:#071421;--blue:#48b9ff;--cyan:#70e0d0;--gold:#f7c86b;--radius:18px;--shadow:0 18px 55px rgba(0,0,0,.28)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--deep);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}a{color:inherit;text-decoration:none;transition:.25s ease}img{max-width:100%;display:block}button,input{font:inherit}.container{max-width:1180px}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(7,20,33,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
    .navbar{min-height:76px}.brand{font-weight:800;letter-spacing:.02em;color:#fff!important;font-size:1.15rem}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:9px;border:1px solid rgba(112,224,208,.7);border-radius:10px;color:var(--cyan);box-shadow:0 0 20px rgba(72,185,255,.22)}
    .nav-link{color:var(--muted)!important;padding:.55rem .85rem!important;font-size:.94rem}.nav-link:hover,.nav-link.active{color:#fff!important}.notice-chip{border:1px solid rgba(247,200,107,.45);color:var(--gold);padding:.42rem .8rem;border-radius:999px;font-size:.82rem}
    .hero{position:relative;overflow:hidden;padding:92px 0 70px;background:radial-gradient(circle at 88% 15%,rgba(57,139,205,.2),transparent 31%),linear-gradient(135deg,#091b2d,#071421 70%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.45}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font-size:.82rem;font-weight:700;letter-spacing:.08em}.eyebrow i{font-size:.55rem}.hero h1{font-size:clamp(2.25rem,5vw,4.4rem);line-height:1.15;letter-spacing:0;margin:20px 0 22px;max-width:760px}.hero-copy{max-width:710px;color:#b6c8db;font-size:1.05rem}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.btn-primary-custom,.btn-ghost{display:inline-flex;align-items:center;gap:9px;border-radius:10px;padding:.8rem 1.2rem;border:1px solid transparent;font-weight:700}.btn-primary-custom{color:#04121e;background:var(--cyan);box-shadow:0 0 28px rgba(112,224,208,.22)}.btn-primary-custom:hover{background:#a1f1e5;color:#04121e;transform:translateY(-2px)}.btn-ghost{border-color:var(--line);color:#dceafa;background:rgba(255,255,255,.03)}.btn-ghost:hover{border-color:var(--blue);color:#fff;background:rgba(72,185,255,.09)}
    .icon-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;max-width:590px}.matrix-item{padding:16px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:14px;color:#c6d6e6}.matrix-item i{color:var(--cyan);font-size:1.1rem;margin-bottom:10px;display:block}.matrix-item strong{display:block;color:#fff;font-size:.94rem}.matrix-item span{font-size:.78rem;color:var(--muted)}
    .status-panel{height:100%;padding:25px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(29,63,97,.7),rgba(13,28,46,.68));box-shadow:var(--shadow)}.status-head{display:flex;justify-content:space-between;color:#b9cce0;font-size:.84rem;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.live{color:var(--cyan)}.kpi{padding:18px 0;border-bottom:1px solid var(--line)}.kpi:last-child{border-bottom:0}.kpi b{display:block;font-size:2rem;color:#fff;line-height:1.2}.kpi span{color:var(--muted);font-size:.86rem}.bar{height:5px;border-radius:10px;background:#203851;margin-top:12px;overflow:hidden}.bar i{display:block;height:100%;width:78%;background:var(--cyan);border-radius:10px}
    .section{padding:84px 0}.section.alt{background:#0a1c2d}.section-head{max-width:700px;margin-bottom:38px}.section-head h2{font-size:clamp(1.7rem,3vw,2.55rem);letter-spacing:0;margin:13px 0}.section-head p{color:var(--muted);margin:0}.section-label{color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.1em}
    .feature-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.feature{min-height:230px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);position:relative;overflow:hidden}.feature.large{background:linear-gradient(145deg,rgba(37,91,125,.7),rgba(16,39,61,.72))}.feature i{font-size:1.5rem;color:var(--cyan);margin-bottom:34px}.feature h3{font-size:1.25rem;margin:0 0 8px}.feature p,.scene p,.case p,.news p{color:var(--muted);font-size:.9rem;margin:0}.feature:hover,.scene:hover,.case:hover{transform:translateY(-4px);border-color:rgba(112,224,208,.5);box-shadow:var(--shadow)}
    .scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.scene{padding:20px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);transition:.25s}.scene-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.scene-top i{color:var(--gold)}.tag{font-size:.72rem;border:1px solid rgba(112,224,208,.35);color:var(--cyan);padding:.2rem .5rem;border-radius:99px}
    .capability{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}.cap-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.cap-item{padding:18px;border-left:2px solid var(--cyan);background:rgba(255,255,255,.035)}.cap-item strong{display:block;margin-bottom:5px}.cap-item span{font-size:.85rem;color:var(--muted)}
    .case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);transition:.25s}.case-visual{height:150px;padding:18px;display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(135deg,#155474,#12304a)}.case:nth-child(2) .case-visual{background:linear-gradient(135deg,#31536e,#1b283d)}.case:nth-child(3) .case-visual{background:linear-gradient(135deg,#23685f,#183e47)}.case-visual b{font-size:1.3rem}.case-body{padding:20px}.case-body h3{font-size:1.08rem;margin:0 0 8px}.case-meta{color:var(--gold);font-size:.76rem;margin-bottom:10px}
    .news-layout{display:grid;grid-template-columns:1fr .85fr;gap:36px}.news-list{border-top:1px solid var(--line)}.news{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.news-date{color:var(--cyan);font-size:.83rem}.news h3{font-size:1rem;margin:0 0 5px}.trend{padding:25px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:var(--radius)}.trend-row{display:flex;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.9rem}.trend-row:last-child{border:0}.trend em{font-style:normal;color:var(--gold)}
    .timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.milestone{padding:22px 20px 0;border-right:1px solid var(--line);position:relative}.milestone:last-child{border:0}.milestone:before{content:"";display:block;width:10px;height:10px;background:var(--cyan);border-radius:50%;margin-top:-28px;margin-bottom:20px;box-shadow:0 0 0 6px #0a1c2d}.milestone strong{display:block;color:#fff;margin-bottom:7px}.milestone span{color:var(--muted);font-size:.86rem}
    .trust{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.trust strong{color:#fff}.trust span{font-size:.85rem}
    .contact{padding:34px;border:1px solid rgba(112,224,208,.3);border-radius:var(--radius);background:linear-gradient(110deg,rgba(26,73,89,.55),rgba(18,42,65,.72));display:flex;justify-content:space-between;align-items:center;gap:25px}.contact h2{margin:0 0 8px;font-size:1.7rem}.contact p{color:#b5c8d9;margin:0}
    .site-footer{padding:45px 0 25px;background:#05101b;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer-title{color:#fff;font-weight:800;margin-bottom:14px}.footer-copy{color:var(--muted);font-size:.86rem;max-width:360px}.footer-links{display:grid;gap:8px;color:var(--muted);font-size:.88rem}.footer-links a:hover{color:var(--cyan)}.copyright{border-top:1px solid var(--line);margin-top:32px;padding-top:19px;color:#6e849a;font-size:.78rem;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
    @media(max-width:992px){.feature-grid{grid-template-columns:repeat(2,1fr)}.feature.large{grid-column:span 2}.scene-grid{grid-template-columns:repeat(2,1fr)}.capability,.news-layout{grid-template-columns:1fr}.case-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:768px){.hero{padding:68px 0 52px}.icon-matrix{grid-template-columns:repeat(2,1fr)}.status-panel{margin-top:30px}.section{padding:62px 0}.timeline{grid-template-columns:repeat(2,1fr);row-gap:28px}.milestone:nth-child(2){border:0}.contact{display:block}.contact .btn-primary-custom{margin-top:22px}}
    @media(max-width:520px){.brand{font-size:.98rem}.notice-chip{display:none}.hero h1{font-size:2.25rem}.feature-grid,.scene-grid,.case-grid,.cap-list{grid-template-columns:1fr}.feature.large{grid-column:auto}.news{grid-template-columns:1fr;gap:4px}.timeline{grid-template-columns:1fr}.milestone{border:0!important;padding-left:0}.footer-grid{grid-template-columns:1fr;gap:24px}.hero-actions a{width:100%;justify-content:center}}
    :focus-visible{outline:3px solid rgba(112,224,208,.65);outline-offset:3px}

/* roulang page: category1 */
:root{--ink:#edf5ff;--muted:#91a6bf;--line:rgba(148,181,217,.18);--panel:rgba(21,43,70,.72);--deep:#071421;--blue:#48b9ff;--cyan:#70e0d0;--gold:#f7c86b;--radius:18px;--shadow:0 18px 55px rgba(0,0,0,.28)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--deep);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none;transition:.25s ease}
img{max-width:100%;display:block}
button,input{font:inherit}
.container{max-width:1180px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(7,20,33,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.navbar{min-height:76px}
.brand{font-weight:800;letter-spacing:.02em;color:#fff!important;font-size:1.15rem}
.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:9px;border:1px solid rgba(112,224,208,.7);border-radius:10px;color:var(--cyan);box-shadow:0 0 20px rgba(72,185,255,.22)}
.nav-link{color:var(--muted)!important;padding:.55rem .85rem!important;font-size:.94rem}
.nav-link:hover,.nav-link.active{color:#fff!important}
.notice-chip{border:1px solid rgba(247,200,107,.45);color:var(--gold);padding:.42rem .8rem;border-radius:999px;font-size:.82rem}
.hero{position:relative;overflow:hidden;padding:86px 0 70px;background:radial-gradient(circle at 88% 15%,rgba(57,139,205,.2),transparent 31%),linear-gradient(135deg,#091b2d,#071421 70%)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.45}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font-size:.82rem;font-weight:700;letter-spacing:.08em}
.eyebrow i{font-size:.55rem}
.hero h1{font-size:clamp(2.25rem,5vw,4.2rem);line-height:1.15;letter-spacing:0;margin:20px 0 22px;max-width:760px}
.hero-copy{max-width:710px;color:#b6c8db;font-size:1.05rem}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.btn-primary-custom,.btn-ghost{display:inline-flex;align-items:center;gap:9px;border-radius:10px;padding:.8rem 1.2rem;border:1px solid transparent;font-weight:700}
.btn-primary-custom{color:#04121e;background:var(--cyan);box-shadow:0 0 28px rgba(112,224,208,.22)}
.btn-primary-custom:hover{background:#a1f1e5;color:#04121e;transform:translateY(-2px)}
.btn-ghost{border-color:var(--line);color:#dceafa;background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:var(--blue);color:#fff;background:rgba(72,185,255,.09)}
.section{padding:82px 0}
.section.alt{background:#0a1c2d}
.section-head{max-width:720px;margin-bottom:36px}
.section-head h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:0;margin:13px 0}
.section-head p{color:var(--muted);margin:0}
.section-label{color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.1em}
.topic-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}
.topic-cover{min-height:360px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;background:#102d45}
.topic-cover img{width:100%;height:100%;min-height:360px;object-fit:cover;opacity:.82}
.topic-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,15,25,.9),transparent 65%)}
.cover-text{position:absolute;z-index:1;left:28px;right:28px;bottom:25px}
.cover-text span{color:var(--gold);font-size:.78rem}
.cover-text h3{font-size:1.65rem;margin:8px 0 0}
.directory{padding:28px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius)}
.directory h3{margin:0 0 20px;font-size:1.3rem}
.directory-list{display:grid;gap:0;border-top:1px solid var(--line)}
.directory-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.directory-row b{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(112,224,208,.1);color:var(--cyan);font-size:.82rem}
.directory-row strong{display:block}
.directory-row span{display:block;color:var(--muted);font-size:.84rem}
.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.filter-tabs{display:flex;flex-wrap:wrap;gap:9px}
.filter-tabs a{padding:.46rem .8rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.86rem}
.filter-tabs a:hover,.filter-tabs a.active{color:#071421;background:var(--cyan);border-color:var(--cyan)}
.result-count{color:var(--muted);font-size:.84rem;white-space:nowrap}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.topic-card{border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:var(--radius);overflow:hidden;transition:.25s ease}
.topic-card:hover{transform:translateY(-5px);border-color:rgba(112,224,208,.55);box-shadow:var(--shadow)}
.topic-image{height:178px;overflow:hidden;position:relative}
.topic-image img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.topic-card:hover .topic-image img{transform:scale(1.04)}
.topic-badge{position:absolute;top:14px;left:14px;background:rgba(7,20,33,.8);border:1px solid rgba(112,224,208,.4);color:var(--cyan);padding:.25rem .55rem;border-radius:999px;font-size:.7rem}
.topic-body{padding:20px}
.topic-body h3{font-size:1.12rem;margin:0 0 8px}
.topic-body p{color:var(--muted);font-size:.88rem;margin:0 0 16px}
.topic-meta{display:flex;justify-content:space-between;gap:10px;color:#7590aa;font-size:.76rem}
.topic-meta i{color:var(--gold);margin-right:5px}
.quote-band{background:#0a1c2d;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:48px 0}
.quote-layout{display:flex;align-items:center;justify-content:space-between;gap:30px}
.quote-layout blockquote{margin:0;max-width:720px;font-size:1.3rem;line-height:1.65;color:#dceafa}
.quote-layout cite{display:block;color:var(--muted);font-size:.82rem;font-style:normal;margin-top:12px}
.insight-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}
.insight-note{padding:28px;background:linear-gradient(145deg,rgba(37,91,125,.7),rgba(16,39,61,.72));border:1px solid var(--line);border-radius:var(--radius)}
.insight-note i{font-size:1.7rem;color:var(--cyan);margin-bottom:28px}
.insight-note h3{font-size:1.4rem;margin-bottom:10px}
.insight-note p{color:var(--muted);font-size:.9rem;margin:0}
.insight-list{border-top:1px solid var(--line)}
.insight-item{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.insight-item time{color:var(--gold);font-size:.78rem}
.insight-item strong{font-size:.96rem}
.insight-item span{color:var(--muted);font-size:.78rem}
.contact{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px;border:1px solid rgba(112,224,208,.3);border-radius:var(--radius);background:rgba(21,43,70,.55)}
.contact h2{font-size:1.6rem;margin:0 0 8px}
.contact p{color:var(--muted);margin:0}
.site-footer{padding:45px 0 25px;background:#05101b;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.footer-title{color:#fff;font-weight:800;margin-bottom:14px}
.footer-copy{color:var(--muted);font-size:.86rem;max-width:360px}
.footer-links{display:grid;gap:8px;color:var(--muted);font-size:.88rem}
.footer-links a:hover{color:var(--cyan)}
.copyright{border-top:1px solid var(--line);margin-top:32px;padding-top:19px;color:#6e849a;font-size:.78rem;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
@media(max-width:992px){.topic-layout,.insight-layout{grid-template-columns:1fr}.topic-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.hero{padding:68px 0 54px}.section{padding:62px 0}.filter-bar,.quote-layout,.contact{display:block}.result-count{margin-top:15px}.topic-grid{grid-template-columns:1fr}.quote-layout .btn-primary-custom{margin-top:22px}.footer-grid{grid-template-columns:1fr;gap:24px}}
@media(max-width:520px){.brand{font-size:.98rem}.hero h1{font-size:2.25rem}.topic-cover,.topic-cover img{min-height:300px}.directory,.insight-note,.contact{padding:22px}.insight-item{grid-template-columns:1fr;gap:5px}.hero-actions a{width:100%;justify-content:center}.notice-chip{display:none}}
