/* roulang page: index */
:root{
            --bg:#0f0d0c;
            --bg-2:#161210;
            --bg-3:#201813;
            --paper:#f7f1e8;
            --paper-2:#f2e7db;
            --text:#f8efe7;
            --text-2:#d9c9bc;
            --ink:#221713;
            --muted:#968981;
            --line:rgba(255,255,255,.08);
            --line-dark:rgba(34,23,19,.09);
            --accent:#c74f6e;
            --accent-2:#df7c96;
            --accent-3:#efb7a1;
            --shadow:0 18px 50px rgba(0,0,0,.28);
            --shadow-soft:0 10px 28px rgba(0,0,0,.18);
            --radius-xl:28px;
            --radius-lg:22px;
            --radius-md:16px;
            --container:1240px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;
            background:
                radial-gradient(circle at 10% 10%, rgba(211,94,126,.14), transparent 22%),
                radial-gradient(circle at 90% 15%, rgba(242,182,160,.10), transparent 20%),
                radial-gradient(circle at 50% 100%, rgba(255,255,255,.04), transparent 26%),
                linear-gradient(180deg, #120f0e 0%, #0f0d0c 54%, #12100f 100%);
            color:var(--text);
            line-height:1.7;
            text-rendering:optimizeLegibility;
            -webkit-font-smoothing:antialiased;
            overflow-x:hidden;
        }
        body::before{
            content:"";
            position:fixed;
            inset:0;
            pointer-events:none;
            background-image:
                linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
            background-size:100% 28px, 28px 100%;
            mask-image:linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.08) 38%, rgba(0,0,0,0));
            opacity:.45;
        }
        a{color:inherit;text-decoration:none;transition:all .22s ease}
        img{max-width:100%;display:block}
        button,input,textarea,select{font:inherit}
        ::selection{background:rgba(199,79,110,.35);color:#fff}
        .container{
            width:min(calc(100% - 1.5rem), var(--container));
            margin-inline:auto;
        }
        .section{
            position:relative;
            scroll-margin-top:90px;
        }
        .panel{
            position:relative;
            overflow:hidden;
            border:1px solid var(--line);
            border-radius:var(--radius-xl);
            background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
            box-shadow:var(--shadow-soft);
            backdrop-filter:blur(18px);
        }
        .panel-light{
            border:1px solid var(--line-dark);
            background:linear-gradient(180deg, rgba(247,241,232,.98), rgba(242,231,219,.95));
            color:var(--ink);
            box-shadow:0 16px 40px rgba(18,13,12,.11);
        }
        .panel-flat{
            background:rgba(255,255,255,.03);
        }
        .chip{
            display:inline-flex;
            align-items:center;
            gap:.45rem;
            min-height:34px;
            padding:.42rem .85rem;
            border-radius:999px;
            border:1px solid rgba(255,255,255,.10);
            background:rgba(255,255,255,.045);
            color:var(--text-2);
            font-size:.85rem;
            letter-spacing:.01em;
        }
        .chip-dark{
            border-color:rgba(34,23,19,.12);
            background:rgba(255,255,255,.6);
            color:#4a3e38;
        }
        .badge{
            display:inline-flex;
            align-items:center;
            gap:.45rem;
            min-height:30px;
            padding:.28rem .74rem;
            border-radius:999px;
            background:rgba(199,79,110,.16);
            color:#ffcfda;
            border:1px solid rgba(199,79,110,.24);
            font-size:.78rem;
            letter-spacing:.04em;
        }
        .badge-light{
            background:rgba(199,79,110,.1);
            color:#9c3953;
            border-color:rgba(199,79,110,.18);
        }
        .btn-primary,.btn-secondary,.btn-ghost{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:.5rem;
            min-height:46px;
            padding:.78rem 1.2rem;
            border-radius:999px;
            font-weight:700;
            letter-spacing:.01em;
            transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
            will-change:transform;
        }
        .btn-primary{
            background:linear-gradient(135deg, #d65a7a, #b83f63 55%, #a73553);
            color:#fff;
            box-shadow:0 12px 28px rgba(184,63,99,.28);
            border:1px solid rgba(255,255,255,.08);
        }
        .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(184,63,99,.34)}
        .btn-primary:active{transform:translateY(0)}
        .btn-secondary{
            border:1px solid rgba(255,255,255,.14);
            background:rgba(255,255,255,.03);
            color:var(--text);
        }
        .btn-secondary:hover{
            transform:translateY(-2px);
            background:rgba(255,255,255,.06);
            border-color:rgba(255,255,255,.22);
        }
        .btn-ghost{
            border:1px solid rgba(34,23,19,.12);
            background:rgba(255,255,255,.6);
            color:var(--ink);
        }
        .btn-ghost:hover{
            transform:translateY(-2px);
            background:#fff;
            border-color:rgba(34,23,19,.18);
        }
        .nav-link{
            position:relative;
            padding:.45rem .2rem;
            color:rgba(248,239,231,.84);
            font-weight:600;
        }
        .nav-link::after{
            content:"";
            position:absolute;
            left:0;
            bottom:-.12rem;
            width:100%;
            height:2px;
            border-radius:999px;
            transform:scaleX(0);
            transform-origin:center;
            background:linear-gradient(90deg, transparent, #d65a7a, transparent);
            transition:transform .22s ease;
        }
        .nav-link:hover::after,.nav-link:focus-visible::after{transform:scaleX(1)}
        .nav-link:hover{color:#fff}
        .nav-link:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.content-link:focus-visible,.footer-link:focus-visible{
            outline:none;
            box-shadow:0 0 0 3px rgba(214,90,122,.25), 0 0 0 1px rgba(255,255,255,.22) inset;
        }
        .section-title{
            font-size:clamp(1.65rem, 2vw + 1rem, 2.65rem);
            line-height:1.16;
            letter-spacing:-.03em;
            font-weight:900;
        }
        .section-desc{
            color:rgba(248,239,231,.76);
            font-size:1rem;
            max-width:70ch;
        }
        .section-desc-dark{color:#6f5f57}
        .hero-title{
            font-size:clamp(2.2rem, 4vw + .8rem, 4.9rem);
            line-height:1.02;
            letter-spacing:-.05em;
            font-weight:900;
        }
        .hero-copy{
            color:rgba(248,239,231,.78);
            font-size:clamp(.98rem, .24vw + .92rem, 1.08rem);
            max-width:62ch;
        }
        .stat-card,.mini-card,.matrix-card,.compare-card,.article-card,.faq-card,.form-card,.step-card,.tag-card{
            border-radius:var(--radius-lg);
            border:1px solid rgba(255,255,255,.1);
            background:rgba(255,255,255,.03);
            box-shadow:0 10px 26px rgba(0,0,0,.15);
            transition:transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
        }
        .panel-light .stat-card,.panel-light .mini-card,.panel-light .matrix-card,.panel-light .compare-card,.panel-light .article-card,.panel-light .faq-card,.panel-light .form-card,.panel-light .step-card,.panel-light .tag-card{
            border-color:rgba(34,23,19,.08);
            background:rgba(255,255,255,.64);
            box-shadow:0 10px 24px rgba(23,14,10,.08);
        }
        .stat-card:hover,.mini-card:hover,.matrix-card:hover,.compare-card:hover,.article-card:hover,.faq-card:hover,.form-card:hover,.step-card:hover,.tag-card:hover{
            transform:translateY(-4px);
            border-color:rgba(214,90,122,.28);
            box-shadow:0 18px 34px rgba(0,0,0,.22);
        }
        .metric-number{
            font-size:clamp(1.75rem, 2vw + .8rem, 2.6rem);
            line-height:1;
            font-weight:900;
            letter-spacing:-.04em;
        }
        .metric-label{
            color:rgba(248,239,231,.7);
            font-size:.9rem;
        }
        .panel-light .metric-label{color:#6f5f57}
        .clamp-2{
            display:-webkit-box;
            -webkit-line-clamp:2;
            -webkit-box-orient:vertical;
            overflow:hidden;
        }
        .clamp-3{
            display:-webkit-box;
            -webkit-line-clamp:3;
            -webkit-box-orient:vertical;
            overflow:hidden;
        }
        .content-link{
            display:block;
            padding:1rem 1rem 1rem 1.05rem;
            border-radius:18px;
            border:1px solid rgba(255,255,255,.08);
            background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
        }
        .panel-light .content-link{
            border-color:rgba(34,23,19,.08);
            background:rgba(255,255,255,.72);
        }
        .content-link:hover{
            transform:translateY(-3px);
            border-color:rgba(214,90,122,.32);
        }
        .content-link:focus-visible{outline:none}
        .meta-row{
            color:rgba(248,239,231,.6);
            font-size:.82rem;
        }
        .panel-light .meta-row{color:#7a6a63}
        .article-meta{
            color:#7a6a63;
            font-size:.85rem;
        }
        .faq-card details{
            padding:1.05rem 1.05rem 1rem;
        }
        .faq-card summary{
            list-style:none;
            cursor:pointer;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:1rem;
            font-weight:700;
            color:inherit;
        }
        .faq-card summary::-webkit-details-marker{display:none}
        .faq-arrow{
            flex:0 0 auto;
            width:34px;
            height:34px;
            border-radius:999px;
            display:grid;
            place-items:center;
            border:1px solid rgba(255,255,255,.1);
            background:rgba(255,255,255,.05);
            transition:transform .22s ease, background .22s ease, border-color .22s ease;
        }
        .panel-light .faq-arrow{
            border-color:rgba(34,23,19,.09);
            background:rgba(255,255,255,.8);
        }
        details[open] .faq-arrow{transform:rotate(180deg)}
        .faq-card p{
            margin:0;
            color:rgba(248,239,231,.72);
        }
        .panel-light .faq-card p{color:#5f5048}
        .field{
            width:100%;
            min-height:48px;
            border-radius:16px;
            border:1px solid rgba(255,255,255,.1);
            background:rgba(255,255,255,.05);
            color:var(--text);
            padding:.78rem .95rem;
            outline:none;
            transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
        }
        .panel-light .field{
            border-color:rgba(34,23,19,.12);
            background:#fff;
            color:var(--ink);
        }
        .field::placeholder{color:rgba(248,239,231,.38)}
        .panel-light .field::placeholder{color:#a6968e}
        .field:focus{
            border-color:rgba(214,90,122,.45);
            box-shadow:0 0 0 4px rgba(214,90,122,.16);
        }
        .label{
            display:block;
            margin-bottom:.45rem;
            font-size:.88rem;
            font-weight:700;
            color:inherit;
        }
        .note{
            color:rgba(248,239,231,.62);
            font-size:.82rem;
        }
        .panel-light .note{color:#7b6d66}
        .divider{
            height:1px;
            width:100%;
            background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
        }
        .panel-light .divider{
            background:linear-gradient(90deg, transparent, rgba(34,23,19,.12), transparent);
        }
        .soft-orb{
            position:absolute;
            inset:auto;
            width:320px;
            height:320px;
            border-radius:50%;
            filter:blur(18px);
            opacity:.34;
            pointer-events:none;
            background:radial-gradient(circle, rgba(214,90,122,.82) 0%, rgba(214,90,122,.22) 46%, rgba(214,90,122,0) 72%);
        }
        .soft-orb.right{
            right:-110px;
            top:-92px;
        }
        .soft-orb.left{
            left:-130px;
            bottom:-120px;
            background:radial-gradient(circle, rgba(242,182,160,.72) 0%, rgba(242,182,160,.14) 45%, rgba(242,182,160,0) 72%);
        }
        .sticky-card{
            position:sticky;
            top:96px;
        }
        @media (max-width: 1024px){
            .sticky-card{position:static;top:auto}
        }
        @media (max-width: 640px){
            .container{width:min(calc(100% - 1rem), var(--container))}
            .hero-title{font-size:clamp(2rem, 8vw, 3.2rem)}
            .section-title{font-size:clamp(1.45rem, 6vw, 2rem)}
            .btn-primary,.btn-secondary,.btn-ghost{width:100%}
        }

/* roulang page: article */
:root{
            --bg:#0f0d0c;
            --bg-2:#161210;
            --bg-3:#201813;
            --paper:#f7f1e8;
            --paper-2:#f2e7db;
            --text:#f8efe7;
            --text-2:#d9c9bc;
            --ink:#221713;
            --muted:#968981;
            --line:rgba(255,255,255,.08);
            --line-dark:rgba(34,23,19,.09);
            --accent:#c74f6e;
            --accent-2:#df7c96;
            --accent-3:#efb7a1;
            --shadow:0 18px 50px rgba(0,0,0,.28);
            --shadow-soft:0 10px 28px rgba(0,0,0,.18);
            --radius-xl:28px;
            --radius-lg:22px;
            --radius-md:16px;
            --container:1240px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;
            background:
                radial-gradient(circle at 10% 10%, rgba(211,94,126,.14), transparent 22%),
                radial-gradient(circle at 90% 15%, rgba(242,182,160,.10), transparent 20%),
                radial-gradient(circle at 50% 100%, rgba(255,255,255,.04), transparent 26%),
                linear-gradient(180deg, #120f0e 0%, #0f0d0c 54%, #12100f 100%);
            color:var(--text);
            line-height:1.7;
            text-rendering:optimizeLegibility;
            -webkit-font-smoothing:antialiased;
            overflow-x:hidden;
        }
        body::before{
            content:"";
            position:fixed;
            inset:0;
            pointer-events:none;
            background-image:
                linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
            background-size:100% 28px, 28px 100%;
            mask-image:linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.08) 38%, rgba(0,0,0,0));
            opacity:.45;
        }
        ::selection{background:rgba(214,90,122,.32);color:#fff}
        a{color:inherit;text-decoration:none;transition:all .22s ease}
        img{max-width:100%;display:block}
        button,input,textarea,select{font:inherit}
        .container{
            width:min(calc(100% - 1.5rem), var(--container));
            margin-inline:auto;
        }
        .section{position:relative;scroll-margin-top:90px}
        .h-18{height:4.5rem}
        .bg-white\/4{background-color:rgba(255,255,255,.04)}
        .bg-white\/7{background-color:rgba(255,255,255,.07)}
        .border-white\/12{border-color:rgba(255,255,255,.12)}
        .chip{
            display:inline-flex;
            align-items:center;
            gap:.45rem;
            min-height:34px;
            padding:.42rem .85rem;
            border-radius:999px;
            border:1px solid rgba(255,255,255,.10);
            background:rgba(255,255,255,.045);
            color:var(--text-2);
            font-size:.85rem;
            letter-spacing:.01em;
        }
        .chip-dark{
            border-color:rgba(34,23,19,.12);
            background:rgba(255,255,255,.6);
            color:#4a3e38;
        }
        .badge{
            display:inline-flex;
            align-items:center;
            gap:.45rem;
            min-height:30px;
            padding:.28rem .74rem;
            border-radius:999px;
            background:rgba(199,79,110,.16);
            color:#ffcfda;
            border:1px solid rgba(199,79,110,.24);
            font-size:.78rem;
            letter-spacing:.04em;
        }
        .badge-light{
            background:rgba(199,79,110,.1);
            color:#9c3953;
            border-color:rgba(199,79,110,.18);
        }
        .btn-primary,.btn-secondary,.btn-ghost{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:.5rem;
            min-height:46px;
            padding:.78rem 1.2rem;
            border-radius:999px;
            font-weight:700;
            letter-spacing:.01em;
            transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
            will-change:transform;
        }
        .btn-primary{
            background:linear-gradient(135deg, #d65a7a, #b83f63 55%, #a73553);
            color:#fff;
            box-shadow:0 12px 28px rgba(184,63,99,.28);
            border:1px solid rgba(255,255,255,.08);
        }
        .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(184,63,99,.34)}
        .btn-primary:active{transform:translateY(0)}
        .btn-secondary{
            border:1px solid rgba(255,255,255,.14);
            background:rgba(255,255,255,.03);
            color:var(--text);
        }
        .btn-secondary:hover{
            transform:translateY(-2px);
            background:rgba(255,255,255,.06);
            border-color:rgba(255,255,255,.22);
        }
        .btn-ghost{
            border:1px solid rgba(34,23,19,.12);
            background:rgba(255,255,255,.6);
            color:var(--ink);
        }
        .btn-ghost:hover{
            transform:translateY(-2px);
            background:#fff;
            border-color:rgba(34,23,19,.18);
        }
        .nav-link{
            position:relative;
            padding:.45rem .2rem;
            color:rgba(248,239,231,.84);
            font-weight:600;
        }
        .nav-link::after{
            content:"";
            position:absolute;
            left:0;
            bottom:-.12rem;
            width:100%;
            height:2px;
            border-radius:999px;
            transform:scaleX(0);
            transform-origin:center;
            background:linear-gradient(90deg, transparent, #d65a7a, transparent);
            transition:transform .22s ease;
        }
        .nav-link:hover::after,.nav-link:focus-visible::after{transform:scaleX(1)}
        .nav-link:hover{color:#fff}
        .nav-link:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.content-link:focus-visible,.footer-link:focus-visible{
            outline:none;
            box-shadow:0 0 0 3px rgba(214,90,122,.25), 0 0 0 1px rgba(255,255,255,.22) inset;
        }
        .section-title{
            font-size:clamp(1.65rem, 2vw + 1rem, 2.65rem);
            line-height:1.16;
            letter-spacing:-.03em;
            font-weight:900;
        }
        .section-desc{
            color:rgba(248,239,231,.76);
            font-size:1rem;
            max-width:70ch;
        }
        .section-desc-dark{color:#6f5f57}
        .hero-title{
            font-size:clamp(2.2rem, 4vw + .8rem, 4.9rem);
            line-height:1.02;
            letter-spacing:-.05em;
            font-weight:900;
        }
        .card-surface{
            border:1px solid rgba(255,255,255,.10);
            background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028));
            box-shadow:var(--shadow-soft);
            border-radius:var(--radius-xl);
            backdrop-filter:blur(18px);
        }
        .card-surface:hover{
            border-color:rgba(255,255,255,.16);
            transform:translateY(-4px);
            box-shadow:0 16px 32px rgba(0,0,0,.2);
        }
        .paper-card{
            background:linear-gradient(180deg, rgba(247,241,232,.98), rgba(242,231,219,.96));
            color:var(--ink);
            border:1px solid rgba(34,23,19,.08);
            border-radius:var(--radius-xl);
            box-shadow:0 24px 56px rgba(18,12,8,.18);
        }
        .meta-line{
            display:flex;
            flex-wrap:wrap;
            gap:.75rem 1rem;
            align-items:center;
            color:rgba(248,239,231,.74);
            font-size:.92rem;
        }
        .meta-line-dark{
            color:#705f56;
        }
        .stat-grid{
            display:grid;
            grid-template-columns:repeat(2,minmax(0,1fr));
            gap:.75rem;
        }
        .stat-card{
            padding:1rem;
            border-radius:22px;
            border:1px solid rgba(255,255,255,.10);
            background:rgba(255,255,255,.045);
        }
        .stat-num{
            font-size:1.4rem;
            font-weight:900;
            line-height:1;
            letter-spacing:-.03em;
        }
        .stat-label{
            margin-top:.35rem;
            font-size:.84rem;
            color:var(--text-2);
        }
        .poster-card{
            position:relative;
            overflow:hidden;
            min-height:420px;
            border-radius:32px;
            border:1px solid rgba(255,255,255,.10);
            background:
                radial-gradient(circle at 35% 20%, rgba(214,90,122,.58), transparent 30%),
                radial-gradient(circle at 70% 70%, rgba(242,182,160,.18), transparent 25%),
                linear-gradient(180deg, rgba(38,27,24,.95), rgba(16,13,12,.96));
            box-shadow:var(--shadow);
        }
        .poster-card::after{
            content:"";
            position:absolute;
            inset:0;
            background:
                linear-gradient(180deg, rgba(255,255,255,.06), transparent 20%),
                linear-gradient(135deg, transparent 0%, rgba(255,255,255,.03) 50%, transparent 100%);
            pointer-events:none;
        }
        .poster-glow{
            position:absolute;
            inset:auto auto 18% 14%;
            width:140px;height:140px;
            border-radius:999px;
            background:radial-gradient(circle, rgba(255,214,223,.95) 0%, rgba(255,214,223,.25) 34%, transparent 72%);
            filter:blur(2px);
            opacity:.75;
        }
        .poster-frame{
            position:absolute;
            inset:22px;
            border-radius:28px;
            border:1px solid rgba(255,255,255,.10);
            background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
            display:flex;
            flex-direction:column;
            justify-content:space-between;
            padding:1.15rem;
        }
        .poster-badge{
            display:inline-flex;
            align-items:center;
            gap:.4rem;
            width:fit-content;
            padding:.36rem .7rem;
            border-radius:999px;
            background:rgba(15,13,12,.42);
            border:1px solid rgba(255,255,255,.12);
            color:#ffe6ee;
            font-size:.78rem;
            letter-spacing:.08em;
        }
        .poster-big{
            font-size:clamp(1.9rem, 3vw, 2.9rem);
            line-height:1.02;
            font-weight:900;
            letter-spacing:-.04em;
        }
        .poster-note{
            font-size:.92rem;
            color:rgba(248,239,231,.76);
            max-width:22ch;
        }
        .article-shell{
            padding:1.25rem;
            border-radius:32px;
            border:1px solid rgba(255,255,255,.10);
            background:rgba(255,255,255,.03);
            box-shadow:var(--shadow-soft);
        }
        .article-content{
            max-width:none;
            color:rgba(248,239,231,.92);
            font-size:1.03rem;
            line-height:1.88;
        }
        .article-content > * + *{margin-top:1.05rem}
        .article-content h2,
        .article-content h3{
            color:#fff;
            line-height:1.25;
            letter-spacing:-.03em;
            margin-top:2rem;
            margin-bottom:.8rem;
            font-weight:800;
        }
        .article-content h2{font-size:clamp(1.45rem, 1.2vw + 1.1rem, 2rem)}
        .article-content h3{font-size:clamp(1.18rem, .7vw + 1rem, 1.4rem)}
        .article-content p{color:rgba(248,239,231,.90)}
        .article-content a{
            color:#ffd6df;
            border-bottom:1px solid rgba(214,90,122,.35);
            padding-bottom:1px;
        }
        .article-content a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.6)}
        .article-content blockquote{
            margin:1.35rem 0;
            padding:1rem 1.15rem;
            border-left:3px solid var(--accent-2);
            border-radius:18px;
            background:rgba(255,255,255,.04);
            color:rgba(248,239,231,.88);
        }
        .article-content ul,
        .article-content ol{
            padding-left:1.25rem;
            color:rgba(248,239,231,.88);
        }
        .article-content li + li{margin-top:.55rem}
        .article-content hr{
            margin:1.8rem 0;
            border:0;
            border-top:1px solid rgba(255,255,255,.10);
        }
        .article-content code{
            padding:.15rem .42rem;
            border-radius:8px;
            background:rgba(255,255,255,.08);
            color:#ffe1ea;
            font-size:.92em;
        }
        .article-content pre{
            overflow:auto;
            padding:1rem 1.05rem;
            border-radius:20px;
            background:#161210;
            border:1px solid rgba(255,255,255,.10);
            color:#f8efe7;
        }
        .article-content img{
            margin:1.2rem 0;
            border-radius:24px;
            border:1px solid rgba(255,255,255,.10);
            box-shadow:var(--shadow-soft);
        }
        .article-content figure{
            margin:1.3rem 0;
            border-radius:24px;
            overflow:hidden;
            border:1px solid rgba(255,255,255,.08);
            background:rgba(255,255,255,.04);
        }
        .article-content figcaption{
            padding:.8rem 1rem 1rem;
            font-size:.88rem;
            color:rgba(248,239,231,.72);
        }
        .article-content table{
            width:100%;
            border-collapse:separate;
            border-spacing:0;
            overflow:hidden;
            border-radius:18px;
            border:1px solid rgba(255,255,255,.10);
        }
        .article-content th,
        .article-content td{
            padding:.8rem .9rem;
            border-bottom:1px solid rgba(255,255,255,.08);
            border-right:1px solid rgba(255,255,255,.06);
            text-align:left;
        }
        .article-content th{
            background:rgba(255,255,255,.05);
            color:#fff;
        }
        .article-content tr:last-child td{border-bottom:0}
        .article-content td:last-child,
        .article-content th:last-child{border-right:0}
        .faq-item{
            border:1px solid rgba(255,255,255,.10);
            background:rgba(255,255,255,.04);
            border-radius:22px;
            overflow:hidden;
        }
        .faq-item summary{
            list-style:none;
            cursor:pointer;
            padding:1rem 1.1rem;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:1rem;
            color:#fff;
            font-weight:700;
        }
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-arrow{
            flex:none;
            width:1.8rem;
            height:1.8rem;
            border-radius:999px;
            display:grid;
            place-items:center;
            background:rgba(255,255,255,.05);
            border:1px solid rgba(255,255,255,.08);
            transition:transform .22s ease, background .22s ease;
        }
        .faq-item[open] .faq-arrow{transform:rotate(180deg)}
        .faq-body{
            padding:0 1.1rem 1rem;
            color:rgba(248,239,231,.76);
        }
        .input-field, .textarea-field{
            width:100%;
            border-radius:18px;
            border:1px solid rgba(255,255,255,.12);
            background:rgba(255,255,255,.04);
            color:var(--text);
            padding:.95rem 1rem;
            outline:none;
            transition:border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
        }
        .input-field::placeholder, .textarea-field::placeholder{color:rgba(217,201,188,.58)}
        .input-field:focus, .textarea-field:focus{
            border-color:rgba(214,90,122,.5);
            background:rgba(255,255,255,.06);
            box-shadow:0 0 0 3px rgba(214,90,122,.14);
        }
        .textarea-field{min-height:120px;resize:vertical}
        .field-label{
            display:block;
            margin-bottom:.45rem;
            font-size:.9rem;
            color:rgba(248,239,231,.84);
            font-weight:600;
        }
        .sidebar-card{
            position:sticky;
            top:6.3rem;
        }
        .content-link{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:.75rem;
            padding:.95rem 1rem;
            border-radius:18px;
            border:1px solid rgba(255,255,255,.10);
            background:rgba(255,255,255,.035);
            color:var(--text);
            transition:transform .22s ease, border-color .22s ease, background .22s ease;
        }
        .content-link:hover{
            transform:translateY(-2px);
            border-color:rgba(255,255,255,.18);
            background:rgba(255,255,255,.06);
        }
        .footer-link{
            transition:transform .22s ease, border-color .22s ease, background .22s ease;
        }
        .footer-link:hover{
            transform:translateY(-2px);
            border-color:rgba(255,255,255,.18);
            background:rgba(255,255,255,.07);
        }
        .divider{
            height:1px;
            background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
        }
        @media (max-width: 1024px){
            .sidebar-card{position:static;top:auto}
        }
        @media (max-width: 768px){
            .article-shell{padding:1rem}
            .hero-title{font-size:clamp(2rem, 7vw, 3.2rem)}
            .section-title{font-size:clamp(1.5rem, 5vw, 2.1rem)}
            .poster-card{min-height:360px}
        }
        @media (max-width: 520px){
            .container{width:min(calc(100% - 1rem), var(--container))}
            .btn-primary,.btn-secondary,.btn-ghost{width:100%}
            .stat-grid{grid-template-columns:1fr 1fr}
            .poster-frame{inset:16px;padding:.95rem}
            .poster-big{font-size:1.8rem}
        }
