/* roulang page: index */
:root {
            --bg: #f6f1e8;
            --surface: #fffdf9;
            --surface-soft: #eee9df;
            --ink: #24352f;
            --muted: #68736d;
            --line: rgba(36, 53, 47, .16);
            --primary: #24352f;
            --primary-deep: #17251f;
            --accent: #c96f45;
            --accent-soft: #f4dfd3;
            --sage: #8fa58c;
            --sage-soft: #dfe8dc;
            --warning: #e8c879;
            --warning-soft: #f7edcb;
            --success: #577d62;
            --radius-sm: 12px;
            --radius-md: 18px;
            --radius-lg: 26px;
            --shadow-card: 0 14px 34px rgba(36, 53, 47, .07);
            --shadow-hover: 0 20px 46px rgba(36, 53, 47, .13);
            --container: 1240px;
            --transition: 220ms ease-out;
        }

        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: smooth; scroll-padding-top: 108px; }
        body {
            margin: 0;
            color: var(--ink);
            background:
                radial-gradient(circle at 12% 6%, rgba(232, 200, 121, .14), transparent 28%),
                radial-gradient(circle at 90% 28%, rgba(143, 165, 140, .12), transparent 26%),
                var(--bg);
            font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;
            font-size: 16px;
            line-height: 1.8;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        body::before {
            content: "";
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: -1;
            opacity: .2;
            background-image: radial-gradient(rgba(36,53,47,.16) .65px, transparent .65px);
            background-size: 7px 7px;
        }

        h1, h2, h3, h4, p { margin-top: 0; }
        h1, h2, h3, h4 {
            color: var(--ink);
            font-weight: 760;
            letter-spacing: -.035em;
            line-height: 1.22;
        }
        h1 { font-size: clamp(2.15rem, 5vw, 3.35rem); }
        h2 { font-size: clamp(1.7rem, 3.4vw, 2.22rem); }
        h3 { font-size: 1.28rem; }
        p { margin-bottom: 1rem; }
        a {
            color: inherit;
            text-decoration: none;
            transition: color var(--transition), background-color var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
        }
        button, input, select, textarea { font: inherit; }
        button { transition: all var(--transition); }
        img { max-width: 100%; display: block; }
        ::selection { color: var(--surface); background: var(--accent); }

        a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
            outline: 3px solid rgba(201, 111, 69, .38) !important;
            outline-offset: 3px;
            box-shadow: none !important;
        }

        .site-container {
            width: min(calc(100% - 48px), var(--container));
            margin-inline: auto;
        }

        .section-space { padding: 88px 0; }
        .section-kicker {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 14px;
            color: var(--accent);
            font-size: .84rem;
            font-weight: 750;
            letter-spacing: .08em;
        }
        .section-kicker::before {
            content: "";
            width: 26px;
            height: 2px;
            background: currentColor;
            border-radius: 999px;
        }
        .section-copy {
            max-width: 720px;
            color: var(--muted);
            font-size: 1.02rem;
            line-height: 1.85;
            margin-bottom: 0;
        }

        .badge-soft, .micro-tag {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            min-height: 30px;
            padding: 4px 11px;
            border: 1px solid var(--line);
            border-radius: 999px;
            color: var(--ink);
            background: rgba(255, 253, 249, .72);
            font-size: .8rem;
            font-weight: 680;
            letter-spacing: .01em;
        }
        .micro-tag.sage { background: var(--sage-soft); }
        .micro-tag.warm { background: var(--warning-soft); }
        .micro-tag.accent { background: var(--accent-soft); }
        .status-dot {
            width: 8px;
            height: 8px;
            flex: 0 0 8px;
            border-radius: 50%;
            background: var(--success);
            box-shadow: 0 0 0 4px rgba(87,125,98,.12);
        }

        .btn-site {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 50px;
            padding: 11px 20px;
            border: 1px solid var(--primary);
            border-radius: 14px;
            font-weight: 720;
            line-height: 1.2;
            cursor: pointer;
        }
        .btn-primary-site {
            color: #fffaf2;
            background: var(--primary);
            box-shadow: 0 10px 22px rgba(36, 53, 47, .16);
        }
        .btn-primary-site:hover {
            color: #fff;
            background: var(--primary-deep);
            transform: translateY(-2px);
            box-shadow: 0 15px 28px rgba(36, 53, 47, .23);
        }
        .btn-outline-site { color: var(--ink); background: var(--surface); }
        .btn-outline-site:hover {
            color: var(--ink);
            background: var(--sage-soft);
            border-color: var(--sage);
            transform: translateY(-2px);
        }
        .btn-site:active { transform: translateY(0); }
        .btn-site:disabled { opacity: .55; cursor: not-allowed; transform: none; }

        .site-header {
            position: sticky;
            top: 10px;
            z-index: 1030;
            padding: 10px 0 0;
        }
        .toolbar {
            min-height: 72px;
            padding: 9px 12px 9px 17px;
            display: flex;
            align-items: center;
            gap: 18px;
            border: 1px solid var(--line);
            border-radius: 22px;
            background: rgba(255, 253, 249, .91);
            backdrop-filter: blur(16px);
            box-shadow: var(--shadow-card);
        }
        .site-header.is-scrolled .toolbar {
            background: rgba(255,253,249,.97);
            box-shadow: 0 16px 38px rgba(36,53,47,.14);
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            min-width: max-content;
            font-weight: 800;
            letter-spacing: -.03em;
        }
        .brand:hover { color: var(--accent); }
        .brand-mark {
            width: 38px;
            height: 38px;
            display: grid;
            place-items: center;
            color: #fff;
            border-radius: 50%;
            background: var(--primary);
            box-shadow: inset 0 0 0 5px rgba(255,255,255,.07);
        }
        .brand-mark span {
            width: 17px;
            height: 14px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .brand-mark i {
            display: block;
            width: 2px;
            border-radius: 4px;
            background: var(--warning);
        }
        .brand-mark i:nth-child(1) { height: 6px; }
        .brand-mark i:nth-child(2) { height: 14px; }
        .brand-mark i:nth-child(3) { height: 9px; }
        .brand-mark i:nth-child(4) { height: 12px; }

        .toolbar-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
            margin: 0 auto;
            padding: 4px;
            border-radius: 14px;
            background: var(--surface-soft);
        }
        .toolbar-nav a {
            position: relative;
            min-height: 38px;
            display: inline-flex;
            align-items: center;
            padding: 7px 13px;
            border-radius: 11px;
            color: var(--muted);
            font-size: .92rem;
            font-weight: 680;
            white-space: nowrap;
        }
        .toolbar-nav a:hover { color: var(--ink); background: rgba(255,255,255,.65); }
        .toolbar-nav a.active {
            color: var(--ink);
            padding-left: 27px;
            background: var(--sage-soft);
            box-shadow: 0 4px 12px rgba(36,53,47,.06);
        }
        .toolbar-nav a.active::before {
            content: "";
            position: absolute;
            left: 12px;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--accent);
        }
        .toolbar-actions { display: flex; align-items: center; gap: 8px; }
        .update-state {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--muted);
            font-size: .8rem;
            white-space: nowrap;
        }
        .icon-button, .menu-button {
            width: 44px;
            height: 44px;
            display: inline-grid;
            place-items: center;
            border: 1px solid var(--line);
            border-radius: 13px;
            color: var(--ink);
            background: var(--surface);
        }
        .icon-button:hover, .menu-button:hover { background: var(--sage-soft); border-color: var(--sage); }
        .notify-wrap { position: relative; }
        .notify-panel {
            position: absolute;
            top: calc(100% + 12px);
            right: 0;
            width: min(330px, calc(100vw - 32px));
            padding: 10px;
            visibility: hidden;
            opacity: 0;
            transform: translateY(-8px);
            border: 1px solid var(--line);
            border-radius: 18px;
            background: var(--surface);
            box-shadow: var(--shadow-hover);
            transition: all var(--transition);
        }
        .notify-panel.show { visibility: visible; opacity: 1; transform: translateY(0); }
        .notify-head { padding: 8px 10px 10px; font-weight: 760; }
        .notify-item {
            display: grid;
            grid-template-columns: 9px 1fr;
            gap: 10px;
            padding: 10px;
            border-radius: 12px;
        }
        .notify-item:hover { background: var(--surface-soft); }
        .notify-item .dot { width: 8px; height: 8px; margin-top: 9px; border-radius: 50%; background: var(--accent); }
        .notify-item p { margin: 0; color: var(--ink); font-size: .88rem; line-height: 1.6; }
        .notify-item small { color: var(--muted); }

        .mobile-panel {
            margin-top: 8px;
            padding: 12px;
            border: 1px solid var(--line);
            border-radius: 18px;
            background: var(--surface);
            box-shadow: var(--shadow-card);
        }
        .mobile-panel a {
            display: flex;
            align-items: center;
            min-height: 46px;
            padding: 9px 12px;
            border-radius: 11px;
            font-weight: 680;
        }
        .mobile-panel a.active, .mobile-panel a:hover { background: var(--sage-soft); }

        .hero { padding: 56px 0 72px; }
        .hero-stage {
            position: relative;
            overflow: hidden;
            padding: 34px;
            border: 1px solid var(--line);
            border-radius: 30px;
            background: rgba(255,253,249,.88);
            box-shadow: var(--shadow-card);
        }
        .hero-stage::after {
            content: "";
            position: absolute;
            right: -70px;
            top: -100px;
            width: 310px;
            height: 310px;
            border: 54px solid rgba(143,165,140,.11);
            border-radius: 50%;
            pointer-events: none;
        }
        .guide-cover {
            position: relative;
            min-height: 420px;
            overflow: hidden;
            padding: 28px;
            border-radius: 22px;
            color: #fffaf2;
            background: var(--primary);
            box-shadow: 0 20px 42px rgba(36,53,47,.2);
        }
        .guide-cover::before {
            content: "";
            position: absolute;
            inset: 0;
            opacity: .18;
            background-image: linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
            background-size: 32px 32px;
        }
        .cover-content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; }
        .cover-code { color: var(--warning); font-size: .75rem; font-weight: 760; letter-spacing: .16em; }
        .cover-title {
            max-width: 260px;
            margin: 54px 0 20px;
            color: #fffaf2;
            font-size: 2rem;
            line-height: 1.28;
        }
        .cover-lines { display: flex; align-items: center; gap: 5px; height: 32px; margin-bottom: 26px; }
        .cover-lines span { width: 4px; border-radius: 9px; background: var(--warning); }
        .cover-lines span:nth-child(1) { height: 10px; }
        .cover-lines span:nth-child(2) { height: 25px; }
        .cover-lines span:nth-child(3) { height: 17px; }
        .cover-lines span:nth-child(4) { height: 30px; }
        .cover-lines span:nth-child(5) { height: 14px; }
        .cover-lines span:nth-child(6) { height: 21px; }
        .cover-note { margin-top: auto; color: rgba(255,250,242,.72); font-size: .86rem; }
        .hero-copy { padding: 6px 6px 0 20px; position: relative; z-index: 1; }
        .hero-copy h1 { max-width: 720px; margin: 16px 0 20px; }
        .hero-lead {
            max-width: 720px;
            color: var(--muted);
            font-size: 1.06rem;
            line-height: 1.9;
        }
        .contents-preview {
            margin: 24px 0;
            padding: 17px 19px;
            border-left: 3px solid var(--accent);
            border-radius: 0 15px 15px 0;
            background: var(--surface-soft);
        }
        .contents-preview strong { display: block; margin-bottom: 6px; }
        .contents-preview span { color: var(--muted); font-size: .92rem; }
        .download-inline {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 10px;
            max-width: 620px;
            margin-top: 22px;
        }
        .form-control, .form-select {
            min-height: 52px;
            padding: 12px 15px;
            color: var(--ink);
            border: 1px solid var(--line);
            border-radius: 13px;
            background-color: var(--surface);
        }
        .form-control:focus, .form-select:focus {
            color: var(--ink);
            border-color: var(--accent);
            background: #fff;
            box-shadow: 0 0 0 4px rgba(201,111,69,.12);
        }
        .form-control::placeholder { color: #929b96; }
        .tiny-note { margin-top: 9px; color: var(--muted); font-size: .78rem; }
        .hero-feedback { display: none; margin-top: 12px; color: var(--success); font-weight: 680; }
        .hero-feedback.show { display: block; }

        .metric-track {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1px;
            margin-top: 30px;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: 18px;
            background: var(--line);
        }
        .metric {
            min-height: 128px;
            padding: 20px;
            background: var(--surface);
        }
        .metric-label { color: var(--muted); font-size: .8rem; font-weight: 680; }
        .metric-value { margin: 8px 0 2px; font-size: 1.72rem; font-weight: 800; letter-spacing: -.04em; }
        .metric-note { color: var(--muted); font-size: .78rem; }
        .mini-track { display: flex; gap: 3px; align-items: end; height: 16px; margin-top: 12px; }
        .mini-track i { flex: 1; border-radius: 4px; background: var(--sage); }
        .mini-track i:nth-child(1) { height: 5px; }
        .mini-track i:nth-child(2) { height: 11px; }
        .mini-track i:nth-child(3) { height: 7px; }
        .mini-track i:nth-child(4) { height: 14px; background: var(--accent); }
        .mini-track i:nth-child(5) { height: 10px; }

        .matrix-section { padding: 88px 0; }
        .matrix-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
        .matrix-head .section-copy { max-width: 620px; }
        .matrix-card {
            position: relative;
            height: 100%;
            overflow: hidden;
            padding: 26px;
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
            background: var(--surface);
            box-shadow: var(--shadow-card);
        }
        a.matrix-card { display: block; }
        .matrix-card:hover {
            border-color: var(--sage);
            transform: translateY(-4px);
            box-shadow: var(--shadow-hover);
        }
        .matrix-card.sage { background: var(--sage-soft); }
        .matrix-card.warm { background: var(--warning-soft); }
        .matrix-card.accent-soft { background: #f4e5dc; }
        .matrix-large { min-height: 506px; padding: 32px; display: flex; flex-direction: column; }
        .chapter-no {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: var(--accent);
            font-size: .82rem;
            font-weight: 800;
            letter-spacing: .12em;
        }
        .chapter-no::after { content: ""; width: 40px; height: 1px; background: currentColor; }
        .matrix-card h3 { margin: 28px 0 14px; font-size: 1.45rem; }
        .matrix-large h3 { max-width: 390px; font-size: 2rem; }
        .matrix-card p { color: var(--muted); line-height: 1.75; }
        .point-list { margin: 22px 0 0; padding: 0; list-style: none; }
        .point-list li {
            display: flex;
            gap: 10px;
            padding: 9px 0;
            border-bottom: 1px dashed var(--line);
            color: var(--ink);
            font-size: .92rem;
        }
        .point-list li::before {
            content: "";
            width: 7px;
            height: 7px;
            flex: 0 0 7px;
            margin-top: 10px;
            border-radius: 50%;
            background: var(--accent);
        }
        .card-route {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-top: auto;
            padding-top: 26px;
            font-weight: 740;
        }
        .card-route i { transition: transform var(--transition); }
        .matrix-card:hover .card-route i { transform: translateX(5px); }
        .signal-decoration {
            position: absolute;
            right: -20px;
            bottom: 36px;
            display: flex;
            gap: 7px;
            opacity: .18;
            transform: rotate(-8deg);
        }
        .signal-decoration span { width: 8px; border-radius: 99px; background: var(--primary); }
        .signal-decoration span:nth-child(1) { height: 28px; }
        .signal-decoration span:nth-child(2) { height: 72px; }
        .signal-decoration span:nth-child(3) { height: 46px; }
        .signal-decoration span:nth-child(4) { height: 90px; }
        .signal-decoration span:nth-child(5) { height: 58px; }

        .comparison-section {
            padding: 90px 0;
            color: #f8f3ea;
            background: var(--primary);
        }
        .comparison-section h2, .comparison-section h3 { color: #fffaf2; }
        .comparison-section .section-copy { color: rgba(255,250,242,.7); }
        .compare-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 34px; }
        .compare-labels { display: flex; flex-wrap: wrap; gap: 8px; }
        .compare-labels .micro-tag {
            color: #fffaf2;
            border-color: rgba(255,255,255,.18);
            background: rgba(255,255,255,.06);
        }
        .compare-board {
            display: grid;
            grid-template-columns: 1fr 64px 1fr;
            align-items: stretch;
        }
        .compare-card {
            padding: 30px;
            border: 1px solid rgba(255,255,255,.14);
            border-radius: 22px;
            background: rgba(255,255,255,.055);
        }
        .compare-card.zone-two { background: rgba(232,200,121,.09); }
        .compare-card-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; }
        .zone-badge {
            display: inline-grid;
            place-items: center;
            width: 56px;
            height: 56px;
            border-radius: 50%;
            color: var(--primary);
            background: var(--warning);
            font-size: 1.4rem;
            font-weight: 850;
        }
        .compare-card.zone-two .zone-badge { background: var(--accent); color: #fff; }
        .compare-list { margin: 0; padding: 0; list-style: none; }
        .compare-list li {
            display: grid;
            grid-template-columns: 145px 1fr;
            gap: 16px;
            padding: 14px 0;
            border-top: 1px solid rgba(255,255,255,.11);
        }
        .compare-list strong { color: var(--warning); font-size: .87rem; }
        .compare-list span { color: rgba(255,250,242,.78); font-size: .91rem; }
        .center-scale {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-around;
            padding: 28px 0;
        }
        .center-scale::before {
            content: "";
            position: absolute;
            width: 1px;
            height: 60%;
            background: repeating-linear-gradient(to bottom, rgba(255,255,255,.3) 0 5px, transparent 5px 11px);
        }
        .center-scale i {
            position: relative;
            z-index: 1;
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--accent);
            box-shadow: 0 0 0 6px var(--primary);
        }
        .compare-disclaimer {
            margin: 25px 0 0;
            color: rgba(255,250,242,.65);
            font-size: .84rem;
            text-align: center;
        }

        .news-section { padding: 88px 0; }
        .news-layout { margin-top: 32px; }
        .news-list {
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: 20px;
            background: var(--surface);
            box-shadow: var(--shadow-card);
        }
        .news-item {
            display: grid;
            grid-template-columns: 86px 1fr auto;
            gap: 18px;
            align-items: center;
            padding: 20px 22px;
            border-bottom: 1px solid var(--line);
        }
        .news-item:last-child { border-bottom: 0; }
        .news-item:hover { background: var(--surface-soft); }
        .news-date { color: var(--muted); font-size: .79rem; }
        .news-title { font-weight: 730; line-height: 1.5; }
        .news-title:hover { color: var(--accent); }
        .news-arrow { color: var(--accent); transition: transform var(--transition); }
        .news-item:hover .news-arrow { transform: translateX(4px); }
        .ranking-card {
            height: 100%;
            padding: 24px;
            border: 1px solid var(--line);
            border-radius: 20px;
            background: var(--warning-soft);
        }
        .ranking-card h3 { margin-bottom: 18px; }
        .rank-list { margin: 0; padding: 0; list-style: none; }
        .rank-list li {
            display: grid;
            grid-template-columns: 34px 1fr auto;
            gap: 10px;
            align-items: center;
            padding: 14px 0;
            border-bottom: 1px dashed rgba(36,53,47,.18);
        }
        .rank-list li:last-child { border-bottom: 0; }
        .rank-no { font-size: 1.1rem; font-weight: 850; color: var(--accent); }
        .rank-title { font-size: .9rem; font-weight: 680; line-height: 1.5; }
        .rank-trend { color: var(--success); font-size: .74rem; }

        .faq-section { padding: 88px 0; background: rgba(255,253,249,.55); }
        .faq-aside {
            position: sticky;
            top: 110px;
            padding-right: 30px;
        }
        .wave-column { display: flex; align-items: center; gap: 6px; height: 70px; margin-top: 28px; }
        .wave-column span { width: 6px; border-radius: 9px; background: var(--sage); }
        .wave-column span:nth-child(1) { height: 17px; }
        .wave-column span:nth-child(2) { height: 43px; }
        .wave-column span:nth-child(3) { height: 29px; background: var(--accent); }
        .wave-column span:nth-child(4) { height: 60px; }
        .wave-column span:nth-child(5) { height: 35px; }
        .wave-column span:nth-child(6) { height: 50px; background: var(--warning); }
        .wave-column span:nth-child(7) { height: 23px; }
        .accordion { --bs-accordion-border-color: transparent; --bs-accordion-btn-focus-box-shadow: none; }
        .accordion-item {
            margin-bottom: 12px;
            overflow: hidden;
            border: 1px solid var(--line) !important;
            border-radius: 16px !important;
            background: var(--surface);
        }
        .accordion-button {
            min-height: 66px;
            padding: 18px 20px;
            color: var(--ink);
            background: var(--surface);
            font-size: 1rem;
            font-weight: 730;
            box-shadow: none !important;
        }
        .accordion-button:not(.collapsed) {
            color: var(--ink);
            background: var(--sage-soft);
            border-left: 4px solid var(--accent);
        }
        .accordion-button::after {
            width: 20px;
            height: 20px;
            background-image: none;
            content: "\F4FE";
            font-family: "bootstrap-icons";
            display: grid;
            place-items: center;
            transform: none;
        }
        .accordion-button:not(.collapsed)::after { content: "\F2EA"; transform: none; }
        .accordion-body {
            padding: 20px 24px 23px;
            color: var(--muted);
            background: #f8f5ed;
            line-height: 1.9;
        }

        .share-section { padding: 88px 0; }
        .share-shell {
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: 26px;
            background: var(--surface);
            box-shadow: var(--shadow-card);
        }
        .share-main { padding: 32px; }
        .reward-note {
            margin-top: 22px;
            padding: 17px;
            border-radius: 15px;
            background: var(--sage-soft);
            color: var(--ink);
            font-size: .9rem;
        }
        .share-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
        .progress-wrap { margin-top: 28px; }
        .progress-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; font-size: .84rem; }
        .custom-progress {
            height: 12px;
            overflow: hidden;
            border-radius: 999px;
            background: var(--surface-soft);
        }
        .custom-progress span {
            display: block;
            width: 66%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, var(--sage), var(--accent));
        }
        .share-rank {
            height: 100%;
            padding: 32px;
            color: #fffaf2;
            background: var(--primary);
        }
        .share-rank h3 { color: #fffaf2; }
        .share-rank p { color: rgba(255,250,242,.67); }
        .share-rank-list { margin: 20px 0 0; padding: 0; list-style: none; }
        .share-rank-list li {
            display: grid;
            grid-template-columns: 34px 1fr auto;
            gap: 10px;
            padding: 12px 0;
            border-bottom: 1px solid rgba(255,255,255,.12);
            font-size: .88rem;
        }
        .share-rank-list li:last-child { border-bottom: 0; }
        .share-rank-list b { color: var(--warning); }
        .share-feedback { min-height: 24px; margin-top: 10px; color: var(--success); font-size: .85rem; }

        .contact-section { padding: 12px 0 96px; }
        .contact-shell {
            display: grid;
            grid-template-columns: .86fr 1.14fr;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: 28px;
            box-shadow: var(--shadow-card);
        }
        .contact-info {
            padding: 38px;
            color: #fffaf2;
            background: var(--primary);
        }
        .contact-info h2 { color: #fffaf2; }
        .contact-info > p { color: rgba(255,250,242,.7); }
        .step-list { margin: 30px 0 0; padding: 0; list-style: none; }
        .step-list li {
            display: grid;
            grid-template-columns: 38px 1fr;
            gap: 13px;
            margin-bottom: 22px;
        }
        .step-list b {
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(255,255,255,.2);
            border-radius: 50%;
            color: var(--warning);
        }
        .step-list strong { display: block; margin-bottom: 2px; }
        .step-list span { color: rgba(255,250,242,.64); font-size: .83rem; }
        .contact-form { padding: 38px; background: var(--surface); }
        .form-label { margin-bottom: 7px; font-size: .86rem; font-weight: 720; }
        .required { color: var(--accent); }
        textarea.form-control { min-height: 126px; resize: vertical; }
        .invalid-feedback { color: #a7462d; }
        .form-check-input {
            border-color: var(--line);
            background-color: var(--surface);
        }
        .form-check-input:checked { border-color: var(--primary); background-color: var(--primary); }
        .form-check-label { color: var(--muted); font-size: .82rem; line-height: 1.65; }
        .form-success {
            display: none;
            margin-bottom: 18px;
            padding: 13px 15px;
            border: 1px solid rgba(87,125,98,.25);
            border-radius: 12px;
            color: var(--success);
            background: rgba(87,125,98,.09);
            font-size: .9rem;
        }
        .form-success.show { display: block; }
        .honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

        .site-footer {
            padding: 60px 0 24px;
            color: #fffaf2;
            background: var(--primary-deep);
        }
        .footer-brand .brand { color: #fffaf2; }
        .footer-brand p { max-width: 480px; margin: 18px 0 0; color: rgba(255,250,242,.63); font-size: .9rem; }
        .footer-title { margin-bottom: 15px; color: var(--warning); font-size: .84rem; letter-spacing: .08em; }
        .footer-links { margin: 0; padding: 0; list-style: none; }
        .footer-links li { margin-bottom: 8px; }
        .footer-links a { color: rgba(255,250,242,.68); font-size: .9rem; }
        .footer-links a:hover { color: var(--warning); padding-left: 3px; }
        .footer-note {
            padding: 17px;
            border: 1px solid rgba(255,255,255,.11);
            border-radius: 15px;
            color: rgba(255,250,242,.65);
            background: rgba(255,255,255,.04);
            font-size: .82rem;
            line-height: 1.75;
        }
        .copyright {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            margin-top: 42px;
            padding-top: 20px;
            border-top: 1px solid rgba(255,255,255,.1);
            color: rgba(255,250,242,.5);
            font-size: .78rem;
        }

        @media (max-width: 1199.98px) {
            .update-state { display: none; }
            .hero-stage { padding: 28px; }
            .guide-cover { min-height: 390px; }
        }

        @media (max-width: 991.98px) {
            .site-container { width: min(calc(100% - 32px), var(--container)); }
            .toolbar-nav, .toolbar-actions > .btn-site { display: none; }
            .toolbar-actions { margin-left: auto; }
            .hero { padding-top: 38px; }
            .hero-copy { padding: 30px 2px 0; }
            .metric-track { grid-template-columns: repeat(2, 1fr); }
            .matrix-head, .compare-heading { align-items: start; flex-direction: column; }
            .matrix-large { min-height: 380px; }
            .compare-board { grid-template-columns: 1fr; gap: 16px; }
            .center-scale { height: 30px; flex-direction: row; padding: 0 30px; }
            .center-scale::before { width: 65%; height: 1px; background: repeating-linear-gradient(to right, rgba(255,255,255,.3) 0 5px, transparent 5px 11px); }
            .faq-aside { position: static; padding: 0 0 28px; }
            .contact-shell { grid-template-columns: 1fr; }
            .share-rank { min-height: 100%; }
        }

        @media (max-width: 767.98px) {
            .section-space, .matrix-section, .news-section, .faq-section, .share-section { padding: 66px 0; }
            .brand span:last-child { font-size: .92rem; }
            .hero-stage { padding: 19px; border-radius: 23px; }
            .guide-cover { min-height: 320px; }
            .cover-title { margin-top: 38px; font-size: 1.7rem; }
            .hero-copy h1 { margin-top: 12px; }
            .download-inline { grid-template-columns: 1fr; }
            .download-inline .btn-site { width: 100%; }
            .metric-track { grid-template-columns: 1fr; }
            .metric { min-height: auto; }
            .matrix-large { min-height: 360px; padding: 24px; }
            .compare-card { padding: 22px; }
            .compare-list li { grid-template-columns: 112px 1fr; }
            .news-item { grid-template-columns: 1fr auto; gap: 7px 14px; }
            .news-date { grid-column: 1 / -1; }
            .share-main, .share-rank, .contact-info, .contact-form { padding: 27px 22px; }
            .copyright { flex-direction: column; }
        }

        @media (max-width: 575.98px) {
            .site-container { width: min(calc(100% - 24px), var(--container)); }
            .site-header { top: 5px; }
            .toolbar { min-height: 64px; padding: 8px 9px 8px 12px; border-radius: 18px; gap: 8px; }
            .brand-mark { width: 35px; height: 35px; }
            .brand span:last-child { max-width: 150px; line-height: 1.25; }
            .icon-button, .menu-button { width: 42px; height: 42px; }
            .hero { padding: 28px 0 54px; }
            .hero-stage { padding: 14px; }
            .guide-cover { min-height: 285px; padding: 22px; }
            .hero-copy { padding-top: 24px; }
            .hero-lead { font-size: .98rem; }
            .contents-preview { padding: 15px; }
            .matrix-card { padding: 21px; }
            .matrix-large h3 { font-size: 1.65rem; }
            .compare-list li { grid-template-columns: 1fr; gap: 2px; }
            .news-item { padding: 17px; }
            .share-buttons .btn-site { width: 100%; }
            .contact-section { padding-bottom: 68px; }
        }

        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            *, *::before, *::after {
                transition-duration: .01ms !important;
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
            }
        }

/* roulang page: category1 */
:root{--bg:#f6f1e8;--surface:#fffdf9;--surface-soft:#eee9df;--ink:#24352f;--muted:#68736d;--line:rgba(36,53,47,.16);--primary:#24352f;--primary-deep:#17251f;--accent:#c96f45;--accent-soft:#f4dfd3;--sage:#8fa58c;--sage-soft:#dfe8dc;--warning:#e8c879;--warning-soft:#f7edcb;--success:#577d62;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--shadow-card:0 14px 34px rgba(36,53,47,.07);--shadow-hover:0 20px 46px rgba(36,53,47,.13);--container:1240px;--transition:220ms ease-out}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:radial-gradient(circle at 12% 4%,rgba(232,200,121,.16),transparent 27%),radial-gradient(circle at 90% 25%,rgba(143,165,140,.14),transparent 28%),var(--bg);color:var(--ink);font:16px/1.8 "PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.15;background-image:radial-gradient(rgba(36,53,47,.14) .65px,transparent .65px);background-size:7px 7px}a{color:inherit;text-decoration:none;transition:color var(--transition),background var(--transition),border var(--transition),transform var(--transition),box-shadow var(--transition)}button,input,textarea,select{font:inherit}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(201,111,69,.42)!important;outline-offset:3px}.site-container{width:min(calc(100% - 48px),var(--container));margin:auto}.section-space{padding:82px 0}.section-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.08em}.section-kicker:before{content:"";width:27px;height:2px;background:currentColor;border-radius:9px}.section-title{margin:12px 0 12px;font-weight:850;font-size:clamp(1.72rem,3vw,2.35rem);line-height:1.28;letter-spacing:-.04em}.section-copy{max-width:700px;margin:0;color:var(--muted)}.badge-soft,.micro-tag{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,249,.74);font-size:.8rem;font-weight:700}.micro-tag.sage{background:var(--sage-soft)}.micro-tag.warm{background:var(--warning-soft)}.micro-tag.accent{background:var(--accent-soft)}.btn-site{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:11px 20px;border:1px solid var(--primary);border-radius:14px;font-weight:750;line-height:1.2;cursor:pointer}.btn-primary-site{background:var(--primary);color:#fffaf2;box-shadow:0 10px 22px rgba(36,53,47,.16)}.btn-primary-site:hover{background:var(--primary-deep);color:#fff;transform:translateY(-2px);box-shadow:0 15px 28px rgba(36,53,47,.23)}.btn-outline-site{background:var(--surface);color:var(--ink)}.btn-outline-site:hover{background:var(--sage-soft);border-color:var(--sage);transform:translateY(-2px)}.btn-site:active{transform:translateY(0)}.site-header{position:sticky;top:10px;z-index:1030;padding-top:10px}.toolbar{min-height:64px;display:flex;align-items:center;gap:22px;padding:10px 14px 10px 18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,253,249,.9);box-shadow:0 9px 25px rgba(36,53,47,.07);backdrop-filter:blur(12px)}.site-header.is-scrolled .toolbar{background:rgba(255,253,249,.98);box-shadow:0 16px 38px rgba(36,53,47,.14)}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content;font-weight:850;letter-spacing:-.035em}.brand:hover{color:var(--accent)}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;border-radius:50%;background:var(--primary);box-shadow:inset 0 0 0 5px rgba(255,255,255,.07)}.brand-mark span{width:17px;height:14px;display:flex;align-items:center;justify-content:space-between}.brand-mark i{display:block;width:2px;border-radius:4px;background:var(--warning)}.brand-mark i:nth-child(1){height:6px}.brand-mark i:nth-child(2){height:14px}.brand-mark i:nth-child(3){height:9px}.brand-mark i:nth-child(4){height:12px}.toolbar-nav{align-items:center;gap:4px;margin:auto}.toolbar-nav a,.mobile-panel a{position:relative;padding:8px 12px;border-radius:10px;color:var(--muted);font-size:.9rem;font-weight:700}.toolbar-nav a:hover,.toolbar-nav a.active{background:var(--sage-soft);color:var(--ink)}.toolbar-nav a.active:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--accent);vertical-align:middle}.toolbar-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.update-state{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.76rem;white-space:nowrap}.status-dot,.dot{width:8px;height:8px;display:inline-block;flex:0 0 auto;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(87,125,98,.12)}.icon-button,.menu-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:1.15rem;cursor:pointer}.icon-button:hover,.menu-button:hover{background:var(--sage-soft);border-color:var(--sage);transform:translateY(-1px)}.notify-wrap{position:relative}.notify-panel{position:absolute;top:50px;right:0;width:320px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-hover);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition)}.notify-panel.show{opacity:1;visibility:visible;transform:translateY(0)}.notify-head{margin-bottom:10px;font-weight:850}.notify-item{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.notify-item .dot{width:7px;height:7px;margin-top:8px;background:var(--accent)}.notify-item p{margin:0;line-height:1.55;font-size:.84rem}.notify-item small{color:var(--muted);font-size:.73rem}.mobile-panel{display:grid;gap:7px;margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-card)}.mobile-panel a{padding:11px 12px}.mobile-panel .btn-site{margin-top:4px}.page-hero{padding:72px 0 42px}.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px;color:var(--muted);font-size:.86rem}.crumbs i{font-size:.72rem}.crumbs a:hover{color:var(--accent)}.title-panel{position:relative;overflow:hidden;padding:clamp(26px,5vw,56px);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.title-panel:after{content:"";position:absolute;right:-45px;top:-45px;width:210px;height:210px;border:28px solid var(--sage-soft);border-radius:50%;opacity:.78}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:end}.page-title{max-width:760px;margin:12px 0 14px;font-size:clamp(2.15rem,5vw,3.45rem);font-weight:900;letter-spacing:-.065em;line-height:1.16}.hero-copy{max-width:720px;margin:0;color:var(--muted);font-size:1.04rem}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.filter-pill{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);font-size:.82rem;font-weight:750}.filter-pill.active{background:var(--primary);border-color:var(--primary);color:#fffaf2}.signal-status{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:22px;border-radius:18px;background:var(--primary);color:#fffaf2}.signal-status p{margin:0;color:rgba(255,250,242,.74);font-size:.87rem;line-height:1.65}.signal-line{display:flex;align-items:center;gap:5px;height:22px}.signal-line span{width:6px;border-radius:5px;background:var(--warning)}.signal-line span:nth-child(1){height:8px}.signal-line span:nth-child(2){height:16px}.signal-line span:nth-child(3){height:11px}.signal-line span:nth-child(4){height:21px}.signal-line span:nth-child(5){height:13px}.signal-line span:nth-child(6){height:18px}.signal-line span:nth-child(7){height:7px}.reading-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}.index-card{position:sticky;top:100px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,253,249,.83);box-shadow:var(--shadow-card)}.index-card h2{margin:0 0 13px;font-size:1.05rem;font-weight:850}.index-card p{margin:0 0 15px;color:var(--muted);font-size:.86rem;line-height:1.65}.index-links{display:grid;gap:5px}.index-links a{display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:10px;font-size:.89rem;font-weight:700}.index-links a:hover{background:var(--sage-soft);color:var(--primary)}.index-links small{color:var(--accent);font-weight:850}.content-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.read-card{position:relative;display:flex;flex-direction:column;min-height:250px;padding:24px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card)}.read-card:hover{border-color:var(--sage);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.read-card.featured{grid-column:1/-1;min-height:290px;padding:32px;background:linear-gradient(115deg,var(--surface) 50%,var(--sage-soft) 50%)}.chapter-no{margin-bottom:14px;color:var(--accent);font-size:.8rem;font-weight:900;letter-spacing:.1em}.read-card h2{max-width:610px;margin:10px 0 10px;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:900;line-height:1.32;letter-spacing:-.035em}.read-card p{max-width:630px;margin:0;color:var(--muted);line-height:1.75}.info-points{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.info-points span{padding:4px 9px;border-radius:999px;background:var(--surface-soft);color:var(--ink);font-size:.76rem;font-weight:700}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px dashed var(--line);color:var(--muted);font-size:.78rem}.read-arrow{color:var(--accent);font-size:1.15rem;transition:transform var(--transition)}.read-card:hover .read-arrow{transform:translateX(4px)}.read-card:nth-child(3){background:#fbf5df}.read-card:nth-child(4){background:#edf3eb}.track-strip{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin:54px 0;padding:19px 22px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:var(--primary);color:#fffaf2}.track-strip p{margin:0;font-size:.95rem}.track{height:8px;position:relative;border-radius:99px;background:rgba(255,255,255,.16)}.track:before,.track:after{content:"";position:absolute;top:50%;width:14px;height:14px;border:3px solid var(--primary);border-radius:50%;background:var(--warning);transform:translateY(-50%)}.track:before{left:24%}.track:after{right:23%;background:var(--accent)}.mini-faq{padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.mini-faq .accordion-item{overflow:hidden;border:0;border-top:1px solid var(--line);background:transparent}.mini-faq .accordion-item:first-of-type{border-top:0}.mini-faq .accordion-button{padding:18px 0;background:transparent;color:var(--ink);font-weight:800;box-shadow:none}.mini-faq .accordion-button:not(.collapsed){color:var(--primary);background:transparent}.mini-faq .accordion-button:after{background-size:1rem}.mini-faq .accordion-body{padding:0 0 18px;color:var(--muted)}.contact-card{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:32px;border-radius:var(--radius-lg);background:var(--accent-soft);border:1px solid rgba(201,111,69,.25)}.contact-card h2{margin:8px 0;font-size:1.72rem;font-weight:900;letter-spacing:-.04em}.contact-card p{max-width:690px;margin:0;color:#5d5148}.site-footer{margin-top:82px;padding:64px 0 20px;background:var(--primary);color:#fffaf2}.site-footer .brand{color:#fffaf2}.site-footer .brand:hover{color:var(--warning)}.footer-brand p{max-width:520px;margin:16px 0 0;color:rgba(255,250,242,.7);font-size:.9rem;line-height:1.75}.footer-title{margin:0 0 13px;color:var(--warning);font-size:.9rem;font-weight:850}.footer-links{display:grid;gap:8px;margin:0;padding:0;list-style:none}.footer-links a{color:rgba(255,250,242,.78);font-size:.9rem}.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-note{padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:14px;color:rgba(255,250,242,.72);background:rgba(255,255,255,.05);font-size:.84rem;line-height:1.75}.copyright{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:44px;padding-top:19px;border-top:1px solid rgba(255,255,255,.15);color:rgba(255,250,242,.58);font-size:.78rem}
@media(max-width:991.98px){.toolbar-nav{display:none!important}.hero-grid{grid-template-columns:1fr}.signal-status{max-width:520px}.reading-layout{grid-template-columns:1fr}.index-card{position:static;display:flex;align-items:center;gap:15px;padding:16px;overflow:auto}.index-card h2,.index-card p{display:none}.index-links{display:flex;gap:7px;white-space:nowrap}.index-links a{padding:7px 10px;background:var(--surface-soft)}.section-space{padding:65px 0}}
@media(max-width:767.98px){.site-container{width:min(calc(100% - 32px),var(--container))}.site-header{top:6px;padding-top:6px}.toolbar{gap:10px;padding:8px 10px 8px 13px;border-radius:17px}.brand{font-size:.91rem}.brand-mark{width:34px;height:34px}.update-state{display:none}.notify-panel{right:-48px;width:min(320px,calc(100vw - 32px))}.page-hero{padding:45px 0 30px}.title-panel{padding:25px 20px}.content-flow{grid-template-columns:1fr}.read-card.featured{grid-column:auto;padding:24px;background:linear-gradient(145deg,var(--surface) 56%,var(--sage-soft) 56%)}.track-strip{grid-template-columns:1fr;gap:10px}.track{order:3}.contact-card{grid-template-columns:1fr;padding:25px}.site-footer{margin-top:60px;padding-top:50px}.copyright{margin-top:32px}.section-space{padding:55px 0}}
@media(max-width:575.98px){body{font-size:15.5px}.toolbar-actions .btn-site{display:none!important}.menu-button,.icon-button{width:40px;height:40px}.page-title{font-size:2.05rem}.filter-row{gap:6px}.filter-pill{font-size:.76rem;padding:5px 9px}.read-card{padding:20px;min-height:0}.read-card h2{font-size:1.28rem}.mini-faq{padding:20px}.contact-card h2{font-size:1.45rem}.footer-note{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* roulang page: category2 */
:root{
 --bg:#f6f1e8;--surface:#fffdf9;--surface-soft:#eee9df;--ink:#24352f;--muted:#68736d;--line:rgba(36,53,47,.16);
 --primary:#24352f;--primary-deep:#17251f;--accent:#c96f45;--accent-soft:#f4dfd3;--sage:#8fa58c;--sage-soft:#dfe8dc;
 --warning:#e8c879;--warning-soft:#f7edcb;--success:#577d62;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;
 --shadow-card:0 14px 34px rgba(36,53,47,.07);--shadow-hover:0 20px 46px rgba(36,53,47,.13);--container:1240px;--transition:220ms ease-out;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 6%,rgba(232,200,121,.14),transparent 28%),radial-gradient(circle at 90% 28%,rgba(143,165,140,.12),transparent 26%),var(--bg);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.18;background-image:radial-gradient(rgba(36,53,47,.16) .65px,transparent .65px);background-size:7px 7px}
a{color:inherit;text-decoration:none;transition:color var(--transition),background-color var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}
button,input,select,textarea{font:inherit}button{transition:all var(--transition)}img{max-width:100%;display:block}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(201,111,69,.38)!important;outline-offset:3px;box-shadow:none!important}
.site-container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.section-space{padding:88px 0}
.section-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--accent);font-size:.84rem;font-weight:750;letter-spacing:.08em}
.section-kicker:before{content:"";width:26px;height:2px;background:currentColor;border-radius:999px}
.section-copy{max-width:720px;color:var(--muted);font-size:1.02rem;line-height:1.85;margin-bottom:0}
.badge-soft,.micro-tag{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 11px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:rgba(255,253,249,.72);font-size:.8rem;font-weight:680;letter-spacing:.01em}
.micro-tag.sage{background:var(--sage-soft)}.micro-tag.warm{background:var(--warning-soft)}.micro-tag.accent{background:var(--accent-soft)}
.btn-site{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:11px 20px;border:1px solid var(--primary);border-radius:14px;font-weight:720;line-height:1.2;cursor:pointer}
.btn-primary-site{color:#fffaf2;background:var(--primary);box-shadow:0 10px 22px rgba(36,53,47,.16)}.btn-primary-site:hover{color:#fff;background:var(--primary-deep);transform:translateY(-2px);box-shadow:0 15px 28px rgba(36,53,47,.23)}
.btn-outline-site{color:var(--ink);background:var(--surface)}.btn-outline-site:hover{color:var(--ink);background:var(--sage-soft);border-color:var(--sage);transform:translateY(-2px)}.btn-site:active{transform:translateY(0)}.btn-site:disabled{opacity:.55;cursor:not-allowed;transform:none}
.site-header{position:sticky;top:10px;z-index:1030;padding:10px 0 0}.site-header.is-scrolled .toolbar{background:rgba(255,253,249,.97);box-shadow:0 16px 38px rgba(36,53,47,.14)}
.toolbar{min-height:72px;padding:10px 13px 10px 18px;display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:20px;background:rgba(255,253,249,.91);box-shadow:0 10px 28px rgba(36,53,47,.07);backdrop-filter:blur(10px)}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content;font-weight:800;letter-spacing:-.03em}.brand:hover{color:var(--accent)}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;border-radius:50%;background:var(--primary);box-shadow:inset 0 0 0 5px rgba(255,255,255,.07)}
.brand-mark span{width:17px;height:14px;display:flex;align-items:center;justify-content:space-between}.brand-mark i{display:block;width:2px;border-radius:4px;background:var(--warning)}.brand-mark i:nth-child(1){height:6px}.brand-mark i:nth-child(2){height:14px}.brand-mark i:nth-child(3){height:9px}.brand-mark i:nth-child(4){height:12px}
.toolbar-nav{align-items:center;gap:4px;margin:auto}.toolbar-nav a{position:relative;padding:8px 13px;border-radius:10px;color:var(--muted);font-size:.91rem;font-weight:700}.toolbar-nav a:hover{color:var(--ink);background:var(--surface-soft)}.toolbar-nav a.active{color:var(--ink);background:var(--sage-soft)}.toolbar-nav a.active:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:6px;vertical-align:2px}
.toolbar-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.update-state{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.78rem;font-weight:700;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(87,125,98,.13)}
.notify-wrap{position:relative}.icon-button,.menu-button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface);font-size:1.1rem}.icon-button:hover,.menu-button:hover{background:var(--sage-soft);border-color:var(--sage);transform:translateY(-1px)}
.notify-panel{position:absolute;right:0;top:54px;width:min(330px,calc(100vw - 36px));padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-hover);opacity:0;visibility:hidden;transform:translateY(-6px);transition:all var(--transition)}.notify-panel.show{opacity:1;visibility:visible;transform:none}.notify-head{margin-bottom:10px;font-weight:800}.notify-item{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.notify-item p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.65}.notify-item small{color:var(--accent);font-size:.72rem;font-weight:700}.notify-item .dot{width:7px;height:7px;flex:0 0 7px;margin-top:8px;border-radius:50%;background:var(--warning)}
.mobile-panel{margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-card)}.mobile-panel a{display:block;padding:12px 13px;border-radius:10px;font-weight:700}.mobile-panel a:hover,.mobile-panel a.active{background:var(--sage-soft)}.mobile-panel .btn-site{width:100%;margin-top:8px}
.page-hero{padding:72px 0 46px}.breadcrumb-site{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.86rem}.breadcrumb-site a:hover{color:var(--accent)}.breadcrumb-site i{font-size:.74rem}
.hero-copy h1{max-width:700px;margin:17px 0 18px;font-size:clamp(2.35rem,5vw,4.05rem);line-height:1.16;letter-spacing:-.07em;font-weight:850}.hero-copy h1 span{color:var(--accent)}.hero-copy p{max-width:655px;margin:0;color:var(--muted);font-size:1.06rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.partition-visual{position:relative;min-height:365px;padding:30px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}
.partition-visual:before{content:"";position:absolute;width:270px;height:270px;right:-55px;top:-60px;border:1px solid rgba(143,165,140,.36);border-radius:50%;box-shadow:0 0 0 28px rgba(143,165,140,.08),0 0 0 58px rgba(232,200,121,.08)}
.visual-label{position:relative;z-index:2;color:var(--muted);font-size:.8rem;font-weight:750;letter-spacing:.1em}.orbit{position:absolute;left:50%;top:52%;width:220px;height:220px;border:1px dashed rgba(36,53,47,.3);border-radius:50%;transform:translate(-50%,-50%)}
.zone-disc{position:absolute;z-index:2;display:flex;flex-direction:column;justify-content:center;width:145px;height:145px;padding:20px;border-radius:50%;box-shadow:var(--shadow-card)}.zone-disc strong{font-size:1.5rem;letter-spacing:-.05em}.zone-disc small{font-size:.78rem;line-height:1.45}.zone-one{left:20%;top:34%;background:var(--sage-soft)}.zone-two{right:14%;bottom:16%;background:var(--accent-soft)}.bridge-line{position:absolute;z-index:1;left:34%;right:28%;top:55%;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 10px,transparent 10px 17px);transform:rotate(22deg)}
.visual-footer{position:absolute;z-index:3;left:30px;right:30px;bottom:24px;display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.signal-bars{display:flex;align-items:center;gap:4px}.signal-bars i{display:block;width:4px;border-radius:99px;background:var(--primary)}.signal-bars i:nth-child(1){height:8px}.signal-bars i:nth-child(2){height:18px}.signal-bars i:nth-child(3){height:11px}.signal-bars i:nth-child(4){height:22px}.signal-bars i:nth-child(5){height:14px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}.section-heading h2{max-width:650px;margin:0;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.25;letter-spacing:-.045em;font-weight:830}
.track-section{position:relative;padding:84px 0;background:rgba(255,253,249,.47);border-top:1px solid rgba(36,53,47,.08);border-bottom:1px solid rgba(36,53,47,.08)}.reading-track{position:relative;max-width:1020px;margin:0 auto;padding-left:165px}.reading-track:before{content:"";position:absolute;left:55px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--sage),var(--accent),var(--warning))}
.track-item{position:relative;padding:0 0 30px}.track-item:last-child{padding-bottom:0}.track-number{position:absolute;left:-165px;top:3px;width:110px;color:var(--primary);font-size:1rem;font-weight:850;letter-spacing:.08em}.track-number:after{content:"";position:absolute;right:-18px;top:11px;width:10px;height:10px;border:3px solid var(--surface);border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.track-card{padding:24px 26px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.track-card:hover{border-color:var(--sage);transform:translateX(5px);box-shadow:var(--shadow-hover)}.track-card h3{margin:0 0 8px;font-size:1.28rem;font-weight:800}.track-card p{margin:0;color:var(--muted)}.track-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.comparison-section{padding:90px 0}.face-card{height:100%;padding:32px;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.face-card.one{background:var(--sage-soft)}.face-card.two{background:var(--surface)}.face-card .face-index{display:block;margin-bottom:12px;color:var(--accent);font-size:.82rem;font-weight:850;letter-spacing:.12em}.face-card h3{margin-bottom:18px;font-size:1.7rem;font-weight:830}.face-list{padding:0;margin:0;list-style:none}.face-list li{display:flex;gap:12px;padding:14px 0;border-top:1px solid rgba(36,53,47,.14);line-height:1.6}.face-list i{color:var(--accent);font-size:1.05rem}.face-list strong{display:block;margin-bottom:2px}.face-list span{color:var(--muted);font-size:.91rem}
.mid-marker{height:100%;min-height:140px;display:flex;align-items:center;justify-content:center}.mid-marker span{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent);background:var(--warning-soft);font-size:1.3rem}
.reminder-section{padding:84px 0;background:var(--primary);color:#fffaf2;position:relative;overflow:hidden}.reminder-section:after{content:"";position:absolute;right:-80px;top:-150px;width:350px;height:350px;border:1px solid rgba(232,200,121,.23);border-radius:50%;box-shadow:0 0 0 40px rgba(232,200,121,.04)}.reminder-section .section-kicker{color:var(--warning)}.reminder-section .section-copy{color:rgba(255,250,242,.72)}.reminder-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}.reminder-card{position:relative;min-height:190px;padding:23px 20px;border:1px solid rgba(255,250,242,.18);border-radius:18px;background:rgba(255,253,249,.07);transform:rotate(var(--tilt,0deg));transition:transform var(--transition),background var(--transition)}.reminder-card:hover{background:rgba(255,253,249,.13);transform:translateY(-4px) rotate(0)}.reminder-card:nth-child(1){--tilt:-1deg}.reminder-card:nth-child(2){--tilt:1deg}.reminder-card:nth-child(3){--tilt:-.5deg}.reminder-card:nth-child(4){--tilt:1.2deg}.reminder-card i{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:14px;border-radius:12px;background:rgba(232,200,121,.18);color:var(--warning)}.reminder-card h3{font-size:1.04rem;font-weight:800}.reminder-card p{margin:0;color:rgba(255,250,242,.73);font-size:.9rem;line-height:1.7}
.continue-section{padding:88px 0}.continue-card{position:relative;height:100%;min-height:235px;padding:29px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);transition:all var(--transition)}.continue-card:hover{border-color:var(--sage);transform:translateY(-4px);box-shadow:var(--shadow-hover)}.continue-card.sage-card{background:var(--sage-soft)}.continue-card .arrow-round{position:absolute;right:25px;bottom:24px;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff}.continue-card:hover .arrow-round{transform:translateX(4px)}.continue-card h3{max-width:310px;margin:12px 0;font-size:1.48rem;font-weight:830}.continue-card p{max-width:380px;margin:0;color:var(--muted)}
.contact-strip{margin-top:26px;padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--warning-soft)}.contact-strip p{margin:0;color:var(--muted);font-size:.93rem}.contact-strip strong{display:block;color:var(--ink);font-size:1.04rem}
.site-footer{padding:66px 0 20px;background:var(--primary);color:#fffaf2}.site-footer .brand{color:#fffaf2}.site-footer .brand:hover{color:var(--warning)}.footer-brand p{max-width:450px;margin:18px 0 0;color:rgba(255,250,242,.7);font-size:.91rem;line-height:1.8}.footer-title{margin:0 0 15px;color:var(--warning);font-size:.9rem;font-weight:800;letter-spacing:.07em}.footer-links{padding:0;margin:0;list-style:none}.footer-links li+li{margin-top:8px}.footer-links a{color:rgba(255,250,242,.76);font-size:.91rem}.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-note{padding:15px;border:1px solid rgba(255,250,242,.16);border-radius:14px;color:rgba(255,250,242,.7);background:rgba(255,253,249,.06);font-size:.86rem;line-height:1.75}.copyright{display:flex;justify-content:space-between;gap:16px;margin-top:46px;padding-top:19px;border-top:1px solid rgba(255,250,242,.15);color:rgba(255,250,242,.58);font-size:.79rem}
@media(max-width:991.98px){.toolbar{gap:12px}.update-state{display:none}.page-hero{padding-top:53px}.partition-visual{margin-top:35px}.reading-track{padding-left:130px}.reading-track:before{left:38px}.track-number{left:-130px;width:90px}.reminder-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.site-container{width:min(calc(100% - 32px),var(--container))}.section-space,.comparison-section,.continue-section{padding:64px 0}.page-hero{padding:48px 0 28px}.toolbar{min-height:64px;padding:8px 10px 8px 13px;border-radius:17px}.brand{font-size:.91rem}.brand-mark{width:34px;height:34px}.toolbar-actions{gap:6px}.hero-copy h1{font-size:clamp(2rem,10vw,2.65rem)}.section-heading{display:block;margin-bottom:28px}.section-heading .section-copy{margin-top:12px}.partition-visual{min-height:310px;padding:23px}.zone-disc{width:122px;height:122px;padding:16px}.zone-one{left:8%;top:34%}.zone-two{right:7%;bottom:18%}.reading-track{padding:0}.reading-track:before,.track-number:after{display:none}.track-number{position:static;width:auto;margin-bottom:8px;color:var(--accent);font-size:.8rem}.track-item{padding-bottom:20px}.track-card{padding:21px 19px}.track-card:hover{transform:none}.mid-marker{min-height:55px}.reminder-section{padding:64px 0}.reminder-grid{grid-template-columns:1fr}.reminder-card{min-height:auto}.contact-strip{display:block}.contact-strip .btn-site{width:100%;margin-top:16px}.copyright{display:block;margin-top:35px}.copyright span{display:block}.copyright span+span{margin-top:5px}}
@media(max-width:430px){.brand>span:last-child{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-actions .btn-site{width:100%}.partition-visual{min-height:286px}.zone-disc{width:108px;height:108px;font-size:.85rem}.zone-disc strong{font-size:1.25rem}.visual-footer{left:22px;right:22px}.face-card{padding:23px 20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
