/* roulang page: index */
:root{
      --blue:#2677e8;
      --blue-dark:#1558b7;
      --cyan:#22a9d6;
      --orange:#f4775a;
      --ink:#172033;
      --muted:#5e6b82;
      --soft:#8b96a9;
      --line:#e4ebf5;
      --bg:#f6f9fe;
      --panel:#fff;
      --pale:#edf5ff;
      --pale-2:#f2f8ff;
      --success:#258a71;
      --danger:#cf614b;
      --shadow:0 10px 30px rgba(31,77,140,.08);
      --shadow-hover:0 16px 38px rgba(31,77,140,.14);
      --radius:16px;
      --radius-sm:11px;
      --container:1200px;
      --trans:all .22s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;background:var(--bg);color:var(--ink);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
      font-size:16px;line-height:1.82;
    }
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    button{cursor:pointer}
    img{display:block;max-width:100%}
    :focus-visible{outline:3px solid rgba(38,119,232,.34);outline-offset:3px}
    .container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
    .sr-only{
      position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
      clip:rect(0,0,0,0);white-space:nowrap;border:0
    }
    .site-header{
      position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);
      border-bottom:1px solid var(--line);box-shadow:0 4px 15px rgba(30,66,115,.035)
    }
    .brand-row{height:58px;display:flex;align-items:center;gap:24px}
    .logo{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
    .logo-mark{
      width:30px;height:30px;border-radius:9px;background:var(--blue);display:grid;place-items:center;
      box-shadow:0 7px 14px rgba(38,119,232,.22)
    }
    .logo-mark svg{width:16px;height:16px;fill:#fff;margin-left:2px}
    .top-search{margin-left:auto;display:flex;align-items:center;width:min(390px,36vw)}
    .top-search input{
      min-width:0;width:100%;height:38px;padding:0 12px;border:1px solid #dce5f1;border-right:0;
      border-radius:10px 0 0 10px;color:var(--ink);background:#fff;transition:var(--trans)
    }
    .top-search input::placeholder{color:var(--soft)}
    .top-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(38,119,232,.11);outline:none}
    .top-search button{
      height:38px;padding:0 13px;border:0;border-radius:0 10px 10px 0;background:var(--blue);color:#fff;
      font-weight:700;transition:var(--trans)
    }
    .top-search button:hover{background:var(--blue-dark)}
    .mini-links{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:13px;white-space:nowrap}
    .mini-link{display:inline-flex;align-items:center;gap:5px;transition:var(--trans)}
    .mini-link:hover{color:var(--blue)}
    .mini-dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(244,119,90,.12)}
    .channel-row{border-top:1px solid #f1f4f9}
    .channel-inner{height:48px;display:flex;align-items:center;gap:8px;overflow:hidden}
    .nav-links{height:100%;display:flex;align-items:center;gap:3px;white-space:nowrap}
    .nav-links a{
      display:flex;align-items:center;height:100%;padding:0 15px;color:var(--muted);font-size:14px;font-weight:700;
      border-bottom:3px solid transparent;transition:var(--trans)
    }
    .nav-links a:hover{background:var(--pale-2);color:var(--blue)}
    .nav-links a.active{border-color:var(--blue);color:var(--blue);background:var(--pale-2)}
    .hot-tags{margin-left:auto;display:flex;gap:7px;white-space:nowrap}
    .hot-tag,.badge{
      display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:12px;
      font-weight:700;line-height:1.3
    }
    .hot-tag{background:#f4f8fe;color:#60708b;border:1px solid #edf2fa}
    .hot-tag.hot{background:#fff1ec;color:#c85a40;border-color:#ffdfd5}
    .mobile-tools{display:none;margin-left:auto;gap:8px}
    .icon-button{
      width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;
      display:grid;place-items:center;color:var(--blue);transition:var(--trans)
    }
    .icon-button:hover{background:var(--pale);border-color:#bed7fb}
    .icon-button svg{width:18px;height:18px}
    .mobile-search-panel{display:none;padding:0 0 14px}
    .mobile-search-panel.open{display:block}
    .mobile-search-panel form{display:flex}
    .mobile-search-panel input{
      height:44px;flex:1;border:1px solid #dce5f1;border-radius:10px 0 0 10px;padding:0 12px;min-width:0
    }
    .mobile-search-panel button{border:0;background:var(--blue);color:#fff;padding:0 16px;border-radius:0 10px 10px 0;font-weight:700}

    main{overflow:hidden}
    .hero{padding:66px 0 40px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
    .hero-shell{
      position:relative;padding:42px 48px 38px;border:1px solid #e5eefb;border-radius:24px;background:#fff;
      box-shadow:var(--shadow);overflow:hidden
    }
    .hero-shell:before,.hero-shell:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
    .hero-shell:before{width:300px;height:300px;right:-125px;top:-155px;border:42px solid #eaf4ff}
    .hero-shell:after{width:190px;height:190px;left:-100px;bottom:-122px;border:28px solid #f0f7ff}
    .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:800;font-size:13px;letter-spacing:.3px}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--cyan)}
    h1,h2,h3,p{margin-top:0}
    h1{margin:10px 0 14px;font-size:44px;line-height:1.22;letter-spacing:-1.3px}
    h2{font-size:31px;line-height:1.32;letter-spacing:-.6px;margin-bottom:12px}
    h3{font-size:19px;line-height:1.45;margin-bottom:7px}
    .hero-copy{max-width:650px;color:var(--muted);margin-bottom:22px}
    .hero-points{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px;padding:0;list-style:none}
    .hero-points li{
      padding:6px 10px;background:var(--pale-2);color:#416389;border-radius:8px;font-size:13px;
      border:1px solid #e5f0fd
    }
    .button-row{display:flex;flex-wrap:wrap;gap:11px}
    .btn{
      min-height:44px;padding:0 17px;border-radius:11px;border:1px solid transparent;display:inline-flex;align-items:center;
      justify-content:center;gap:8px;font-size:14px;font-weight:800;transition:var(--trans)
    }
    .btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 16px rgba(38,119,232,.18)}
    .btn-primary:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 12px 22px rgba(38,119,232,.24)}
    .btn-primary:active{transform:translateY(0)}
    .btn-secondary{background:#fff;border-color:#bcd5f8;color:var(--blue)}
    .btn-secondary:hover{background:var(--pale);border-color:var(--blue)}
    .btn[disabled]{cursor:not-allowed;background:#b5c7df;border-color:#b5c7df;box-shadow:none;transform:none}
    .hero-visual{min-height:290px;position:relative}
    .matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;transform:rotate(-2deg);padding:15px}
    .matrix-cell{
      height:98px;border-radius:15px;padding:12px;position:relative;overflow:hidden;color:#fff;
      box-shadow:0 12px 20px rgba(30,80,150,.16)
    }
    .matrix-cell:nth-child(1){background:linear-gradient(145deg,#2677e8,#57a3ff);grid-column:span 2}
    .matrix-cell:nth-child(2){background:linear-gradient(145deg,#22a9d6,#72d5ee)}
    .matrix-cell:nth-child(3){background:linear-gradient(145deg,#416caa,#6d96cf)}
    .matrix-cell:nth-child(4){background:linear-gradient(145deg,#4d8cda,#7cb8ff)}
    .matrix-cell:nth-child(5){background:linear-gradient(145deg,#8cb7eb,#5f92d2);grid-column:span 2}
    .matrix-cell:nth-child(6){background:linear-gradient(145deg,#2b8eb6,#4ec4dc)}
    .matrix-cell:before{content:"";position:absolute;width:92px;height:92px;right:-28px;bottom:-38px;border:18px solid rgba(255,255,255,.18);border-radius:50%}
    .matrix-cell span{font-size:11px;font-weight:700;opacity:.9;position:relative}
    .matrix-cell b{position:absolute;bottom:11px;left:12px;font-size:13px;z-index:1}
    .play-bubble{
      position:absolute;right:10%;top:36%;width:66px;height:66px;border-radius:50%;background:#fff;color:var(--blue);
      display:grid;place-items:center;box-shadow:0 13px 25px rgba(24,76,142,.2);z-index:2
    }
    .play-bubble svg{width:26px;height:26px;fill:currentColor;margin-left:4px}
    .status-strip{
      position:absolute;z-index:3;bottom:5px;left:0;background:#fff;border:1px solid #dceafa;border-radius:12px;
      box-shadow:var(--shadow);padding:10px 13px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)
    }
    .status-strip b{color:var(--ink)}
    .status-line{height:6px;width:72px;background:#ddecff;border-radius:999px;overflow:hidden}
    .status-line:after{content:"";display:block;width:70%;height:100%;background:var(--cyan);border-radius:999px}
    .hero-meta{position:relative;z-index:1;display:flex;align-items:center;gap:13px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
    .hero-meta strong{color:var(--blue);font-size:16px}
    .hero-meta .split{width:1px;height:17px;background:var(--line)}

    .section{padding:82px 0}
    .section-head{max-width:680px;margin-bottom:30px}
    .section-head p{margin:0;color:var(--muted)}
    .problem-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:52px;align-items:start}
    .problem-list{border-left:1px solid #dbe8f8;padding-left:22px}
    .problem-item{position:relative;padding:0 0 22px;cursor:pointer}
    .problem-item:last-child{padding-bottom:0}
    .problem-item:before{content:"";position:absolute;width:11px;height:11px;border:3px solid #fff;background:#c6d9f2;box-shadow:0 0 0 1px #c6d9f2;border-radius:50%;left:-28px;top:6px}
    .problem-item.active:before{background:var(--blue);box-shadow:0 0 0 1px var(--blue)}
    .problem-index{font-size:12px;font-weight:800;color:var(--blue)}
    .problem-item p{font-size:14px;color:var(--muted);margin:0}
    .discovery-panel{background:#fff;border:1px solid #e3ecf8;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
    .panel-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line)}
    .chip{
      padding:6px 10px;border:1px solid #dce9f8;background:#fff;color:#557090;border-radius:999px;font-size:12px;font-weight:700;transition:var(--trans)
    }
    button.chip:hover,button.chip.active{background:var(--pale);border-color:#afcef4;color:var(--blue)}
    .sort-select{margin-left:auto;border:1px solid #dce5f1;color:var(--muted);background:#fff;border-radius:8px;height:32px;padding:0 9px;font-size:12px}
    .feature-content{display:grid;grid-template-columns:160px 1fr;gap:17px;padding:19px 0;border-bottom:1px solid var(--line)}
    .cover{
      position:relative;overflow:hidden;border-radius:12px;background:linear-gradient(135deg,#b9d7f8,#7baee6);
      min-height:114px
    }
    .cover:before,.small-cover:before,.track-cover:before{
      content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(10,72,148,.18))
    }
    .cover:after,.small-cover:after,.track-cover:after{
      content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;
      border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:var(--blue);font-size:12px;padding-left:2px
    }
    .content-info p{font-size:14px;color:var(--muted);margin:4px 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .badge{padding:4px 8px;background:var(--pale);color:var(--blue)}
    .badge.warm{background:#fff0eb;color:#ce6046}
    .meta-row{display:flex;gap:12px;align-items:center;color:var(--soft);font-size:12px}
    .mini-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-top:18px}
    .mini-content{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #edf1f7;border-radius:11px;transition:var(--trans)}
    .mini-content:hover{border-color:#bfdafa;background:#fbfdff}
    .small-cover{width:64px;height:52px;flex:0 0 64px;border-radius:9px;background:linear-gradient(145deg,#78b7e3,#3d78c0);position:relative;overflow:hidden}
    .small-cover:after{width:23px;height:23px;font-size:8px}
    .mini-content b{display:block;font-size:13px;line-height:1.45}
    .mini-content span{display:block;color:var(--soft);font-size:11px;margin-top:3px}

    .outcome{background:var(--pale);border-top:1px solid #e1eefc;border-bottom:1px solid #e1eefc}
    .outcome-layout{display:grid;grid-template-columns:310px 1fr;gap:35px;align-items:center}
    .metric-stack{display:grid;gap:12px}
    .metric{padding:15px 16px;background:#fff;border:1px solid #dfebf9;border-radius:13px;box-shadow:0 6px 16px rgba(31,77,140,.05)}
    .metric-top{display:flex;justify-content:space-between;align-items:end;gap:10px}
    .metric strong{font-size:25px;line-height:1;color:var(--blue)}
    .metric span{font-size:12px;color:var(--muted)}
    .progress{height:6px;background:#e5effb;border-radius:99px;overflow:hidden;margin-top:10px}
    .progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan))}
    .track-wrap{min-width:0}
    .track-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
    .track-actions{display:flex;gap:7px}
    .arrow{
      width:33px;height:33px;border:1px solid #cfe0f5;background:#fff;border-radius:9px;color:var(--blue);
      display:grid;place-items:center;transition:var(--trans)
    }
    .arrow:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
    .content-track{display:flex;gap:15px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin}
    .track-card{
      flex:0 0 255px;background:#fff;border:1px solid #dfebf8;border-radius:14px;overflow:hidden;box-shadow:0 7px 18px rgba(31,77,140,.06);
      scroll-snap-align:start;transition:var(--trans)
    }
    .track-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
    .track-card:hover .track-cover{transform:scale(1.02)}
    .track-cover{height:132px;position:relative;overflow:hidden;background:linear-gradient(135deg,#89bff0,#3875c8);transition:var(--trans)}
    .track-card:nth-child(2) .track-cover{background:linear-gradient(135deg,#6bc9df,#4688cb)}
    .track-card:nth-child(3) .track-cover{background:linear-gradient(135deg,#aecdef,#7096cd)}
    .track-card:nth-child(4) .track-cover{background:linear-gradient(135deg,#65a3e8,#39aecf)}
    .track-body{padding:14px}
    .track-body h3{font-size:16px;margin:8px 0 5px}
    .track-body p{font-size:13px;line-height:1.65;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
    .card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:11px;color:var(--soft);font-size:12px}
    .text-link{color:var(--blue);font-weight:800}
    .text-link:hover{text-decoration:underline;color:var(--blue-dark)}

    .topic-section{background:#fff}
    .topic-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}
    .topic-block{padding:26px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;box-shadow:0 8px 22px rgba(31,77,140,.05)}
    .topic-block.blue-tint{background:linear-gradient(150deg,#f1f7ff,#fff)}
    .topic-block p{color:var(--muted);font-size:14px;margin-bottom:16px}
    .tag-cloud{display:flex;gap:8px;flex-wrap:wrap}
    .topic-link{
      display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:9px;background:#fff;border:1px solid #dce8f7;color:#426383;font-size:13px;font-weight:700;transition:var(--trans)
    }
    .topic-link:hover{border-color:#a9cbf3;color:var(--blue);transform:translateY(-2px)}
    .topic-link i{width:6px;height:6px;border-radius:50%;background:var(--cyan)}
    .index-list{list-style:none;padding:0;margin:0}
    .index-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed #dfe8f4;font-size:14px}
    .index-list li:last-child{border-bottom:0}
    .index-num{color:var(--blue);font-weight:800;font-size:12px}
    .index-list span:last-child{margin-left:auto;color:var(--soft);font-size:12px}

    .feedback-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
    .quote-card{background:#fff;border:1px solid #e1ebf7;border-radius:var(--radius);box-shadow:var(--shadow);padding:30px;position:relative;overflow:hidden}
    .quote-card:after{content:"“";position:absolute;right:24px;top:-23px;font-size:140px;font-family:Georgia,serif;color:#edf5ff;line-height:1}
    .quote-main{min-height:235px;display:flex;flex-direction:column;justify-content:space-between}
    .quote-main blockquote{font-size:21px;font-weight:700;line-height:1.65;margin:0;max-width:82%;position:relative;z-index:1}
    .person{display:flex;align-items:center;gap:11px;position:relative;z-index:1}
    .avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#7fb4eb,#3d82d7);position:relative}
    .avatar:after{content:"";position:absolute;left:11px;top:8px;width:16px;height:16px;border-radius:50% 50% 43% 43%;background:rgba(255,255,255,.75)}
    .person b{display:block;font-size:14px}
    .person span{display:block;font-size:12px;color:var(--muted)}
    .side-feedback{display:grid;gap:18px}
    .mini-quote{background:#fff;border:1px solid #e1ebf7;border-radius:var(--radius);padding:21px;transition:var(--trans)}
    .mini-quote:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
    .quote-icon{color:var(--cyan);font-size:27px;line-height:1}
    .mini-quote p{font-size:15px;font-weight:700;line-height:1.7;margin:8px 0 11px}
    .mini-quote small{color:var(--muted);font-size:12px}

    .news-section{background:#fff}
    .news-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:32px}
    .news-list{border-top:1px solid var(--line)}
    .news-item{display:grid;grid-template-columns:86px 1fr auto;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);transition:var(--trans)}
    .news-item:hover{padding-left:8px}
    .news-date{font-size:12px;color:var(--soft);line-height:1.4}
    .news-date b{font-size:19px;color:var(--blue);display:block}
    .news-item h3{font-size:16px;margin:0 0 3px;transition:var(--trans)}
    .news-item:hover h3{color:var(--blue)}
    .news-item p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}
    .news-arrow{color:var(--blue);font-size:20px}
    .news-aside{background:var(--pale);border:1px solid #dceafa;border-radius:var(--radius);padding:23px}
    .news-aside h3{font-size:18px}
    .update-list{list-style:none;padding:0;margin:0}
    .update-list li{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid rgba(180,208,240,.55)}
    .update-list li:last-child{border-bottom:0}
    .update-mark{width:24px;height:24px;flex:0 0 24px;border-radius:8px;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:11px;font-weight:800}
    .update-list b{font-size:14px;display:block;line-height:1.35}
    .update-list span{font-size:12px;color:var(--muted);display:block;margin-top:2px}

    .faq-compact{padding-top:50px}
    .faq-box{background:#fff;border:1px solid #e1eaf5;border-radius:var(--radius);overflow:hidden;box-shadow:0 7px 19px rgba(31,77,140,.05)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-item:last-child{border-bottom:0}
    .faq-question{
      width:100%;padding:17px 21px;border:0;background:#fff;color:var(--ink);text-align:left;font-weight:800;
      display:flex;align-items:center;justify-content:space-between;gap:18px;transition:var(--trans)
    }
    .faq-question:hover{background:#fbfdff;color:var(--blue)}
    .faq-question svg{width:18px;height:18px;transition:transform .2s}
    .faq-item.open .faq-question svg{transform:rotate(45deg);color:var(--blue)}
    .faq-answer{display:none;padding:0 21px 18px;color:var(--muted);font-size:14px}
    .faq-item.open .faq-answer{display:block}

    .cta-zone{padding:82px 0;background:var(--pale)}
    .cta-card{
      position:relative;overflow:hidden;background:#fff;border:1px solid #dbeafa;border-radius:23px;padding:45px;
      text-align:center;box-shadow:var(--shadow)
    }
    .cta-card:before,.cta-card:after{content:"";position:absolute;pointer-events:none;border:2px solid #e2effe;border-radius:20px;transform:rotate(25deg)}
    .cta-card:before{width:150px;height:150px;left:-60px;bottom:-82px}
    .cta-card:after{width:120px;height:120px;right:-30px;top:-60px}
    .cta-card h2{position:relative;margin-bottom:10px}
    .cta-card p{max-width:650px;margin:0 auto 23px;color:var(--muted)}
    .big-search{position:relative;z-index:1;max-width:680px;margin:0 auto;display:flex}
    .big-search input{
      flex:1;min-width:0;height:50px;border:1px solid #d4e2f2;border-right:0;border-radius:12px 0 0 12px;padding:0 16px;
      color:var(--ink);outline:none;transition:var(--trans)
    }
    .big-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(38,119,232,.11)}
    .big-search button{height:50px;padding:0 21px;border:0;border-radius:0 12px 12px 0;background:var(--blue);color:#fff;font-weight:800;transition:var(--trans)}
    .big-search button:hover{background:var(--blue-dark)}
    .cta-shortcuts{position:relative;z-index:1;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:17px}
    .cta-shortcuts a{font-size:13px;color:var(--blue);background:var(--pale);padding:5px 10px;border-radius:999px;transition:var(--trans)}
    .cta-shortcuts a:hover{background:#dcecff;color:var(--blue-dark)}

    .site-footer{background:#fff;border-top:1px solid var(--line);padding:45px 0 20px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px;padding-bottom:32px}
    .footer-brand p{font-size:13px;color:var(--muted);max-width:360px;margin:12px 0 0}
    .footer-col h3{font-size:14px;margin-bottom:12px}
    .footer-col a{display:block;font-size:13px;color:var(--muted);padding:4px 0;transition:var(--trans)}
    .footer-col a:hover{color:var(--blue);padding-left:3px}
    .footer-bottom{border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--soft);font-size:12px}
    .footer-bottom nav{display:flex;gap:14px}
    .footer-bottom a:hover{color:var(--blue)}

    @media (max-width:1024px){
      .top-search{width:290px}
      .hero-shell{padding:36px}
      h1{font-size:38px}
      .outcome-layout{grid-template-columns:280px 1fr}
      .news-layout{gap:22px}
    }
    @media (max-width:820px){
      .brand-row{gap:14px}
      .mini-links{display:none}
      .top-search{width:min(330px,44vw)}
      .hero-grid,.problem-grid,.outcome-layout,.feedback-layout,.news-layout{grid-template-columns:1fr}
      .hero-visual{max-width:520px;width:100%;margin:0 auto}
      .outcome-layout{gap:28px}
      .metric-stack{grid-template-columns:repeat(3,1fr)}
      .quote-main{min-height:190px}
      .news-aside{max-width:none}
      .topic-layout{grid-template-columns:1fr}
    }
    @media (max-width:640px){
      body{font-size:15px}
      .container{width:min(calc(100% - 32px),var(--container))}
      .brand-row{height:56px}
      .logo{font-size:15px}
      .logo-mark{width:27px;height:27px;border-radius:8px}
      .top-search{display:none}
      .mobile-tools{display:flex}
      .channel-inner{height:45px;overflow-x:auto}
      .nav-links a{padding:0 12px;font-size:13px}
      .hot-tags{display:none}
      .hero{padding:35px 0 20px}
      .hero-shell{padding:29px 20px 25px;border-radius:18px}
      h1{font-size:30px;letter-spacing:-.7px}
      h2{font-size:25px}
      .hero-copy{font-size:14px;line-height:1.8}
      .hero-grid{gap:23px}
      .hero-visual{min-height:242px}
      .matrix{gap:8px;padding:6px}
      .matrix-cell{height:77px;border-radius:12px;padding:9px}
      .matrix-cell b{font-size:11px;left:9px;bottom:8px}
      .play-bubble{width:53px;height:53px;right:7%;top:34%}
      .status-strip{font-size:11px;padding:8px 9px}
      .status-line{width:47px}
      .hero-meta{margin-top:19px;gap:9px;flex-wrap:wrap}
      .section{padding:57px 0}
      .section-head{margin-bottom:23px}
      .problem-grid{gap:25px}
      .discovery-panel{padding:16px}
      .feature-content{grid-template-columns:112px 1fr;gap:12px}
      .cover{min-height:101px}
      .mini-cards{grid-template-columns:1fr}
      .sort-select{margin-left:0}
      .metric-stack{grid-template-columns:1fr}
      .track-card{flex-basis:235px}
      .feedback-layout{gap:14px}
      .quote-card{padding:22px}
      .quote-main blockquote{font-size:18px;max-width:92%}
      .news-item{grid-template-columns:58px 1fr auto;gap:9px}
      .news-date b{font-size:16px}
      .news-item p{display:none}
      .news-item h3{font-size:14px}
      .faq-compact{padding-top:36px}
      .cta-zone{padding:56px 0}
      .cta-card{padding:31px 18px}
      .big-search{display:block}
      .big-search input{width:100%;border-right:1px solid #d4e2f2;border-radius:11px;margin-bottom:9px}
      .big-search button{width:100%;border-radius:11px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:26px}
      .footer-brand{grid-column:1/-1}
    }
    @media (max-width:430px){
      .button-row{display:grid;grid-template-columns:1fr}
      .btn{width:100%}
      .hero-points{gap:6px}
      .hero-points li{font-size:12px}
      .feature-content{grid-template-columns:1fr}
      .cover{height:145px}
      .footer-grid{grid-template-columns:1fr}
      .footer-brand{grid-column:auto}
      .footer-bottom{display:block}
      .footer-bottom nav{margin-top:8px;flex-wrap:wrap}
    }

/* roulang page: category1 */
:root{
 --blue:#2677e8;--blue-dark:#1558b7;--cyan:#22a9d6;--orange:#f4775a;
 --ink:#172033;--muted:#5e6b82;--soft:#8b96a9;--line:#e4ebf5;
 --bg:#f6f9fe;--panel:#fff;--pale:#edf5ff;--pale-2:#f2f8ff;
 --success:#258a71;--danger:#cf614b;--shadow:0 10px 30px rgba(31,77,140,.08);
 --shadow-hover:0 16px 38px rgba(31,77,140,.14);--radius:16px;--radius-sm:11px;
 --container:1200px;--trans:all .22s ease
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;font-size:16px;line-height:1.82}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 4px 15px rgba(30,66,115,.035)}
.brand-row{height:58px;display:flex;align-items:center;gap:24px}
.logo{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
.logo-mark{width:30px;height:30px;border-radius:9px;background:var(--blue);display:grid;place-items:center;box-shadow:0 7px 14px rgba(38,119,232,.22)}
.logo-mark svg{width:16px;height:16px;fill:#fff;margin-left:2px}
.top-search{margin-left:auto;display:flex;align-items:center;width:min(390px,36vw)}
.top-search input{min-width:0;width:100%;height:38px;padding:0 12px;border:1px solid #dce5f1;border-right:0;border-radius:10px 0 0 10px;color:var(--ink);background:#fff;transition:var(--trans)}
.top-search input::placeholder{color:var(--soft)}
.top-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(38,119,232,.11);outline:none}
.top-search button{height:38px;padding:0 13px;border:0;border-radius:0 10px 10px 0;background:var(--blue);color:#fff;font-weight:700;transition:var(--trans)}
.top-search button:hover{background:var(--blue-dark)}
.channel-row{height:44px;border-top:1px solid #f1f4f9}
.channel-inner{display:flex;height:100%;align-items:center}
.nav-links{height:100%;display:flex;align-items:center;gap:3px;white-space:nowrap}
.nav-links a{display:flex;align-items:center;height:100%;padding:0 15px;color:var(--muted);font-size:14px;font-weight:700;border-bottom:3px solid transparent;transition:var(--trans)}
.nav-links a:hover{background:var(--pale-2);color:var(--blue)}
.nav-links a.active{border-color:var(--blue);color:var(--blue);background:var(--pale-2)}
.hot-tags{margin-left:auto;display:flex;gap:7px;white-space:nowrap}
.hot-tag,.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;line-height:1.3}
.hot-tag{background:#f4f8fe;color:#60708b;border:1px solid #edf2fa}
.hot-tag.hot{background:#fff1ec;color:#c85a40;border-color:#ffdfd5}
.mobile-tools{display:none;margin-left:auto;gap:8px}
.icon-button{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;place-items:center;color:var(--blue);transition:var(--trans)}
.icon-button:hover{background:var(--pale);border-color:#bed7fb}
.icon-button svg{width:18px;height:18px}
.mobile-search-panel{display:none;padding:0 0 14px}
.mobile-search-panel.open{display:block}
.mobile-search-panel form{display:flex}
.mobile-search-panel input{height:44px;flex:1;border:1px solid #dce5f1;border-radius:10px 0 0 10px;padding:0 12px;min-width:0}
.mobile-search-panel button{border:0;background:var(--blue);color:#fff;padding:0 16px;border-radius:0 10px 10px 0;font-weight:700}
main{overflow:hidden}
.breadcrumb{padding:28px 0 12px;color:var(--soft);font-size:13px}
.breadcrumb a{color:var(--blue)}
.category-hero{padding:26px 0 56px}
.category-hero-shell{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:48px;border:1px solid #dfebfa;border-radius:24px;background:linear-gradient(120deg,#fff 0%,#edf6ff 100%);overflow:hidden;box-shadow:var(--shadow)}
.category-hero-shell:after{content:"";position:absolute;width:330px;height:330px;right:-150px;top:-170px;border:45px solid rgba(255,255,255,.75);border-radius:50%}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:800;font-size:13px}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--cyan)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(32px,4vw,46px);line-height:1.25;letter-spacing:-1.5px;margin:14px 0 16px}
h2{font-size:30px;line-height:1.35;letter-spacing:-.8px;margin:0 0 12px}
h3{font-size:19px;line-height:1.45;margin:0 0 8px}
.hero-text{max-width:650px;color:var(--muted);margin-bottom:24px}
.button-row{display:flex;gap:11px;flex-wrap:wrap}
.btn{min-height:44px;padding:0 17px;border-radius:11px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:800;transition:var(--trans)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 16px rgba(38,119,232,.18)}
.btn-primary:hover{background:var(--blue-dark);transform:translateY(-2px)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{background:#fff;border-color:#bcd5f8;color:var(--blue)}
.btn-secondary:hover{background:var(--pale);border-color:var(--blue)}
.hero-art{position:relative;min-height:270px}
.art-card{position:absolute;border-radius:16px;border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 34px rgba(31,77,140,.15);overflow:hidden;color:#fff}
.art-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(38,119,232,.95),rgba(34,169,214,.72) 55%,rgba(21,88,183,.9))}
.art-card:after{content:"";position:absolute;width:120px;height:120px;border:1px solid rgba(255,255,255,.42);border-radius:50%;right:-22px;bottom:-32px}
.art-card span,.art-card strong{position:relative;z-index:1;display:block}
.art-card strong{font-size:18px;margin-top:12px}
.art-card span{font-size:12px;opacity:.88}
.art-main{width:240px;height:190px;right:48px;top:38px;padding:25px;transform:rotate(2deg)}
.art-back{width:165px;height:130px;left:15px;top:20px;padding:18px;transform:rotate(-8deg);opacity:.82}
.art-front{width:175px;height:126px;right:0;bottom:0;padding:18px;transform:rotate(7deg);background:#1558b7}
.play-circle{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);box-shadow:0 10px 22px rgba(21,88,183,.2)}
.play-circle svg{width:22px;height:22px;fill:currentColor;margin-left:3px}
.section{padding:78px 0}
.section-head{max-width:690px;margin-bottom:28px}
.section-head p{color:var(--muted);margin-bottom:0}
.filter-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 20px;margin-bottom:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.filter-label{font-size:13px;font-weight:800;color:var(--muted)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid #dce7f5;border-radius:999px;padding:7px 13px;background:#fff;color:var(--muted);font-size:13px;transition:var(--trans)}
.chip:hover,.chip:focus{border-color:#a9c9f5;color:var(--blue);background:var(--pale);outline:none}
.chip.active{background:var(--blue);border-color:var(--blue);color:#fff}
.sort-select{height:38px;margin-left:auto;border:1px solid #dce5f1;border-radius:9px;padding:0 11px;color:var(--muted);background:#fff;outline:none}
.sort-select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(38,119,232,.1)}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px;align-items:start}
.content-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.feature-card{grid-column:1/-1;display:grid;grid-template-columns:230px 1fr;min-height:190px}
.content-card,.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--trans)}
.content-card:hover,.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.content-card:focus-within,.feature-card:focus-within{outline:2px solid var(--blue);outline-offset:3px}
.cover{position:relative;min-height:174px;overflow:hidden;background:#dfeefe}
.feature-card .cover{min-height:190px}
.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#2677e8 0%,#7bc7e2 48%,#d8edff 100%)}
.cover.alt:before{background:linear-gradient(135deg,#1558b7,#6eb7df 52%,#eaf5ff)}
.cover.warm:before{background:linear-gradient(135deg,#22a9d6,#83d4df 54%,#fff1e9)}
.cover:after{content:"";position:absolute;width:105px;height:105px;border:1px solid rgba(255,255,255,.65);border-radius:50%;right:-18px;bottom:-26px}
.cover-mark{position:absolute;z-index:1;left:18px;bottom:16px;color:#fff;font-size:14px;font-weight:800}
.cover-play{position:absolute;z-index:2;right:16px;top:15px;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:var(--blue)}
.cover-play svg{width:14px;height:14px;fill:currentColor;margin-left:2px}
.card-body{padding:19px 20px}
.card-meta{display:flex;align-items:center;gap:8px;color:var(--soft);font-size:12px;margin-top:15px}
.badge{background:var(--pale);color:var(--blue)}
.badge.hot{background:#fff1ec;color:#c85a40}
.card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:13px;margin:0}
.side-panel{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.side-panel+.side-panel{margin-top:18px}
.side-panel h3{font-size:17px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.side-tags{display:flex;gap:8px;flex-wrap:wrap}
.side-tag{padding:6px 10px;border-radius:8px;background:var(--pale-2);color:#416389;font-size:12px}
.update-list,.trend-list{list-style:none;margin:0;padding:0}
.update-list li,.trend-list li{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #eef2f7;font-size:13px}
.update-list li:last-child,.trend-list li:last-child{border-bottom:0;padding-bottom:0}
.update-list time{color:var(--soft);margin-left:auto;white-space:nowrap}
.trend-num{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:var(--pale);color:var(--blue);font-weight:800;font-size:12px;flex:none}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:34px}
.page-link{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:#fff;color:var(--muted);font-size:13px;transition:var(--trans)}
.page-link:hover,.page-link:focus{border-color:#a9c9f5;color:var(--blue);background:var(--pale);outline:none}
.page-link.current{background:var(--blue);border-color:var(--blue);color:#fff}
.page-link.disabled{color:#b9c2cf;background:#f5f7fa;cursor:not-allowed}
.empty-state{grid-column:1/-1;text-align:center;padding:54px 20px;border:1px dashed #cbdcf1;border-radius:var(--radius);background:#fff;color:var(--muted)}
.empty-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:16px;background:var(--pale);display:grid;place-items:center;color:var(--blue)}
.cta-section{padding:20px 0 82px}
.cta-card{position:relative;text-align:center;padding:52px 30px;border:1px solid #dceafa;border-radius:24px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.cta-card:before{content:"";position:absolute;width:240px;height:240px;left:-100px;bottom:-140px;border:30px solid #eef6ff;border-radius:50%}
.cta-card>*{position:relative;z-index:1}
.cta-card p{max-width:570px;margin:0 auto 23px;color:var(--muted)}
.cta-form{display:flex;max-width:650px;margin:0 auto 18px}
.cta-form input{height:48px;flex:1;min-width:0;padding:0 15px;border:1px solid #dce5f1;border-right:0;border-radius:11px 0 0 11px;outline:none}
.cta-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(38,119,232,.1)}
.cta-form button{height:48px;border:0;border-radius:0 11px 11px 0;padding:0 22px;background:var(--blue);color:#fff;font-weight:800}
.cta-form button:hover{background:var(--blue-dark)}
.site-footer{padding:48px 0 22px;border-top:1px solid var(--line);background:#fff}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:46px;padding-bottom:36px}
.footer-brand .logo{margin-bottom:13px}
.footer-brand p{max-width:390px;color:var(--muted);font-size:13px;margin:0}
.footer-col{display:flex;flex-direction:column;gap:8px}
.footer-col h3{font-size:14px;margin-bottom:7px}
.footer-col a,.footer-bottom a{font-size:13px;color:var(--muted);transition:var(--trans)}
.footer-col a:hover,.footer-bottom a:hover{color:var(--blue)}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid #eef2f7;color:var(--soft);font-size:12px}
.footer-bottom nav{display:flex;gap:18px}
@media(max-width:900px){
 .content-layout{grid-template-columns:1fr}.side-panel{margin-top:2px}
 .category-hero-shell{grid-template-columns:1fr;padding:38px}.hero-art{max-width:510px;width:100%;margin:auto}
}
@media(max-width:700px){
 .container{width:min(calc(100% - 32px),var(--container))}
 .brand-row{height:58px}.top-search{display:none}.mobile-tools{display:flex}
 .channel-row{overflow-x:auto}.channel-inner{min-width:max-content}.hot-tags{display:none}
 .category-hero{padding:18px 0 42px}.category-hero-shell{padding:28px 22px}
 h1{font-size:32px}.section{padding:56px 0}
 .filter-panel{align-items:flex-start}.sort-select{margin-left:0;width:100%}
 .content-list{grid-template-columns:1fr}.feature-card{grid-template-columns:1fr}
 .feature-card .cover{min-height:190px}.cta-section{padding-bottom:58px}
 .cta-form{flex-direction:column;gap:10px}.cta-form input{border-right:1px solid #dce5f1;border-radius:11px}.cta-form button{border-radius:11px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}
 .footer-bottom{flex-direction:column}.footer-bottom nav{gap:12px;flex-wrap:wrap}
}
@media(max-width:430px){
 .button-row .btn{width:100%}.hero-art{min-height:230px}.art-main{right:24px;width:205px;height:165px}.art-back{left:0;width:140px}.art-front{right:0;width:145px}
 .footer-grid{grid-template-columns:1fr}
}

/* roulang page: category2 */
:root{
 --blue:#2677e8;
 --blue-dark:#1558b7;
 --cyan:#22a9d6;
 --orange:#f4775a;
 --ink:#172033;
 --muted:#5e6b82;
 --soft:#8b96a9;
 --line:#e4ebf5;
 --bg:#f6f9fe;
 --panel:#fff;
 --pale:#edf5ff;
 --pale-2:#f2f8ff;
 --success:#258a71;
 --danger:#cf614b;
 --shadow:0 10px 30px rgba(31,77,140,.08);
 --shadow-hover:0 16px 38px rgba(31,77,140,.14);
 --radius:16px;
 --radius-sm:11px;
 --container:1200px;
 --trans:all .22s ease;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 background:var(--bg);
 color:var(--ink);
 font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
 font-size:16px;
 line-height:1.82;
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
.site-header{
 position:sticky;
 top:0;
 z-index:50;
 background:rgba(255,255,255,.97);
 border-bottom:1px solid var(--line);
 box-shadow:0 4px 15px rgba(30,66,115,.035)
}
.brand-row{height:58px;display:flex;align-items:center;gap:24px}
.logo{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
.logo-mark{
 width:30px;height:30px;border-radius:9px;background:var(--blue);display:grid;place-items:center;
 box-shadow:0 7px 14px rgba(38,119,232,.22)
}
.logo-mark svg{width:16px;height:16px;fill:#fff;margin-left:2px}
.top-search{margin-left:auto;display:flex;align-items:center;width:min(390px,36vw)}
.top-search input{
 min-width:0;width:100%;height:38px;padding:0 12px;border:1px solid #dce5f1;border-right:0;
 border-radius:10px 0 0 10px;color:var(--ink);background:#fff;transition:var(--trans)
}
.top-search input::placeholder{color:var(--soft)}
.top-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(38,119,232,.11);outline:none}
.top-search button{
 height:38px;padding:0 13px;border:0;border-radius:0 10px 10px 0;background:var(--blue);color:#fff;
 font-weight:700;transition:var(--trans)
}
.top-search button:hover{background:var(--blue-dark)}
.channel-row{height:43px;border-top:1px solid #f1f4f9}
.channel-inner{display:flex;align-items:center;height:100%}
.nav-links{height:100%;display:flex;align-items:center;gap:3px;white-space:nowrap}
.nav-links a{
 display:flex;align-items:center;height:100%;padding:0 15px;color:var(--muted);font-size:14px;font-weight:700;
 border-bottom:3px solid transparent;transition:var(--trans)
}
.nav-links a:hover{background:var(--pale-2);color:var(--blue)}
.nav-links a.active{border-color:var(--blue);color:var(--blue);background:var(--pale-2)}
.hot-tags{margin-left:auto;display:flex;gap:7px;white-space:nowrap}
.hot-tag,.badge{
 display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:12px;
 font-weight:700;line-height:1.3
}
.hot-tag{background:#f4f8fe;color:#60708b;border:1px solid #edf2fa}
.hot-tag.hot{background:#fff1ec;color:#c85a40;border-color:#ffdfd5}
.mobile-tools{display:none;margin-left:auto;gap:8px}
.icon-button{
 width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;
 display:grid;place-items:center;color:var(--blue);transition:var(--trans)
}
.icon-button:hover{background:var(--pale);border-color:#bed7fb}
.icon-button:focus,.btn:focus,.topic-tab:focus,.faq-question:focus,.search-box input:focus{outline:3px solid rgba(38,119,232,.18);outline-offset:2px}
.icon-button svg{width:18px;height:18px}
.mobile-search-panel{display:none;padding:0 0 14px}
.mobile-search-panel.open{display:block}
.mobile-search-panel form{display:flex}
.mobile-search-panel input{height:44px;flex:1;border:1px solid #dce5f1;border-radius:10px 0 0 10px;padding:0 12px;min-width:0}
.mobile-search-panel button{border:0;background:var(--blue);color:#fff;padding:0 16px;border-radius:0 10px 10px 0;font-weight:700}
main{overflow:hidden}
.breadcrumb{padding:25px 0 0;color:var(--soft);font-size:13px}
.breadcrumb a{color:var(--blue)}
.breadcrumb span{margin:0 8px;color:#b5c1d1}
.topic-hero{padding:28px 0 54px}
.topic-hero-shell{
 display:grid;grid-template-columns:1fr .92fr;gap:48px;align-items:center;
 padding:44px 48px;border:1px solid #e1edfc;border-radius:24px;background:#fff;
 box-shadow:var(--shadow);position:relative;overflow:hidden
}
.topic-hero-shell:before{
 content:"";position:absolute;width:370px;height:370px;border:48px solid #eef6ff;border-radius:50%;
 right:-170px;top:-190px;pointer-events:none
}
.topic-copy,.topic-art{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:800}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--cyan)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(32px,4vw,48px);line-height:1.2;letter-spacing:-1.5px;margin:15px 0 17px}
h2{font-size:clamp(27px,3vw,34px);line-height:1.3;letter-spacing:-.8px;margin:0 0 12px}
h3{font-size:19px;line-height:1.4}
.topic-copy p{max-width:620px;color:var(--muted);margin-bottom:22px}
.topic-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px}
.topic-tag,.content-label{
 display:inline-flex;align-items:center;border-radius:999px;padding:6px 11px;font-size:12px;
 font-weight:800;background:var(--pale);color:#2866ae;border:1px solid #dcecff
}
.topic-tag.warm,.content-label.warm{background:#fff1ec;color:#c85a40;border-color:#ffdfd5}
.btn{
 min-height:44px;padding:0 17px;border-radius:11px;border:1px solid transparent;
 display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:800;transition:var(--trans)
}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 16px rgba(38,119,232,.18)}
.btn-primary:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 12px 22px rgba(38,119,232,.24)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{background:#fff;border-color:#bcd5f8;color:var(--blue)}
.btn-secondary:hover{background:var(--pale);border-color:var(--blue)}
.btn[disabled]{cursor:not-allowed;background:#b5c7df;border-color:#b5c7df;box-shadow:none;transform:none}
.topic-art{min-height:300px}
.art-card{
 position:absolute;border-radius:15px;overflow:hidden;border:1px solid rgba(255,255,255,.8);
 box-shadow:0 14px 30px rgba(28,83,150,.17);background:#dcebfd
}
.art-card:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(38,119,232,.04),rgba(21,88,183,.42))}
.art-card.main{width:67%;height:245px;right:8%;top:24px;background:linear-gradient(145deg,#b9dbfb,#579be8)}
.art-card.back-one{width:37%;height:145px;left:4%;top:6px;background:linear-gradient(145deg,#d6f3fa,#63c1db);transform:rotate(-7deg)}
.art-card.back-two{width:39%;height:150px;right:0;bottom:0;background:linear-gradient(145deg,#e8effd,#8caee4);transform:rotate(7deg)}
.art-lines{position:absolute;z-index:2;left:28px;bottom:25px;width:150px}
.art-lines b{display:block;height:7px;border-radius:5px;background:rgba(255,255,255,.82);margin-top:9px}
.art-lines b:nth-child(2){width:72%}.art-lines b:nth-child(3){width:48%}
.play-disc{
 position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);
 width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
 background:#fff;color:var(--blue);box-shadow:0 10px 22px rgba(21,88,183,.22)
}
.play-disc svg{width:22px;height:22px;fill:currentColor;margin-left:3px}
.art-status{position:absolute;z-index:5;right:22px;top:20px;background:#fff;color:var(--orange);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}
.art-index{position:absolute;z-index:5;left:20px;top:18px;color:#fff;font-weight:900;font-size:24px}
.topic-nav{padding:0 0 27px}
.topic-nav-inner{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}
.topic-nav-inner::-webkit-scrollbar{display:none}
.topic-tab{
 flex:none;padding:10px 17px;border-radius:999px;background:#fff;border:1px solid var(--line);
 color:var(--muted);font-size:14px;font-weight:800;transition:var(--trans)
}
.topic-tab:hover{border-color:#b9d5f7;color:var(--blue);background:var(--pale)}
.topic-tab.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 7px 15px rgba(38,119,232,.18)}
.timeline-section{padding:54px 0 84px;background:#fff}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}
.section-head p{max-width:570px;color:var(--muted);margin:0}
.timeline{position:relative;max-width:1030px;margin:0 auto}
.timeline:before{content:"";position:absolute;left:106px;top:0;bottom:0;width:1px;background:#d8e6f8}
.timeline-item{display:grid;grid-template-columns:82px 1fr;gap:48px;position:relative;margin-bottom:25px}
.timeline-date{text-align:right;padding-top:23px;color:var(--blue);font-size:13px;font-weight:800}
.timeline-dot{
 position:absolute;left:99px;top:25px;width:15px;height:15px;border-radius:50%;
 background:#fff;border:4px solid var(--blue);box-shadow:0 0 0 5px #edf5ff;z-index:2
}
.topic-content-card{
 display:grid;grid-template-columns:250px 1fr;gap:25px;padding:20px;border:1px solid var(--line);
 border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);transition:var(--trans)
}
.topic-content-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.cover{
 min-height:160px;border-radius:12px;position:relative;overflow:hidden;
 background:linear-gradient(135deg,#cce6fb,#71b7e5)
}
.cover.blue{background:linear-gradient(135deg,#d4e4ff,#6698e8)}
.cover.cyan{background:linear-gradient(135deg,#d5f5f5,#53b5cf)}
.cover.purple{background:linear-gradient(135deg,#e3eafa,#8a9fd3)}
.cover:before{content:"";position:absolute;width:120px;height:120px;border:18px solid rgba(255,255,255,.32);border-radius:50%;right:-32px;top:-28px}
.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,transparent 35%,rgba(21,88,183,.33))}
.cover .play-disc{width:42px;height:42px}
.cover .play-disc svg{width:16px;height:16px}
.cover-number{position:absolute;z-index:2;left:15px;bottom:13px;color:#fff;font-size:24px;font-weight:900}
.card-body{display:flex;flex-direction:column;min-width:0}
.card-body h3{margin:11px 0 7px;line-height:1.45}
.card-body h3 a{transition:var(--trans)}
.card-body h3 a:hover{color:var(--blue)}
.card-summary{color:var(--muted);font-size:14px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:auto;padding-top:16px;color:var(--soft);font-size:12px}
.meta-row span{display:inline-flex;align-items:center;gap:5px}
.meta-dot{width:5px;height:5px;border-radius:50%;background:var(--cyan)}
.card-action{margin-left:auto;color:var(--blue);font-weight:800;font-size:13px}
.index-panel{padding:72px 0;background:var(--pale)}
.index-box{
 display:grid;grid-template-columns:.75fr 1.25fr;gap:34px;align-items:center;
 background:#fff;border:1px solid #dceafb;border-radius:20px;padding:31px 34px;box-shadow:var(--shadow)
}
.index-lead h2{font-size:27px;margin-bottom:10px}
.index-lead p{color:var(--muted);font-size:14px;margin:0}
.index-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.index-entry{
 display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:12px;
 transition:var(--trans);background:#fff
}
.index-entry:hover{border-color:#b9d5f7;background:var(--pale-2);transform:translateY(-2px)}
.index-entry strong{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--pale);color:var(--blue);font-size:12px}
.index-entry b{font-size:14px}.index-entry small{display:block;color:var(--soft);font-size:12px}
.related-section{padding:80px 0}
.related-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 42px)/3);gap:21px;overflow-x:auto;padding:5px 2px 16px;scroll-snap-type:x mandatory}
.related-card{scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--trans)}
.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.related-cover{height:145px;position:relative;background:linear-gradient(135deg,#d7e9fc,#72b6de);overflow:hidden}
.related-cover.alt{background:linear-gradient(135deg,#dce8ff,#829ee1)}
.related-cover:before{content:"";position:absolute;inset:24px auto auto 24px;width:90px;height:90px;border:14px solid rgba(255,255,255,.35);border-radius:50%}
.related-cover .play-disc{width:42px;height:42px}
.related-copy{padding:18px 19px}
.related-copy h3{font-size:17px;margin:9px 0 5px}
.related-copy p{font-size:13px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.faq-section{padding:0 0 82px}
.faq-wrap{max-width:820px;margin:0 auto}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.faq-question{
 width:100%;border:0;background:#fff;color:var(--ink);display:flex;justify-content:space-between;
 align-items:center;text-align:left;padding:17px 20px;font-weight:800;transition:var(--trans)
}
.faq-question:hover{background:var(--pale-2);color:var(--blue)}
.faq-question span:last-child{font-size:22px;color:var(--blue);font-weight:400;transition:var(--trans)}
.faq-answer{display:none;padding:0 20px 18px;color:var(--muted);font-size:14px}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
.cta-section{padding:0 0 82px}
.cta-box{
 text-align:center;padding:48px 28px;border:1px solid #d9e9fb;border-radius:22px;background:#fff;
 box-shadow:var(--shadow);position:relative;overflow:hidden
}
.cta-box:before{content:"";position:absolute;width:240px;height:240px;border:34px solid #eef6ff;border-radius:50%;left:-110px;bottom:-150px}
.cta-box h2,.cta-box p,.search-box,.quick-links{position:relative;z-index:1}
.cta-box p{color:var(--muted);margin:0 auto 23px}
.search-box{display:flex;max-width:650px;margin:0 auto 17px;background:#fff}
.search-box input{
 flex:1;min-width:0;height:50px;border:1px solid #dce5f1;border-right:0;border-radius:11px 0 0 11px;padding:0 16px;color:var(--ink)
}
.search-box input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(38,119,232,.11);outline:none}
.search-box button{height:50px;border:0;border-radius:0 11px 11px 0;background:var(--blue);color:#fff;padding:0 22px;font-weight:800}
.search-box button:hover{background:var(--blue-dark)}
.quick-links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;color:var(--blue);font-size:13px}
.quick-links a{padding:5px 10px;border-radius:8px;background:var(--pale-2)}
.quick-links a:hover{background:var(--pale);text-decoration:underline}
.site-footer{border-top:1px solid var(--line);background:#fff;padding:52px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:38px}
.footer-brand .logo{margin-bottom:14px}
.footer-brand p{max-width:390px;color:var(--muted);font-size:14px;margin:0}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-col h3{font-size:15px;margin:0 0 7px}
.footer-col a{color:var(--muted);font-size:14px;transition:var(--trans)}
.footer-col a:hover{color:var(--blue);transform:translateX(2px)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line);color:var(--soft);font-size:12px}
.footer-bottom nav{display:flex;gap:18px}
.footer-bottom a:hover{color:var(--blue)}
@media (max-width:991px){
 .topic-hero-shell{grid-template-columns:1fr .8fr;gap:25px;padding:35px 30px}
 .timeline:before{left:87px}
 .timeline-item{grid-template-columns:66px 1fr;gap:43px}
 .timeline-dot{left:80px}
 .topic-content-card{grid-template-columns:205px 1fr}
 .index-box{grid-template-columns:1fr}
 .related-track{grid-auto-columns:calc((100% - 21px)/2)}
}
@media (max-width:767px){
 .container{width:min(calc(100% - 32px),var(--container))}
 .brand-row{height:58px;gap:10px}
 .logo{font-size:16px}
 .top-search{display:none}
 .mobile-tools{display:flex}
 .channel-row{height:auto}
 .channel-inner{overflow-x:auto}
 .nav-links{height:43px;overflow-x:auto}
 .nav-links a{padding:0 13px}
 .hot-tags{display:none}
 .topic-hero{padding:20px 0 38px}
 .topic-hero-shell{display:block;padding:30px 22px}
 h1{font-size:32px}
 .topic-copy p{font-size:15px}
 .topic-art{min-height:270px;margin-top:24px}
 .timeline-section,.related-section{padding:52px 0 60px}
 .section-head{display:block;margin-bottom:24px}
 .section-head p{margin-top:10px}
 .timeline:before{display:none}
 .timeline-item{display:block;margin-bottom:18px}
 .timeline-date{text-align:left;padding:0 0 8px 15px}
 .timeline-dot{display:none}
 .topic-content-card{grid-template-columns:1fr;gap:16px;padding:15px}
 .cover{min-height:175px}
 .index-panel{padding:54px 0}
 .index-box{padding:24px 18px}
 .index-list{grid-template-columns:1fr}
 .related-track{grid-auto-columns:82%}
 .faq-section,.cta-section{padding-bottom:60px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
 .footer-brand{grid-column:1/-1}
 .footer-bottom{display:block;line-height:2}
 .footer-bottom nav{margin-top:8px}
}
@media (max-width:479px){
 .button-row .btn{width:100%}
 .topic-art{min-height:235px}
 .art-card.main{height:190px}
 .art-card.back-one{height:115px}
 .art-card.back-two{height:120px}
 .search-box{display:block}
 .search-box input{display:block;width:100%;border-right:1px solid #dce5f1;border-radius:11px;margin-bottom:9px}
 .search-box button{width:100%;border-radius:11px}
 .footer-grid{grid-template-columns:1fr}
 .footer-brand{grid-column:auto}
}
