/* roulang page: index */
:root {
      --ink: #1E2321;
      --coral: #D9554C;
      --coral-dark: #B9413A;
      --sage: #2E8575;
      --paper: #F6F6F2;
      --surface: #FFFFFF;
      --text: #202421;
      --muted: #66706B;
      --line: #DDE1DC;
      --amber: #D79B42;
      --radius: 8px;
      --shadow: 0 12px 30px rgba(30, 35, 33, .08);
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--text);
      background: var(--paper);
      font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    button { cursor: pointer; }
    img { max-width: 100%; display: block; }
    :focus-visible {
      outline: 3px solid rgba(46,133,117,.55);
      outline-offset: 3px;
    }
    .container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
    .topbar { background: var(--ink); color: #fff; }
    .topbar-inner { min-height: 68px; display: flex; align-items: center; gap: 22px; }
    .brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; white-space: nowrap; letter-spacing: 0; }
    .brand-mark {
      width: 30px; height: 30px; border-radius: 6px; display: grid; place-items: center;
      color: #fff; background: var(--coral); font-size: 14px;
    }
    .search-box {
      max-width: 430px; flex: 1; margin-left: auto; display: flex; align-items: center;
      background: #303734; border: 1px solid #48514D; border-radius: 6px; overflow: hidden;
    }
    .search-box:focus-within { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(46,133,117,.2); }
    .search-box svg { margin-left: 12px; color: #AEB7B2; flex: 0 0 auto; }
    .search-box input { width: 100%; min-width: 0; padding: 9px 10px; color: #fff; background: transparent; border: 0; outline: 0; }
    .search-box input::placeholder { color: #AEB7B2; }
    .search-submit { padding: 8px 14px; color: #fff; background: var(--coral); border: 0; }
    .search-submit:hover { background: var(--coral-dark); }
    .nav-cta, .primary-btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      min-height: 42px; padding: 0 17px; color: #fff; background: var(--coral);
      border: 1px solid var(--coral); border-radius: 6px; font-weight: 700;
      transition: .2s ease;
    }
    .nav-cta:hover, .primary-btn:hover { background: var(--coral-dark); transform: translateY(-1px); }
    .secondary-btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      min-height: 42px; padding: 0 17px; color: var(--text); background: #fff;
      border: 1px solid var(--line); border-radius: 6px; font-weight: 700; transition: .2s ease;
    }
    .secondary-btn:hover { border-color: var(--sage); color: var(--sage); transform: translateY(-1px); }
    .channelbar { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 68px; z-index: 30; }
    .channel-scroll { display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
    .channel-scroll::-webkit-scrollbar { display: none; }
    .channel-link { display: inline-flex; align-items: center; min-height: 48px; padding: 0 15px; color: var(--muted); border-bottom: 2px solid transparent; font-size: 14px; font-weight: 700; }
    .channel-link:hover, .channel-link.active { color: var(--coral); border-bottom-color: var(--coral); }
    .hero {
      color: #fff; background-color: var(--ink);
      background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size: 28px 28px;
    }
    .hero-inner { min-height: 500px; display: flex; align-items: center; padding: 72px 0 54px; }
    .hero-copy { max-width: 780px; }
    .eyebrow { color: #9BC5BB; font-size: 13px; font-weight: 800; letter-spacing: 0; }
    h1, h2, h3 { margin: 0; line-height: 1.28; letter-spacing: 0; }
    h1 { margin-top: 13px; max-width: 720px; font-size: clamp(32px, 4.5vw, 52px); }
    .hero-copy p { max-width: 700px; margin: 20px 0 26px; color: #C7D0CB; font-size: 16px; line-height: 1.9; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
    .hero .secondary-btn { color: #fff; background: transparent; border-color: #59645F; }
    .hero .secondary-btn:hover { border-color: #9BC5BB; color: #9BC5BB; }
    .status-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 46px; }
    .status-item { min-width: 145px; padding: 11px 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 6px; }
    .status-item strong { display: block; color: #fff; font-size: 18px; }
    .status-item span { color: #AAB5AF; font-size: 12px; }
    .section { padding: 76px 0; }
    .section-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 28px; }
    .section-head h2 { font-size: 30px; }
    .section-head p { max-width: 590px; margin: 8px 0 0; color: var(--muted); font-size: 15px; }
    .section-tag { color: var(--sage); font-size: 13px; font-weight: 800; }
    .steps { display: grid; grid-template-columns: .8fr 1.15fr 1fr; border: 1px solid var(--line); background: #fff; border-radius: var(--radius); overflow: hidden; }
    .step { min-height: 220px; padding: 28px; border-right: 1px solid var(--line); }
    .step:last-child { border-right: 0; }
    .step-number { color: var(--coral); font-size: 36px; font-weight: 800; line-height: 1; }
    .step h3 { margin: 22px 0 9px; font-size: 19px; }
    .step p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
    .detail-list { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--sage); font-size: 13px; }
    .console { display: grid; grid-template-columns: 190px 1fr; border: 1px solid var(--line); background: #fff; border-radius: var(--radius); overflow: hidden; }
    .console-tabs { padding: 14px; background: #EFF2EE; border-right: 1px solid var(--line); }
    .console-tab { display: block; width: 100%; padding: 12px; color: var(--muted); text-align: left; border: 0; border-radius: 6px; background: transparent; }
    .console-tab:hover, .console-tab.active { color: var(--coral-dark); background: #fff; font-weight: 700; }
    .console-main { padding: 22px; }
    .toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
    .toolbar-label { color: var(--muted); font-size: 13px; }
    .mini-filter { padding: 7px 10px; color: var(--text); border: 1px solid var(--line); border-radius: 5px; background: #fff; font-size: 13px; }
    .media-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .media-card { border: 1px solid var(--line); border-radius: 7px; overflow: hidden; background: #fff; transition: .2s ease; }
    .media-card:hover { transform: translateY(-3px); border-color: #B8CBC4; box-shadow: var(--shadow); }
    .cover { position: relative; aspect-ratio: 16 / 9; display: flex; align-items: end; padding: 11px; background: #D8DEDA; overflow: hidden; }
    .cover::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(30,35,33,.06) 0 2px, transparent 2px 12px); }
    .cover-one { background: #A9C7BE; }
    .cover-two { background: #D6B49C; }
    .cover-three { background: #AAB5C4; }
    .cover-four { background: #C9C49D; }
    .cover-label { position: relative; z-index: 1; padding: 3px 7px; color: #fff; background: rgba(30,35,33,.78); border-radius: 4px; font-size: 11px; }
    .play-icon { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; color: #fff; opacity: 0; background: rgba(30,35,33,.35); transition: .2s; }
    .media-card:hover .play-icon { opacity: 1; }
    .media-body { padding: 13px; }
    .media-title { display: -webkit-box; overflow: hidden; min-height: 47px; color: var(--text); font-size: 14px; font-weight: 700; line-height: 1.65; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; color: var(--muted); font-size: 12px; }
    .meta span:last-child { color: var(--sage); }
    .trust-band { color: #fff; background: var(--ink); }
    .trust-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: #47504C; }
    .trust-item { padding: 28px 24px; background: var(--ink); }
    .trust-item strong { display: block; margin-bottom: 7px; font-size: 17px; }
    .trust-item p { margin: 0; color: #B9C4BE; font-size: 14px; line-height: 1.8; }
    .tag-wall { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
    .tag { display: inline-flex; padding: 5px 11px; color: var(--sage); background: #E7EFEB; border-radius: 999px; font-size: 13px; }
    .tag.hot { color: var(--coral-dark); background: #FBE7E4; }
    .feedback { margin-top: 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .feedback-item { padding: 19px; border: 1px solid var(--line); background: #fff; border-radius: var(--radius); font-size: 14px; }
    .feedback-item p { margin: 0; color: var(--muted); }
    .faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; }
    .faq-list { border-top: 1px solid var(--line); }
    .faq-item { border-bottom: 1px solid var(--line); }
    .faq-question { width: 100%; display: flex; justify-content: space-between; gap: 15px; padding: 18px 0; color: var(--text); text-align: left; background: transparent; border: 0; font-weight: 700; }
    .faq-question svg { flex: 0 0 auto; color: var(--coral); transition: .2s; }
    .faq-answer { display: none; padding: 0 34px 18px 0; color: var(--muted); font-size: 14px; line-height: 1.85; }
    .faq-item.open .faq-answer { display: block; }
    .faq-item.open .faq-question svg { transform: rotate(45deg); }
    .cta-band { padding: 31px 0; color: #fff; background: var(--coral); }
    .cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
    .cta-inner p { margin: 5px 0 0; color: #FFE9E6; font-size: 14px; }
    .cta-band .primary-btn { color: var(--coral-dark); background: #fff; border-color: #fff; }
    .cta-band .primary-btn:hover { background: #FFF5F3; }
    footer { padding: 48px 0 105px; color: #B9C4BE; background: var(--ink); }
    .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
    footer .brand { color: #fff; }
    footer p { max-width: 360px; margin: 15px 0 0; font-size: 13px; line-height: 1.9; }
    .footer-title { margin-bottom: 13px; color: #fff; font-size: 14px; font-weight: 700; }
    .footer-links { display: grid; gap: 8px; font-size: 13px; }
    .footer-links a:hover { color: #fff; }
    .copyright { margin-top: 38px; padding-top: 18px; border-top: 1px solid #3D4642; font-size: 12px; }
    .fixed-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 40; color: #fff; background: rgba(30,35,33,.97); border-top: 1px solid #46504B; }
    .fixed-inner { min-height: 68px; display: flex; align-items: center; gap: 18px; }
    .live-dot { width: 8px; height: 8px; border-radius: 50%; background: #72C0A9; box-shadow: 0 0 0 4px rgba(114,192,169,.15); }
    .fixed-copy { flex: 1; font-size: 14px; }
    .fixed-copy small { display: block; color: #AAB5AF; font-size: 12px; }
    .fixed-input { width: 220px; padding: 9px 11px; color: #fff; background: #303734; border: 1px solid #59645F; border-radius: 5px; outline: none; }
    .fixed-input:focus { border-color: var(--sage); }
    .close-bar { padding: 8px; color: #AAB5AF; border: 0; background: transparent; }
    .close-bar:hover { color: #fff; }
    .modal-backdrop { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 20px; background: rgba(17,21,19,.72); }
    .age-modal { width: min(470px, 100%); padding: 30px; background: #fff; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
    .age-modal h2 { font-size: 25px; }
    .age-modal p { margin: 13px 0 22px; color: var(--muted); font-size: 14px; line-height: 1.85; }
    .age-actions { display: flex; gap: 10px; }
    .mobile-menu { display: none; }
    @media (max-width: 1024px) {
      .container { width: min(100% - 40px, 900px); }
      .search-box { max-width: 300px; }
      .steps { grid-template-columns: 1fr; }
      .step { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
      .step:last-child { border-bottom: 0; }
      .faq-layout { gap: 30px; }
    }
    @media (max-width: 768px) {
      .container { width: calc(100% - 32px); }
      .topbar-inner { min-height: 62px; gap: 10px; }
      .brand { font-size: 14px; }
      .search-box { display: none; }
      .nav-cta { margin-left: auto; min-height: 38px; padding-inline: 12px; font-size: 13px; }
      .channelbar { top: 62px; }
      .hero-inner { min-height: 450px; padding: 52px 0 42px; }
      h1 { font-size: 34px; }
      .hero-copy p { font-size: 15px; }
      .status-row { margin-top: 31px; }
      .section { padding: 55px 0; }
      .section-head, .cta-inner { align-items: flex-start; flex-direction: column; }
      .console { grid-template-columns: 1fr; }
      .console-tabs { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
      .console-tab { min-width: 115px; text-align: center; }
      .media-grid { grid-template-columns: repeat(2, 1fr); }
      .trust-grid, .feedback, .faq-layout, .footer-grid { grid-template-columns: 1fr; }
      .faq-layout { gap: 25px; }
      .fixed-inner { min-height: 62px; gap: 10px; }
      .fixed-input, .fixed-copy small { display: none; }
      .fixed-copy { font-size: 13px; }
    }
    @media (max-width: 480px) {
      .container { width: calc(100% - 28px); }
      .brand-mark { width: 27px; height: 27px; }
      .nav-cta { display: none; }
      .hero-inner { min-height: 430px; padding-top: 42px; }
      h1 { font-size: 31px; }
      .hero-actions { flex-direction: column; align-items: stretch; }
      .hero-actions a { width: 100%; }
      .status-item { min-width: calc(50% - 5px); }
      .media-grid { grid-template-columns: 1fr; }
      .console-main { padding: 15px; }
      .section-head h2 { font-size: 26px; }
      .fixed-bar .primary-btn { min-height: 42px; padding-inline: 13px; font-size: 13px; }
      .age-actions { flex-direction: column; }
      .age-actions button { width: 100%; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
    }

/* roulang page: category1 */
:root{
      --ink:#1E2321;--coral:#D9554C;--coral-dark:#B9413A;--sage:#2E8575;
      --paper:#F6F6F2;--surface:#fff;--text:#202421;--muted:#66706B;
      --line:#DDE1DC;--amber:#D79B42;--radius:8px;--shadow:0 12px 30px rgba(30,35,33,.08)
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;padding-bottom:98px;color:var(--text);background:var(--paper);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    button{cursor:pointer}
    img{display:block;max-width:100%}
    button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(46,133,117,.42);outline-offset:3px}
    .container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
    .topbar{position:sticky;top:0;z-index:40;background:var(--ink);color:#fff}
    .topbar-inner{min-height:68px;display:flex;align-items:center;gap:20px}
    .brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;font-weight:800;white-space:nowrap}
    .brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;color:#fff;background:var(--coral);font-size:13px;line-height:1}
    .search-box{display:flex;align-items:center;flex:1;max-width:460px;margin-left:auto;overflow:hidden;border:1px solid #48514D;border-radius:6px;background:#303734}
    .search-box:focus-within{border-color:var(--sage);box-shadow:0 0 0 3px rgba(46,133,117,.2)}
    .search-box svg{flex:0 0 auto;margin-left:12px;color:#AEB7B2}
    .search-box input{width:100%;min-width:0;padding:9px 10px;border:0;outline:0;background:transparent;color:#fff}
    .search-box input::placeholder{color:#AEB7B2}
    .search-submit{padding:9px 14px;border:0;background:var(--coral);color:#fff;transition:.2s ease}
    .search-submit:hover{background:var(--coral-dark)}
    .nav-cta,.primary-btn,.filter-apply{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border:1px solid var(--coral);border-radius:6px;background:var(--coral);color:#fff;font-weight:700;transition:.2s ease}
    .nav-cta:hover,.primary-btn:hover,.filter-apply:hover{transform:translateY(-1px);border-color:var(--coral-dark);background:var(--coral-dark)}
    .secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font-weight:700;transition:.2s ease}
    .secondary-btn:hover{transform:translateY(-1px);border-color:var(--sage);color:var(--sage)}
    .icon-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #4d5752;border-radius:6px;background:#303734;color:#fff}
    .channelbar{position:sticky;top:68px;z-index:35;border-bottom:1px solid var(--line);background:#fff}
    .channel-scroll{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
    .channel-scroll::-webkit-scrollbar{display:none}
    .channel-link{display:inline-flex;align-items:center;min-height:46px;padding:0 15px;border-bottom:3px solid transparent;color:#4d5651;font-size:14px;font-weight:700;white-space:nowrap;transition:.2s ease}
    .channel-link:hover{color:var(--coral)}
    .channel-link.active{border-color:var(--coral);color:var(--coral)}
    .page-head{padding:34px 0 30px;border-bottom:1px solid var(--line);background:#fff}
    .breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;color:var(--muted);font-size:13px}
    .breadcrumb svg{color:#9aa39e}
    .page-head-row{display:flex;align-items:end;justify-content:space-between;gap:26px}
    h1,h2,h3,p{margin-top:0}
    h1{margin-bottom:12px;font-size:40px;line-height:1.25;font-weight:850}
    .page-intro{max-width:750px;margin:0;color:var(--muted);font-size:15px;line-height:1.9}
    .head-status{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
    .badge{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:999px;background:#E7EFEB;color:var(--sage);font-size:12px;font-weight:700;white-space:nowrap}
    .badge.hot{background:#FBE7E4;color:var(--coral-dark)}
    .badge.warn{background:#FBF1DF;color:#96671f}
    .browse-section{padding:38px 0 72px}
    .browser-layout{display:grid;grid-template-columns:254px minmax(0,1fr);gap:28px;align-items:start}
    .filter-panel{position:sticky;top:132px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}
    .filter-title{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line);font-weight:800}
    .filter-group{padding:16px 17px;border-bottom:1px solid var(--line)}
    .filter-group:last-child{border-bottom:0}
    .filter-label{display:block;margin-bottom:10px;font-size:13px;font-weight:800}
    .checkline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;color:#505954;font-size:13px}
    .checkline input{accent-color:var(--sage)}
    .checkline span:last-child{color:#98a09c;font-size:12px}
    .select-like{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fafbf9;color:#4c5650;font-size:13px}
    .filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:16px 17px}
    .filter-actions button{min-height:39px;padding-inline:8px;font-size:13px}
    .results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
    .result-caption{margin:0;color:var(--muted);font-size:14px}
    .result-caption strong{color:var(--text)}
    .sort-select{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font-size:13px}
    .selected-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:20px}
    .selected-label{margin-right:2px;color:var(--muted);font-size:13px}
    .removable-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid #c8ddd6;border-radius:999px;background:#f1f7f4;color:var(--sage);font-size:12px}
    .clear-btn{border:0;background:transparent;color:var(--coral-dark);font-size:13px;font-weight:700}
    .media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
    .media-card{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;transition:.2s ease}
    .media-card:hover{transform:translateY(-3px);border-color:#b8cbc4;box-shadow:var(--shadow)}
    .thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#d7ded9}
    .thumb::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#c9d5ce 0%,#839b90 46%,#42564e 100%)}
    .thumb.tone-2::before{background:linear-gradient(135deg,#d9c9bd 0%,#a77a6b 45%,#553f39 100%)}
    .thumb.tone-3::before{background:linear-gradient(135deg,#d8d6c1 0%,#7f9871 48%,#3f5041 100%)}
    .thumb.tone-4::before{background:linear-gradient(135deg,#cad6dc 0%,#7995a0 48%,#38484f 100%)}
    .thumb.tone-5::before{background:linear-gradient(135deg,#e0ccc8 0%,#b06f66 45%,#5d3a35 100%)}
    .thumb-pattern{position:absolute;inset:15%;border:1px solid rgba(255,255,255,.4);background:repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 11px,transparent 11px 22px)}
    .play-layer{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,28,24,.14);opacity:0;transition:.2s ease}
    .media-card:hover .play-layer{opacity:1}
    .play-circle{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(30,35,33,.74);color:#fff}
    .duration{position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:4px;background:rgba(20,27,24,.8);color:#fff;font-size:11px}
    .media-body{padding:12px}
    .media-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
    .media-title{display:-webkit-box;min-height:47px;overflow:hidden;color:var(--text);font-size:14px;font-weight:800;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}
    .meta{display:flex;justify-content:space-between;gap:8px;margin-top:9px;color:var(--muted);font-size:12px;white-space:nowrap}
    .meta span:last-child{overflow:hidden;color:var(--sage);text-overflow:ellipsis}
    .card-actions{display:flex;gap:8px;margin-top:12px}
    .card-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#56605a;font-size:12px;font-weight:700;transition:.2s ease}
    .card-action:hover{border-color:var(--sage);color:var(--sage)}
    .card-action.play{border-color:#edc1bc;background:#fff8f7;color:var(--coral-dark)}
    .channel-strip{display:flex;align-items:center;gap:14px;margin:30px 0;padding:16px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eef2ee}
    .strip-title{flex:0 0 auto;font-size:14px;font-weight:800}
    .strip-links{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
    .strip-links::-webkit-scrollbar{display:none}
    .strip-link{padding:5px 11px;border:1px solid #d1d9d4;border-radius:999px;background:#fff;color:#52605a;font-size:12px;white-space:nowrap;transition:.2s ease}
    .strip-link:hover{border-color:var(--coral);color:var(--coral)}
    .pager{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px}
    .page-btn{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#56605a;font-size:13px;font-weight:700;transition:.2s ease}
    .page-btn:hover,.page-btn.active{border-color:var(--coral);background:var(--coral);color:#fff}
    .notice-band{padding:56px 0;background:#e8eeea;border-top:1px solid var(--line)}
    .notice-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px}
    .section-kicker{margin-bottom:7px;color:var(--sage);font-size:13px;font-weight:800}
    h2{margin-bottom:10px;font-size:29px;line-height:1.3;font-weight:850}
    .notice-copy{margin:0;color:var(--muted);font-size:15px}
    .rule-list{margin:0;padding:0;list-style:none}
    .rule-list li{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid #d2dad5;color:#4d5751;font-size:14px}
    .rule-list li:last-child{border-bottom:0}
    .rule-dot{flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center;margin-top:3px;border-radius:50%;background:#d7e9e2;color:var(--sage);font-size:12px;font-weight:800}
    .faq-section{padding:68px 0}
    .faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px}
    .faq-copy p{margin:0;color:var(--muted);font-size:15px}
    .faq-list{border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{display:flex;justify-content:space-between;gap:16px;width:100%;padding:17px 0;border:0;background:transparent;color:var(--text);text-align:left;font-weight:800}
    .faq-question svg{flex:0 0 auto;color:var(--coral);transition:.2s ease}
    .faq-answer{display:none;padding:0 35px 18px 0;color:var(--muted);font-size:14px;line-height:1.85}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-question svg{transform:rotate(45deg)}
    .cta-band{padding:30px 0;background:var(--coral);color:#fff}
    .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
    .cta-inner h2{margin:0 0 4px;font-size:24px}
    .cta-inner p{margin:0;color:#ffe8e5;font-size:14px}
    .cta-band .secondary-btn{border-color:#fff;background:#fff;color:var(--coral-dark)}
    footer{padding:52px 0 118px;background:var(--ink);color:#fff}
    .footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:42px}
    footer .brand{margin-bottom:14px}
    footer p{max-width:380px;margin:0;color:#b9c4be;font-size:14px;line-height:1.85}
    .footer-title{margin-bottom:12px;color:#fff;font-size:14px;font-weight:800}
    .footer-links{display:grid;gap:8px;color:#b9c4be;font-size:14px}
    .footer-links a:hover{color:#fff}
    .copyright{margin-top:36px;padding-top:18px;border-top:1px solid #424b46;color:#95a19b;font-size:13px}
    .fixed-bar{position:fixed;right:0;bottom:0;left:0;z-index:45;border-top:1px solid #47504c;background:var(--ink);color:#fff}
    .fixed-inner{display:flex;align-items:center;gap:16px;min-height:74px}
    .fixed-status{display:flex;align-items:center;gap:9px;flex:1;min-width:0;color:#d3ddd7;font-size:14px}
    .status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#6fbba9;box-shadow:0 0 0 4px rgba(111,187,169,.12)}
    .fixed-search{display:flex;align-items:center;max-width:300px;overflow:hidden;border:1px solid #46504b;border-radius:6px;background:#303734}
    .fixed-search input{width:100%;min-width:0;padding:7px 10px;border:0;outline:0;background:transparent;color:#fff;font-size:13px}
    .fixed-close{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:5px;background:transparent;color:#aeb8b2;font-size:20px}
    .fixed-close:hover{background:#343c38;color:#fff}
    .age-modal,.mobile-drawer,.mobile-search{display:none}
    .age-modal.show{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(20,25,23,.75)}
    .age-dialog{width:min(470px,100%);padding:28px;border:1px solid #59635e;border-radius:8px;background:#fff;box-shadow:0 22px 60px rgba(0,0,0,.3)}
    .age-dialog h2{font-size:24px}
    .age-dialog p{color:var(--muted);font-size:14px}
    .age-actions{display:flex;gap:10px;margin-top:20px}
    @media(max-width:1024px){
      .browser-layout{grid-template-columns:1fr}
      .filter-panel{position:static;display:none}
      .filter-panel.mobile-open{display:block}
      .mobile-filter-toggle{display:inline-flex}
      .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .page-head-row,.notice-grid,.faq-layout{grid-template-columns:1fr;display:grid}
      .head-status{justify-content:flex-start}
      .notice-grid,.faq-layout{gap:28px}
    }
    @media(min-width:1025px){.mobile-filter-toggle{display:none}}
    @media(max-width:768px){
      body{padding-bottom:80px}
      .container{width:min(100% - 32px,1180px)}
      .topbar-inner{min-height:62px;gap:10px}
      .search-box,.nav-cta{display:none}
      .icon-btn{display:inline-flex;margin-left:auto}
      .menu-toggle{display:inline-flex}
      .channelbar{top:62px}
      .page-head{padding:25px 0}
      h1{font-size:31px}
      .page-intro{font-size:14px}
      .browse-section{padding:26px 0 54px}
      .results-toolbar{align-items:flex-start;flex-direction:column}
      .sort-select{width:100%}
      .channel-strip{align-items:flex-start;flex-direction:column}
      .notice-band,.faq-section{padding:48px 0}
      .cta-inner{align-items:flex-start;flex-direction:column}
      .footer-grid{grid-template-columns:1fr;gap:28px}
      .fixed-search{display:none}
      .fixed-inner{min-height:66px;gap:10px}
      .fixed-status{font-size:13px;line-height:1.45}
      .fixed-bar .primary-btn{min-height:40px;padding-inline:12px;white-space:nowrap;font-size:13px}
      footer{padding-bottom:100px}
      .mobile-drawer.show{position:fixed;inset:0;z-index:70;display:block;background:rgba(17,22,20,.58)}
      .drawer-panel{width:min(345px,88vw);height:100%;margin-left:auto;padding:20px;background:var(--ink);color:#fff;box-shadow:-10px 0 30px rgba(0,0,0,.2)}
      .drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
      .drawer-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid #4d5752;border-radius:6px;background:#303734;color:#fff;font-size:24px}
      .drawer-links{display:grid;gap:6px}
      .drawer-links a{padding:12px;border-bottom:1px solid #3e4742;color:#d6dfda;font-weight:700}
      .drawer-links a:hover{color:#fff;background:#303734}
      .drawer-age{margin-top:24px;padding-top:22px;border-top:1px solid #3e4742;color:#b9c4be;font-size:14px}
      .mobile-search.show{position:fixed;inset:62px 0 auto;z-index:60;display:block;padding:14px 16px;border-bottom:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
      .mobile-search form{display:flex;gap:8px}
      .mobile-search input{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#f9faf8;outline:0}
      .mobile-search input:focus{border-color:var(--sage)}
    }
    @media(max-width:480px){
      .media-grid{grid-template-columns:1fr}
      .page-head{padding-top:21px}
      h1{font-size:29px}
      .head-status{gap:6px}
      .badge{font-size:11px}
      .selected-row{align-items:flex-start}
      .age-actions{flex-direction:column}
      .age-actions button,.age-actions a{width:100%}
      .fixed-close{width:30px}
    }
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category2 */
:root {
      --ink: #1E2321;
      --coral: #D9554C;
      --coral-dark: #B9413A;
      --sage: #2E8575;
      --paper: #F6F6F2;
      --surface: #FFFFFF;
      --text: #202421;
      --muted: #66706B;
      --line: #DDE1DC;
      --amber: #D79B42;
      --radius: 8px;
      --shadow: 0 12px 30px rgba(30, 35, 33, .08);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      padding-bottom: 96px;
      color: var(--text);
      background: var(--paper);
      font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    button { cursor: pointer; }
    img { max-width: 100%; display: block; }
    .container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
    .topbar { position: sticky; top: 0; z-index: 50; background: var(--ink); color: #fff; }
    .topbar-inner { min-height: 68px; display: flex; align-items: center; gap: 22px; }
    .brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; white-space: nowrap; letter-spacing: 0; }
    .brand-mark {
      width: 30px; height: 30px; display: grid; place-items: center;
      color: #fff; background: var(--coral); border-radius: 6px; font-size: 14px;
    }
    .search-box {
      max-width: 430px; flex: 1; margin-left: auto; display: flex; align-items: center;
      overflow: hidden; background: #303734; border: 1px solid #48514D; border-radius: 6px;
    }
    .search-box:focus-within { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(46,133,117,.2); }
    .search-box svg { flex: 0 0 auto; margin-left: 12px; color: #AEB7B2; }
    .search-box input { width: 100%; min-width: 0; padding: 9px 10px; color: #fff; background: transparent; border: 0; outline: 0; }
    .search-box input::placeholder { color: #AEB7B2; }
    .search-submit { padding: 8px 14px; color: #fff; background: var(--coral); border: 0; transition: .2s ease; }
    .search-submit:hover { background: var(--coral-dark); }
    .nav-cta, .primary-btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      min-height: 42px; padding: 0 17px; color: #fff; background: var(--coral);
      border: 1px solid var(--coral); border-radius: 6px; font-weight: 700; transition: .2s ease;
    }
    .nav-cta:hover, .primary-btn:hover { background: var(--coral-dark); transform: translateY(-1px); }
    .secondary-btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      min-height: 42px; padding: 0 17px; color: var(--text); background: #fff;
      border: 1px solid var(--line); border-radius: 6px; font-weight: 700; transition: .2s ease;
    }
    .secondary-btn:hover { color: var(--sage); border-color: var(--sage); transform: translateY(-1px); }
    button:focus-visible, a:focus-visible, input:focus-visible {
      outline: 3px solid rgba(46,133,117,.5);
      outline-offset: 3px;
    }

    .channelbar {
      position: sticky; top: 68px; z-index: 40; background: rgba(246,246,242,.97);
      border-bottom: 1px solid var(--line); backdrop-filter: blur(8px);
    }
    .channel-scroll { display: flex; gap: 9px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
    .channel-scroll::-webkit-scrollbar { display: none; }
    .channel-link {
      display: inline-flex; align-items: center; min-height: 48px; padding: 0 15px;
      color: var(--muted); border-bottom: 2px solid transparent; font-size: 14px; font-weight: 700;
      transition: .2s ease;
    }
    .channel-link:hover { color: var(--coral); }
    .channel-link.active { color: var(--coral); border-color: var(--coral); }

    .mobile-actions { display: none; margin-left: auto; gap: 8px; }
    .icon-btn {
      width: 40px; height: 40px; display: inline-grid; place-items: center; color: #fff;
      background: transparent; border: 1px solid #4C5651; border-radius: 6px;
    }
    .icon-btn:hover { border-color: #9BC5BB; color: #9BC5BB; }
    .mobile-panel {
      display: none; position: fixed; inset: 0; z-index: 90; padding: 20px;
      background: rgba(18,22,20,.82);
    }
    .mobile-panel.open { display: block; }
    .mobile-drawer {
      width: min(360px, 100%); min-height: 100%; margin-left: auto; padding: 24px;
      color: #fff; background: var(--ink); border-left: 1px solid #48514D;
    }
    .drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
    .drawer-links { display: grid; gap: 7px; }
    .drawer-links a { padding: 13px 0; border-bottom: 1px solid #3B4540; font-weight: 700; }
    .drawer-links a:hover { color: #9BC5BB; }

    .topic-band {
      background-color: #EEF0EB;
      background-image: linear-gradient(rgba(46,133,117,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(46,133,117,.055) 1px, transparent 1px);
      background-size: 24px 24px;
      border-bottom: 1px solid var(--line);
    }
    .topic-inner { padding: 46px 0 42px; }
    .breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: 13px; }
    .breadcrumb span:last-child { color: var(--sage); }
    h1, h2, h3 { margin-top: 0; letter-spacing: 0; }
    h1 { max-width: 790px; margin: 13px 0 12px; font-size: clamp(30px, 4vw, 46px); line-height: 1.25; }
    .topic-copy { max-width: 780px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.9; }
    .topic-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
    .tag {
      display: inline-flex; align-items: center; min-height: 27px; padding: 3px 10px;
      color: var(--sage); background: #E2EEE9; border: 1px solid #C9DDD5; border-radius: 999px; font-size: 12px; font-weight: 700;
    }
    .tag.hot { color: var(--coral-dark); background: #FBE7E4; border-color: #F1C9C5; }
    .tag.muted { color: var(--muted); background: #F8F9F6; border-color: var(--line); }
    .tag.amber { color: #8A5D1E; background: #F9EFD9; border-color: #ECD5A8; }

    .section { padding: 70px 0; }
    .section-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 25px; }
    .section-head h2 { margin-bottom: 5px; font-size: clamp(24px, 3vw, 31px); line-height: 1.3; }
    .section-head p { max-width: 590px; margin: 0; color: var(--muted); font-size: 15px; }
    .section-tag { color: var(--sage); font-size: 13px; font-weight: 800; }

    .discover-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: 20px; align-items: stretch; }
    .feature-card, .update-panel, .media-card, .guide-step, .notice-card {
      background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    }
    .feature-card { overflow: hidden; box-shadow: var(--shadow); }
    .cover {
      position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #29332F;
    }
    .cover::before {
      position: absolute; inset: 0; content: "";
      background:
        linear-gradient(135deg, transparent 18%, rgba(255,255,255,.1) 18% 20%, transparent 20% 46%, rgba(217,85,76,.45) 46% 49%, transparent 49%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 34px),
        linear-gradient(135deg, #1E2321, #375148);
    }
    .cover.alt-a::before { background: linear-gradient(135deg, #203A35, #2E8575 55%, #B4CBBF), repeating-linear-gradient(0deg, rgba(255,255,255,.09) 0 1px, transparent 1px 28px); }
    .cover.alt-b::before { background: linear-gradient(135deg, #452D2B, #D9554C 60%, #EBC1AC), repeating-linear-gradient(90deg, rgba(255,255,255,.1) 0 1px, transparent 1px 30px); }
    .cover.alt-c::before { background: linear-gradient(135deg, #293531, #738F82 58%, #E4E1C9), repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 1px, transparent 1px 22px); }
    .cover.alt-d::before { background: linear-gradient(135deg, #362C31, #805962 58%, #E8D3C2), repeating-linear-gradient(0deg, rgba(255,255,255,.1) 0 1px, transparent 1px 25px); }
    .cover-label { position: absolute; top: 13px; left: 13px; z-index: 1; }
    .play-round {
      position: absolute; left: 50%; top: 50%; z-index: 1; width: 52px; height: 52px;
      display: grid; place-items: center; color: #fff; background: var(--coral); border: 0; border-radius: 50%;
      box-shadow: 0 8px 18px rgba(30,35,33,.28); transform: translate(-50%, -50%); transition: .2s ease;
    }
    .play-round:hover { background: var(--coral-dark); transform: translate(-50%, -50%) scale(1.08); }
    .feature-body { padding: 22px; }
    .feature-topline { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .feature-body h3 { margin: 12px 0 7px; font-size: 22px; line-height: 1.45; }
    .feature-body p { margin: 0; color: var(--muted); font-size: 14px; }
    .feature-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 17px; padding-top: 16px; border-top: 1px solid var(--line); }
    .meta-line { color: var(--muted); font-size: 13px; }
    .meta-line strong { color: var(--sage); font-weight: 700; }

    .update-panel { padding: 4px 20px 12px; }
    .update-heading { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 12px; border-bottom: 1px solid var(--line); }
    .update-heading h3 { margin: 0; font-size: 18px; }
    .update-item { display: grid; grid-template-columns: 96px 1fr 28px; gap: 12px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); }
    .update-item:last-child { border-bottom: 0; }
    .mini-cover { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 5px; background: #D8E2DD; }
    .mini-cover::before { display: block; width: 100%; height: 100%; content: ""; background: linear-gradient(135deg, #2E8575, #C6DAD1); }
    .mini-cover.coral::before { background: linear-gradient(135deg, #D9554C, #F1C5B8); }
    .mini-cover.gray::before { background: linear-gradient(135deg, #53615B, #D7DDD9); }
    .update-content b { display: -webkit-box; overflow: hidden; font-size: 14px; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .update-content span { display: block; overflow: hidden; margin-top: 3px; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
    .mini-play { width: 28px; height: 28px; display: grid; place-items: center; color: var(--coral); background: #FBE7E4; border: 0; border-radius: 50%; }
    .mini-play:hover { color: #fff; background: var(--coral); }

    .tag-rail { display: flex; gap: 9px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
    .tag-rail::-webkit-scrollbar { display: none; }
    .filter-tag {
      flex: 0 0 auto; min-height: 36px; padding: 0 14px; color: var(--muted); background: #fff;
      border: 1px solid var(--line); border-radius: 999px; font-size: 13px; font-weight: 700; transition: .2s ease;
    }
    .filter-tag:hover, .filter-tag.active { color: var(--coral); background: #FDF0EE; border-color: #E7A8A2; }
    .masonry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 22px; }
    .media-card { overflow: hidden; transition: .2s ease; }
    .media-card:hover { border-color: #B8CBC4; box-shadow: var(--shadow); transform: translateY(-3px); }
    .media-card:hover .card-play { opacity: 1; transform: translate(-50%, -50%) scale(1); }
    .card-cover { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
    .card-play {
      position: absolute; top: 50%; left: 50%; width: 42px; height: 42px; display: grid; place-items: center;
      opacity: 0; color: #fff; background: var(--coral); border: 0; border-radius: 50%;
      transform: translate(-50%, -50%) scale(.86); transition: .2s ease;
    }
    .card-body { padding: 13px; }
    .card-title { display: -webkit-box; overflow: hidden; min-height: 45px; font-size: 14px; font-weight: 700; line-height: 1.65; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .card-meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 9px; color: var(--muted); font-size: 12px; }
    .card-meta span:last-child { color: var(--sage); }
    .save-btn {
      width: 32px; height: 32px; display: inline-grid; place-items: center; color: var(--muted);
      background: #F7F8F5; border: 1px solid var(--line); border-radius: 5px; transition: .2s ease;
    }
    .save-btn:hover, .save-btn.saved { color: var(--coral); background: #FBE7E4; border-color: #EBC5C1; }

    .guide-zone { color: #fff; background: var(--ink); }
    .guide-zone .section-head p { color: #BAC5BF; }
    .guide-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #4B5751; }
    .guide-step { min-height: 205px; padding: 24px; color: #fff; background: var(--ink); border: 0; border-radius: 0; }
    .guide-num { display: block; margin-bottom: 32px; color: #9BC5BB; font-size: 13px; font-weight: 800; }
    .guide-step h3 { margin-bottom: 8px; font-size: 18px; }
    .guide-step p { margin: 0; color: #BAC5BF; font-size: 14px; line-height: 1.85; }

    .notice-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 55px; }
    .notice-layout h2 { margin-bottom: 10px; font-size: clamp(24px, 3vw, 31px); line-height: 1.32; }
    .notice-layout > div > p { color: var(--muted); font-size: 15px; }
    .faq-list { border-top: 1px solid var(--line); }
    .faq-item { border-bottom: 1px solid var(--line); }
    .faq-question {
      width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
      padding: 18px 0; color: var(--text); text-align: left; background: transparent; border: 0; font-weight: 700;
    }
    .faq-question svg { flex: 0 0 auto; color: var(--coral); transition: .2s ease; }
    .faq-answer { display: none; padding: 0 34px 19px 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
    .faq-item.open .faq-answer { display: block; }
    .faq-item.open .faq-question svg { transform: rotate(45deg); }

    .cta-band { padding: 31px 0; color: #fff; background: var(--coral); }
    .cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
    .cta-inner h2 { margin: 0 0 4px; font-size: 24px; }
    .cta-inner p { margin: 0; color: #FCE9E6; font-size: 14px; }
    .cta-band .secondary-btn { color: #fff; background: transparent; border-color: rgba(255,255,255,.6); }
    .cta-band .secondary-btn:hover { color: var(--coral-dark); background: #fff; border-color: #fff; }

    footer { padding: 58px 0 30px; color: #D6DED9; background: var(--ink); }
    footer .brand { color: #fff; }
    footer p { max-width: 345px; margin: 15px 0 0; color: #AEB9B3; font-size: 14px; line-height: 1.85; }
    .footer-grid { display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 42px; }
    .footer-title { margin-bottom: 13px; color: #fff; font-size: 14px; font-weight: 800; }
    .footer-links { display: grid; gap: 9px; color: #B7C1BB; font-size: 14px; }
    .footer-links a:hover { color: #9BC5BB; }
    .copyright { margin-top: 38px; padding-top: 22px; color: #94A19A; border-top: 1px solid #3B4540; font-size: 13px; }

    .fixed-bar {
      position: fixed; right: 0; bottom: 0; left: 0; z-index: 60;
      color: #fff; background: #151917; border-top: 1px solid #3A4640;
      box-shadow: 0 -8px 24px rgba(0,0,0,.15);
    }
    .fixed-inner { min-height: 72px; display: flex; align-items: center; gap: 16px; }
    .status-dot { width: 9px; height: 9px; flex: 0 0 auto; background: #6EC4B1; border-radius: 50%; box-shadow: 0 0 0 4px rgba(110,196,177,.12); }
    .fixed-copy { margin-right: auto; font-size: 14px; }
    .fixed-copy small { display: block; color: #AAB5AF; font-size: 12px; }
    .fixed-bar .primary-btn { min-height: 40px; }
    .close-bar {
      width: 30px; height: 30px; display: grid; place-items: center; color: #AEB7B2;
      background: transparent; border: 0; border-radius: 5px;
    }
    .close-bar:hover { color: #fff; background: #303734; }

    .age-modal {
      display: none; position: fixed; inset: 0; z-index: 100; align-items: center; justify-content: center;
      padding: 20px; background: rgba(16,20,18,.72);
    }
    .age-modal.open { display: flex; }
    .age-box { width: min(460px, 100%); padding: 30px; background: #fff; border-radius: 8px; box-shadow: 0 18px 46px rgba(0,0,0,.25); }
    .age-icon { width: 42px; height: 42px; display: grid; place-items: center; color: #8A5D1E; background: #F9EFD9; border-radius: 6px; }
    .age-box h2 { margin: 16px 0 9px; font-size: 24px; }
    .age-box p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
    .age-actions { display: flex; gap: 10px; margin-top: 22px; }

    @media (max-width: 1024px) {
      .discover-layout { grid-template-columns: 1fr; }
      .update-panel { padding-inline: 18px; }
      .masonry-grid { grid-template-columns: repeat(2, 1fr); }
      .guide-grid { grid-template-columns: repeat(2, 1fr); }
      .notice-layout { gap: 34px; }
    }
    @media (max-width: 768px) {
      body { padding-bottom: 82px; }
      .container { width: min(100% - 32px, 1180px); }
      .topbar-inner { min-height: 62px; gap: 10px; }
      .search-box, .nav-cta { display: none; }
      .mobile-actions { display: flex; }
      .channelbar { top: 62px; }
      .channel-link { min-height: 45px; padding: 0 13px; }
      .topic-inner { padding: 32px 0; }
      .topic-copy { font-size: 15px; }
      .section { padding: 56px 0; }
      .section-head { align-items: flex-start; flex-direction: column; gap: 6px; }
      .section-head p { max-width: none; }
      .notice-layout { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr; gap: 28px; }
      .cta-inner { align-items: flex-start; flex-direction: column; }
      .fixed-inner { min-height: 65px; gap: 11px; }
      .fixed-copy small { display: none; }
    }
    @media (max-width: 480px) {
      .brand { max-width: 215px; overflow: hidden; font-size: 15px; text-overflow: ellipsis; }
      .topic-meta { gap: 7px; }
      .feature-body { padding: 17px; }
      .feature-body h3 { font-size: 19px; }
      .update-item { grid-template-columns: 82px 1fr 26px; gap: 9px; }
      .masonry-grid { grid-template-columns: 1fr; gap: 12px; }
      .guide-grid { grid-template-columns: 1fr; }
      .guide-step { min-height: auto; padding: 20px; }
      .guide-num { margin-bottom: 18px; }
      .fixed-copy { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
      .fixed-bar .primary-btn { min-height: 44px; padding: 0 12px; font-size: 13px; }
      .close-bar { width: 25px; }
      .age-box { padding: 24px; }
      .age-actions { flex-direction: column; }
      .age-actions .primary-btn, .age-actions .secondary-btn { width: 100%; min-height: 44px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
    }
