/* roulang page: article */
:root{
            --ink:#2d252b;
            --muted:#746a72;
            --soft:#9d9299;
            --paper:#faf8f6;
            --panel:#fffdfb;
            --wash:#f1e9eb;
            --line:#e4d9dc;
            --berry:#612f4a;
            --berry-dark:#472038;
            --coral:#ba705b;
            --copper:#b48461;
            --success:#55735f;
            --warning:#976644;
            --danger:#9a4f4f;
            --radius:9px;
            --radius-lg:14px;
            --shadow:0 16px 45px rgba(62,35,47,.09);
            --shadow-soft:0 10px 30px rgba(62,35,47,.07);
            --container:1200px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:16px;line-height:1.8;text-rendering:optimizeLegibility}
        body.menu-open{overflow:hidden}
        a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
        a:hover{color:var(--coral)}
        a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(186,112,91,.28);outline-offset:3px}
        img{display:block;max-width:100%;width:100%;object-fit:cover;background:linear-gradient(135deg,#eadfe2,#f7f1f0)}
        button,input,select,textarea{font:inherit}
        button{cursor:pointer}
        button:disabled,.button.disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
        p,h1,h2,h3,h4{overflow-wrap:anywhere}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .top-notice{background:#efe5e5;border-bottom:1px solid var(--line);color:#6f5863;font-size:13px}
        .top-notice .container{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px;padding:7px 0}
        .notice-link{font-weight:700;color:var(--berry)}
        .notice-link:hover{text-decoration:underline;text-underline-offset:4px}
        .site-header{position:sticky;top:0;z-index:40;background:rgba(250,248,246,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);transition:box-shadow .2s ease,background .2s ease}
        .site-header.is-scrolled{box-shadow:0 10px 28px rgba(47,30,39,.08);background:rgba(250,248,246,.98)}
        .nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
        .brand{display:flex;align-items:center;gap:12px;color:var(--berry);font-weight:800;font-size:19px;white-space:nowrap;min-width:0}
        .brand:hover{color:var(--berry-dark)}
        .brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--berry);color:#fff;border-radius:7px;font-size:13px;flex:0 0 auto}
        .nav-links{display:flex;align-items:center;gap:8px}
        .nav-links a,.age-status{padding:9px 14px;border-radius:6px;color:var(--muted);font-size:14px}
        .nav-links a:hover,.nav-links a.active{background:var(--wash);color:var(--berry)}
        .nav-links a:active{transform:translateY(1px)}
        .age-status{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid transparent;white-space:nowrap}
        .status-dot{width:8px;height:8px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 4px rgba(151,102,68,.12)}
        .age-status.confirmed .status-dot{background:var(--success);box-shadow:0 0 0 4px rgba(85,115,95,.13)}
        .menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--berry);width:42px;height:42px;border-radius:6px;align-items:center;justify-content:center;transition:background .2s,border-color .2s,transform .2s}
        .menu-toggle:hover{background:var(--wash);border-color:#d4c5ca}
        .menu-toggle:active{transform:translateY(1px)}
        .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:700;transition:all .2s ease;line-height:1.4;text-align:center}
        .button-primary{background:var(--coral);color:#fff;box-shadow:0 9px 22px rgba(186,112,91,.2)}
        .button-primary:hover{background:#a75f4e;color:#fff;transform:translateY(-2px)}
        .button-primary:active{transform:translateY(0);box-shadow:none}
        .button-secondary{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08)}
        .button-secondary:hover{background:#fff;color:var(--berry)}
        .button-quiet{background:var(--wash);color:var(--berry);border-color:var(--line)}
        .button-quiet:hover{background:#e4d4d9;color:var(--berry-dark)}
        .leave{border-color:var(--line);color:var(--muted);background:transparent}
        .leave:hover{border-color:#cdbbc1;color:var(--berry);background:#fff}
        .tag{display:inline-block;padding:2px 9px;border:1px solid #d7c1c7;border-radius:20px;color:var(--berry);font-size:11px;line-height:1.7;background:#fcf7f7;max-width:100%;overflow-wrap:anywhere}
        .tag.copper{border-color:#dcc5ae;color:#7b5638;background:#fff9f1}
        .section{padding:92px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
        .section-kicker{margin:0 0 5px;color:var(--coral);font-size:12px;font-weight:800}
        .section-title{margin:0;color:var(--ink);font-size:32px;line-height:1.28;letter-spacing:0}
        .section-intro{max-width:560px;margin:9px 0 0;color:var(--muted);font-size:15px}
        .article-hero{position:relative;overflow:hidden;background:#eadfe2;border-bottom:1px solid var(--line)}
        .article-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(48,30,40,.92),rgba(87,44,65,.72) 48%,rgba(87,44,65,.24)),url("/assets/images/backpic/back-2.jpg") center/cover;transform:scale(1.01)}
        .article-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) 360px;gap:58px;align-items:end;padding:66px 0 58px;color:#fff}
        .breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px;color:#e6d3d8;font-size:13px}
        .breadcrumb a{color:#f4d8cf}
        .breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
        .breadcrumb .sep{color:rgba(255,255,255,.45)}
        .article-category{display:inline-flex;align-items:center;gap:9px;margin-bottom:12px;color:#f2d6cb;font-size:13px;font-weight:800}
        .article-category::before{content:"";width:25px;height:1px;background:var(--coral)}
        .article-title{margin:0;max-width:780px;font-size:44px;line-height:1.22;letter-spacing:0;color:#fff}
        .article-summary{max-width:760px;margin:18px 0 0;color:#f0e4e6;font-size:16px;line-height:1.9}
        .article-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;color:#dfcdd3;font-size:13px}
        .article-meta span{display:inline-flex;align-items:center;gap:6px}
        .article-cover{align-self:stretch;min-height:390px;border:10px solid rgba(255,255,255,.7);border-bottom-width:34px;box-shadow:18px 22px 0 rgba(54,23,39,.31);background:#eadfe2}
        .article-cover img{height:100%;object-position:center}
        .article-shell{padding:72px 0 0}
        .article-layout{display:grid;grid-template-columns:minmax(0,780px) 310px;gap:56px;align-items:start}
        .reader-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden}
        .reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fbf4f4;color:var(--muted);font-size:13px}
        .reader-toolbar strong{color:var(--berry)}
        .content-body{padding:34px 42px 44px;color:var(--ink);font-size:17px;line-height:1.95}
        .content-body h2{margin:2.1em 0 .75em;color:var(--berry);font-size:27px;line-height:1.35}
        .content-body h3{margin:1.85em 0 .65em;color:#3d3038;font-size:21px;line-height:1.45}
        .content-body p{margin:0 0 1.25em}
        .content-body a{color:var(--berry);border-bottom:1px solid rgba(97,47,74,.28)}
        .content-body a:hover{color:var(--coral);border-bottom-color:var(--coral)}
        .content-body ul,.content-body ol{margin:0 0 1.4em 1.2em;padding-left:1.1em}
        .content-body li{margin:.35em 0}
        .content-body blockquote{margin:1.6em 0;padding:16px 20px;border-left:4px solid var(--coral);background:#faf1ef;color:#5d4a53;border-radius:0 var(--radius) var(--radius) 0}
        .content-body img{margin:24px auto;border-radius:var(--radius);border:1px solid var(--line);max-height:560px}
        .content-body figure{margin:26px 0}
        .content-body figcaption{margin-top:8px;text-align:center;color:var(--soft);font-size:13px}
        .content-body hr{border:0;border-top:1px solid var(--line);margin:34px 0}
        .content-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;display:block;overflow-x:auto;white-space:nowrap}
        .content-body th,.content-body td{border:1px solid var(--line);padding:10px 12px;text-align:left}
        .content-body th{background:#f6eeee;color:var(--berry)}
        .not-found{padding:56px 30px;text-align:center}
        .not-found-icon{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--wash);color:var(--berry);font-weight:900}
        .not-found h2{margin:0 0 10px;font-size:26px;color:var(--berry)}
        .not-found p{margin:0 auto 22px;max-width:520px;color:var(--muted)}
        .sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}
        .side-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px}
        .side-card h2,.side-card h3{margin:0 0 12px;color:var(--berry);font-size:18px;line-height:1.35}
        .toc-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
        .toc-list a{display:block;padding:8px 10px;border-radius:6px;color:var(--muted);font-size:13px;border:1px solid transparent;line-height:1.55}
        .toc-list a:hover{background:var(--wash);border-color:var(--line);color:var(--berry)}
        .read-info{display:grid;gap:10px;margin-top:8px}
        .read-info div{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px dashed var(--line);font-size:13px;color:var(--muted)}
        .read-info div:last-child{border-bottom:0;padding-bottom:0}
        .read-info strong{color:var(--ink);font-weight:700;text-align:right;overflow-wrap:anywhere}
        .mobile-toc{display:none;margin-bottom:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
        .mobile-toc summary{list-style:none;padding:14px 16px;color:var(--berry);font-weight:800;cursor:pointer;background:#fbf4f4}
        .mobile-toc summary::-webkit-details-marker{display:none}
        .mobile-toc summary::after{content:"+";float:right;color:var(--coral);font-weight:900}
        .mobile-toc[open] summary::after{content:"−"}
        .mobile-toc .toc-list{padding:12px}
        .article-note{margin-top:28px;padding:20px 22px;border:1px solid #dcc9c4;border-radius:var(--radius);background:#fff8f4;color:#6a555c;font-size:14px}
        .article-note strong{display:block;margin-bottom:5px;color:var(--warning)}
        .search-panel{background:#f0e6e8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
        .filter-form{display:grid;grid-template-columns:minmax(0,1.8fr) 1fr auto auto;gap:12px;align-items:end}
        .field label{display:block;margin:0 0 6px;color:var(--muted);font-size:13px;font-weight:700}
        .field input,.field select{height:44px;width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);outline:0;transition:border-color .2s,box-shadow .2s,background .2s}
        .field input::placeholder{color:#a99da4}
        .field input:focus,.field select:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(186,112,91,.12)}
        .form-message{display:none;color:var(--warning);font-size:13px;margin:13px 0 0}
        .form-message.show{display:block}
        .related-band{background:var(--paper)}
        .return-card{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:26px;align-items:center;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
        .return-card h2{margin:0 0 8px;font-size:25px;color:var(--berry)}
        .return-card p{margin:0;color:var(--muted);font-size:15px}
        .return-visual{position:relative;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:#eadfe2}
        .return-visual img{height:100%}
        .return-visual::after{content:"99国产精品久久人妻";position:absolute;left:14px;bottom:12px;padding:4px 10px;border-radius:18px;background:rgba(45,32,40,.74);color:#fff;font-size:12px}
        .faq-list{max-width:850px;margin:0 auto;border-top:1px solid var(--line)}
        .faq-item{border-bottom:1px solid var(--line);background:transparent}
        .faq-item summary{position:relative;list-style:none;padding:20px 42px 20px 2px;color:var(--ink);font-weight:800;cursor:pointer}
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-item summary::after{content:"";position:absolute;right:8px;top:25px;width:10px;height:10px;border-right:2px solid var(--coral);border-bottom:2px solid var(--coral);transform:rotate(45deg);transition:transform .2s ease}
        .faq-item[open] summary{color:var(--berry)}
        .faq-item[open] summary::after{transform:rotate(225deg);top:31px}
        .faq-item p{margin:0;padding:0 42px 20px 2px;color:var(--muted);font-size:15px}
        .cta{padding:56px 0;background:var(--berry-dark);color:#fff}
        .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
        .cta h2{margin:0;font-size:30px;line-height:1.32}
        .cta p{margin:8px 0 0;color:#dbc7cd;font-size:14px}
        .site-footer{padding:45px 0 25px;background:#2d2028;color:#d9cbd0}
        .footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.13)}
        .footer-brand{color:#fff}
        .footer-brand p{max-width:350px;color:#a9969f;font-size:13px;line-height:1.8}
        .footer-nav{display:flex;gap:22px;align-items:start;font-size:13px;flex-wrap:wrap}
        .footer-nav a:hover{color:#f2c6b7}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;color:#988790;font-size:12px}
        .age-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(38,27,34,.68)}
        .age-modal.show{display:flex}
        .age-box{width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 24px 80px rgba(20,10,16,.28);padding:28px}
        .age-box h2{margin:0 0 10px;color:var(--berry);font-size:25px}
        .age-box p{margin:0 0 16px;color:var(--muted);font-size:15px}
        .age-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
        .age-small{display:block;margin-top:14px;color:var(--soft);font-size:12px}
        .error-text{display:none;margin-top:8px;color:var(--danger);font-size:13px}
        .field.error input{border-color:var(--danger);background:#fff8f8}
        .field.error .error-text{display:block}
        @media (max-width:1024px){
            .container{width:min(var(--container),calc(100% - 38px))}
            .nav{gap:18px}
            .nav-links{gap:4px}
            .nav-links a,.age-status{padding:8px 10px}
            .article-hero-inner{grid-template-columns:1fr 300px;gap:34px}
            .article-title{font-size:38px}
            .article-layout{grid-template-columns:minmax(0,1fr) 280px;gap:30px}
            .content-body{padding:30px 32px}
            .filter-form{grid-template-columns:1fr 1fr}
            .filter-form .field:first-child{grid-column:span 2}
            .return-card{grid-template-columns:1fr 220px}
        }
        @media (max-width:768px){
            .top-notice .container{align-items:flex-start;flex-direction:column;gap:4px}
            .nav{height:66px}
            .brand{font-size:17px}
            .menu-toggle{display:flex}
            .nav-links{position:fixed;left:16px;right:16px;top:76px;z-index:60;display:none;flex-direction:column;align-items:stretch;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);max-height:calc(100vh - 94px);overflow:auto}
            .nav-links.open{display:flex}
            .nav-links a,.age-status{width:100%;padding:12px 14px}
            .article-hero-inner{display:block;padding:48px 0}
            .article-title{font-size:32px}
            .article-summary{font-size:15px}
            .article-cover{margin-top:30px;min-height:auto;aspect-ratio:16/10;border-width:8px;border-bottom-width:26px;box-shadow:12px 15px 0 rgba(54,23,39,.25)}
            .article-shell{padding-top:48px}
            .article-layout{display:block}
            .sidebar{display:none}
            .mobile-toc{display:block}
            .reader-toolbar{align-items:flex-start;flex-direction:column;gap:8px}
            .content-body{padding:26px 22px;font-size:16px;line-height:1.9}
            .content-body h2{font-size:24px}
            .content-body h3{font-size:20px}
            .section{padding:62px 0}
            .section-head{display:block}
            .section-title{font-size:27px}
            .filter-form{grid-template-columns:1fr}
            .filter-form .field:first-child{grid-column:auto}
            .filter-form .button{width:100%}
            .return-card{display:block;padding:22px}
            .return-visual{margin-top:22px}
            .cta-inner{display:block}
            .cta .button{margin-top:22px;width:100%}
            .footer-top{display:block}
            .footer-nav{margin-top:24px}
            .footer-bottom{display:block}
            .footer-bottom span{display:block;margin-top:8px}
        }
        @media (max-width:520px){
            .container{width:min(var(--container),calc(100% - 28px))}
            .brand span:last-child{max-width:245px;overflow:hidden;text-overflow:ellipsis}
            .article-title{font-size:29px}
            .article-meta{font-size:12px}
            .breadcrumb{font-size:12px}
            .content-body{padding:22px 16px;font-size:15px}
            .reader-toolbar{padding:14px 16px}
            .article-note{padding:16px}
            .age-box{padding:22px}
            .age-actions .button{width:100%}
            .footer-nav{gap:14px}
        }

/* roulang page: index */
:root{
            --ink:#2d252b;
            --muted:#746a72;
            --soft:#9d9299;
            --paper:#faf8f6;
            --panel:#fffdfb;
            --wash:#f1e9eb;
            --line:#e4d9dc;
            --berry:#612f4a;
            --berry-dark:#472038;
            --coral:#ba705b;
            --copper:#b48461;
            --success:#55735f;
            --warning:#976644;
            --radius:9px;
            --shadow:0 16px 45px rgba(62,35,47,.09);
            --container:1200px;
        }
        *,*::before,*::after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:16px;line-height:1.8}
        a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
        a:hover{color:var(--coral)}
        img{display:block;max-width:100%;width:100%;object-fit:cover}
        button,input{font:inherit}
        button{cursor:pointer}
        :focus-visible{outline:3px solid rgba(186,112,91,.4);outline-offset:3px}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .notice{min-height:34px;padding:5px 0;background:#eee6e4;color:#62555b;font-size:12px}
        .notice-inner{display:flex;justify-content:space-between;gap:18px;align-items:center}
        .notice strong{color:var(--berry);font-weight:700}
        .site-header{position:sticky;top:0;z-index:20;background:rgba(250,248,246,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
        .nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
        .brand{display:flex;align-items:center;gap:12px;color:var(--berry);font-weight:800;font-size:19px;white-space:nowrap}
        .brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--berry);color:#fff;border-radius:7px;font-size:13px}
        .nav-links{display:flex;align-items:center;gap:8px}
        .nav-links a,.age-status{padding:9px 14px;border-radius:6px;color:var(--muted);font-size:14px}
        .nav-links a:hover,.nav-links a.active{background:var(--wash);color:var(--berry)}
        .age-status{display:flex;align-items:center;gap:7px;border:1px solid var(--line);font-size:12px}
        .status-dot{width:7px;height:7px;border-radius:50%;background:var(--success)}
        .menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--berry);width:42px;height:42px;border-radius:6px}
        .hero{position:relative;padding:92px 0 70px;overflow:hidden;background:#e9dcdf}
        .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,26,37,.84),rgba(67,34,49,.53) 53%,rgba(67,34,49,.12)),url("/assets/images/backpic/back-1.jpg") center/cover}
        .hero-inner{position:relative;display:grid;grid-template-columns:6.5fr 5.5fr;gap:72px;align-items:center;color:#fff}
        .eyebrow{display:inline-flex;align-items:center;gap:9px;color:#f2d6cb;font-size:13px;font-weight:700;letter-spacing:0}
        .eyebrow::before{content:"";width:25px;height:1px;background:var(--coral)}
        h1{font-size:clamp(42px,5.3vw,64px);line-height:1.18;margin:18px 0 22px;letter-spacing:0;max-width:670px}
        .hero-copy{max-width:620px;color:#f4e9e9;font-size:17px;line-height:2}
        .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
        .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:700;transition:all .2s ease}
        .button-primary{background:var(--coral);color:#fff}
        .button-primary:hover{background:#a75f4e;color:#fff;transform:translateY(-2px)}
        .button-secondary{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08)}
        .button-secondary:hover{background:#fff;color:var(--berry)}
        .hero-art{position:relative;max-width:435px;justify-self:end}
        .hero-image{aspect-ratio:4/5;border:10px solid rgba(255,255,255,.7);border-bottom-width:42px;box-shadow:20px 24px 0 rgba(83,39,58,.34)}
        .hero-image img{height:100%;object-position:center}
        .art-label{position:absolute;bottom:7px;left:23px;color:var(--berry);font-size:11px;font-weight:800}
        .hero-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;border-top:1px solid rgba(255,255,255,.26)}
        .stat{padding:18px 18px 0 0;color:#f4e9e9}
        .stat b{display:block;color:#fff;font-size:18px}
        .stat span{font-size:12px;color:#dfcfd2}
        .section{padding:92px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
        .section-kicker{margin:0 0 5px;color:var(--coral);font-size:12px;font-weight:800}
        h2{margin:0;font-size:34px;line-height:1.35;letter-spacing:0}
        .section-intro{max-width:550px;margin:9px 0 0;color:var(--muted);font-size:15px}
        .filter-wrap{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:var(--radius);box-shadow:0 7px 22px rgba(62,35,47,.04)}
        .filter-form{display:grid;grid-template-columns:1.8fr 1fr 1fr auto auto;gap:12px;align-items:end}
        .field{display:flex;flex-direction:column;gap:6px}
        .field label{color:var(--muted);font-size:12px;font-weight:700}
        .field input,.field select{height:44px;width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);outline:0}
        .field input:focus,.field select:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(186,112,91,.12)}
        .filter-form .button{height:44px}
        .button-quiet{background:var(--wash);color:var(--berry)}
        .button-quiet:hover{background:#e4d4d9}
        .form-message{display:none;color:var(--warning);font-size:13px;margin:13px 0 0}
        .content-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:28px;align-items:start}
        .post-list{display:flex;flex-direction:column;gap:14px}
        .post-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s,box-shadow .2s,border-color .2s}
        .post-card:hover{transform:translateY(-3px);border-color:#c7a8b1;box-shadow:var(--shadow)}
        .post-image{aspect-ratio:16/10;border-radius:6px;background:var(--wash);overflow:hidden}
        .post-image img{height:100%}
        .post-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:var(--soft);font-size:12px}
        .tag{display:inline-block;padding:2px 9px;border:1px solid #d7c1c7;border-radius:20px;color:var(--berry);font-size:11px;line-height:1.7;background:#fcf7f7}
        h3{margin:8px 0 6px;font-size:20px;line-height:1.45}
        .post-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
        .read-link{display:inline-flex;margin-top:10px;color:var(--berry);font-size:13px;font-weight:700}
        .read-link::after{content:" →";margin-left:5px}
        .empty-state{display:none;padding:45px 20px;text-align:center;border:1px dashed #ccb9be;border-radius:var(--radius);color:var(--muted);background:var(--panel)}
        .empty-icon{width:42px;height:42px;margin:0 auto 12px;border:1px solid #c9adb5;border-radius:50%;display:grid;place-items:center;color:var(--coral);font-weight:700}
        .aside-note{padding:25px;background:var(--berry);color:#fff;border-radius:var(--radius);position:sticky;top:105px}
        .aside-note small{color:#e2cbd2;font-size:12px}
        .aside-note h3{font-size:23px;margin:13px 0}
        .aside-note p{margin:0;color:#f0e1e4;font-size:14px;line-height:1.9}
        .aside-rule{height:1px;background:rgba(255,255,255,.2);margin:20px 0}
        .aside-note a{display:inline-block;color:#f6d4c7;font-size:13px;font-weight:700}
        .feature-band{background:#f0e6e8}
        .feature-grid{display:grid;grid-template-columns:1.35fr .9fr .9fr;gap:18px}
        .feature-card{position:relative;min-height:360px;overflow:hidden;border-radius:var(--radius);background:var(--berry);color:#fff}
        .feature-card.small{min-height:300px}
        .feature-card img{position:absolute;inset:0;height:100%;opacity:.7}
        .feature-card::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(40,18,30,.9))}
        .feature-text{position:absolute;z-index:1;left:22px;right:22px;bottom:20px}
        .feature-text h3{font-size:21px;margin:10px 0 5px}
        .feature-text p{margin:0;color:#f0e1e4;font-size:13px;line-height:1.7}
        .feature-number{position:absolute;z-index:1;top:18px;left:20px;font-size:12px;color:#f5d7cd}
        .reading-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
        .reading-copy p{color:var(--muted);margin:15px 0 0}
        .steps{display:grid;gap:18px}
        .step{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
        .step-num{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--wash);color:var(--berry);font-weight:800}
        .step h3{font-size:17px;margin:0 0 2px}
        .step p{font-size:13px;color:var(--muted);margin:0;line-height:1.7}
        .faq-list{max-width:850px;margin:0 auto;border-top:1px solid var(--line)}
        details{border-bottom:1px solid var(--line)}
        summary{list-style:none;cursor:pointer;padding:21px 42px 21px 2px;position:relative;font-size:16px;font-weight:700}
        summary::-webkit-details-marker{display:none}
        summary::after{content:"+";position:absolute;right:6px;top:17px;color:var(--coral);font-size:25px;font-weight:400}
        details[open] summary{color:var(--berry)}
        details[open] summary::after{content:"−"}
        details p{margin:-5px 40px 20px 2px;color:var(--muted);font-size:14px;line-height:1.9}
        .cta{padding:56px 0;background:var(--berry-dark);color:#fff}
        .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
        .cta h2{font-size:30px}
        .cta p{margin:8px 0 0;color:#dbc7cd;font-size:14px}
        .site-footer{padding:45px 0 25px;background:#2d2028;color:#d9cbd0}
        .footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.13)}
        .footer-brand{color:#fff}
        .footer-brand p{max-width:350px;color:#a9969f;font-size:13px;line-height:1.8}
        .footer-nav{display:flex;gap:22px;align-items:start;font-size:13px}
        .footer-nav a:hover{color:#f2c6b7}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;color:#988790;font-size:12px}
        .age-modal{position:fixed;inset:0;z-index:50;display:none;place-items:center;padding:20px;background:rgba(36,22,30,.7)}
        .age-modal.show{display:grid}
        .age-dialog{width:min(480px,100%);padding:34px;background:var(--panel);border-radius:var(--radius);box-shadow:0 20px 70px rgba(20,10,16,.3)}
        .age-dialog h2{font-size:27px;color:var(--berry)}
        .age-dialog p{color:var(--muted);font-size:14px;line-height:1.9}
        .age-actions{display:flex;gap:10px;margin-top:23px}
        .age-actions .button
        .leave{border-color:var(--line);color:var(--muted);background:transparent}
        @media(max-width:992px){
            .hero-inner{gap:38px}.filter-form{grid-template-columns:1fr 1fr 1fr}.filter-form .field:first-child{grid-column:span 3}
            .content-layout{grid-template-columns:1fr}.aside-note{position:static}.feature-grid{grid-template-columns:1fr 1fr}.feature-card:first-child{grid-column:span 2}
        }
        @media(max-width:768px){
            .container{width:min(100% - 32px,var(--container))}.notice-inner{align-items:flex-start;flex-direction:column;gap:0}
            .nav{height:66px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:66px;left:16px;right:16px;padding:12px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);flex-direction:column;align-items:stretch}
            .nav-links.open{display:flex}.nav-links a,.age-status{display:block;padding:12px 14px}.age-status{margin-top:4px}
            .brand{font-size:16px}.hero{padding:64px 0 46px}.hero-inner{grid-template-columns:1fr}.hero-art{width:min(78%,390px);justify-self:center;order:-1}.hero-stats{margin-top:46px}
            h1{font-size:40px}.section{padding:64px 0}.section-head{display:block}.section-head .section-intro{margin-top:10px}.filter-form{grid-template-columns:1fr 1fr}.filter-form .field:first-child{grid-column:span 2}.filter-form .button{width:100%}
            .reading-grid{grid-template-columns:1fr;gap:35px}.cta-inner{display:block}.cta .button{margin-top:22px}
        }
        @media(max-width:520px){
            body{font-size:15px}.hero-art{width:88%}h1{font-size:34px}.hero-copy{font-size:15px;line-height:1.85}.actions,.actions .button{width:100%}
            .hero-stats{grid-template-columns:1fr}.stat{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2)}
            .filter-form{grid-template-columns:1fr}.filter-form .field:first-child{grid-column:auto}.filter-form .button{grid-column:auto}
            .post-card{grid-template-columns:1fr;gap:14px}.post-image{aspect-ratio:16/9}.feature-grid{grid-template-columns:1fr}.feature-card:first-child{grid-column:auto}
            .feature-card,.feature-card.small{min-height:310px}.footer-top,.footer-bottom{display:block}.footer-nav{margin-top:22px;flex-wrap:wrap;gap:14px}.footer-bottom span{display:block;margin-top:6px}
            .age-dialog{padding:25px}.age-actions{flex-direction:column}.age-actions .button{width:100%}
        }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
