.olp-hero{background:var(--ink);padding:48px 24px 36px;text-align:center}.olp-hero .kicker{font-size:10px;letter-spacing:.5em;color:var(--brand,#8CCBB0);text-transform:uppercase}.olp-hero h1{font-family:var(--serif);font-weight:900;font-size:30px;letter-spacing:.3em;text-indent:.3em;color:#fff;margin-top:12px}.olp-hero .dek{margin:14px auto 0;max-width:460px;font-size:15px;line-height:2.1;color:rgba(255,255,255,.72)}.olp-hero .stats{display:flex;justify-content:center;gap:32px;margin-top:18px}.olp-hero .st{font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.5)}.olp-hero .st b{font-family:Georgia,serif;font-size:18px;color:var(--gold,#B08D57);margin-right:4px}.olp .cats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;max-width:1120px;margin:36px auto 0;padding:0 24px}.cat-card{background:var(--card,#fff);border:1px solid rgba(45,74,62,.14);border-top:3px solid var(--ink);border-radius:0 0 6px 6px;padding:22px 18px 18px;box-shadow:0 1px 6px rgba(45,74,62,.05)}.cat-zh{font-family:var(--serif);font-weight:900;font-size:28px;color:var(--brand-deep,#3D7A60);line-height:1;margin-bottom:10px}.cat-card h3{font-size:16.5px;font-weight:800;color:var(--ink);letter-spacing:.06em;margin-bottom:2px}.cat-count{font-family:Georgia,serif;font-size:11px;color:var(--gold);margin-bottom:8px}.cat-desc{font-size:14px;line-height:1.95;color:var(--ink-soft);margin-bottom:12px}.cat-links{border-top:1px solid rgba(45,74,62,.1)}.cat-links a{display:flex;justify-content:space-between;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(45,74,62,.08);font-size:14px;color:var(--ink);text-decoration:none;transition:background .12s}.cat-links a:last-child{border-bottom:none}.cat-links a:hover{background:rgba(61,122,96,.06);color:var(--brand-deep)}.cat-links .li-no{font-family:Georgia,serif;font-size:10px;color:var(--ink-soft);letter-spacing:.06em;flex-shrink:0;margin-left:8px}.latest{max-width:1120px;margin:36px auto 0;padding:0 24px}.lat-head{font-size:13px;font-weight:800;letter-spacing:.16em;color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:10rpx;margin-bottom:0}.lat-row{display:flex;align-items:baseline;gap:12px;padding:9px 4px;border-bottom:1px solid rgba(45,74,62,.1);text-decoration:none;color:var(--ink);transition:background .1s}.lat-row:hover{background:rgba(61,122,96,.05)}.lat-t{flex:1 1;font-size:15px}.lat-no{font-size:10.5px;letter-spacing:.04em}.lat-date,.lat-no{font-family:Georgia,serif;color:var(--ink-soft);flex-shrink:0}.lat-date{font-size:11px;min-width:48rpx;text-align:right}.cite-stmt{max-width:1120px;margin:28px auto 0;padding:16px 22px;background:rgba(176,141,87,.07);border-left:3px solid var(--gold);font-size:14px;line-height:2;color:var(--ink-soft)}.cite-stmt b{color:var(--ink)}@media (max-width:768px){.olp .cats{grid-template-columns:1fr 1fr}.olp-hero h1{font-size:22px}.lat-row{flex-wrap:wrap}}@media (max-width:480px){.olp .cats{grid-template-columns:1fr}.olp-hero h1{font-size:19px}}.od .doc-mast{background:#0D2B33;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;font-size:12px;flex-wrap:wrap;gap:5px}.od .doc-mast .logo{font-weight:700;letter-spacing:.04em}.od .doc-mast .logo i{font-style:normal;color:#8CCBB0;margin-right:5px}.od .doc-mast a.back{color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:3px}.doc-wrap{max-width:1100px;margin:0 auto;padding:44px 56px 36px}.doc-badges{display:flex;gap:9px;flex-wrap:wrap}.doc-badge{font-size:12px;letter-spacing:.12em;padding:5px 14px;border-radius:999px;color:#fff}.doc-badge.pr{background:#0D2B33}.doc-badge.cal{background:#6C7A76}.doc-badge.draft{background:transparent;color:var(--gold);border:1px solid var(--gold)}.doc-title{font-size:34px;line-height:1.55;font-weight:800;margin-top:16px;letter-spacing:.02em}.doc-dek{margin-top:12px;font-size:19px;line-height:2.1;color:#4a5652;max-width:44em}.doc-meta{margin:26px 0 0;padding:20px 26px;border:1px dashed #c9d2ce;border-radius:var(--r-card);background:var(--card);display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-gap:18px;gap:18px}.doc-meta .k{font-family:Consolas,monospace;font-size:12px;letter-spacing:.18em;color:#9aa5a1}.doc-meta .v{margin-top:6px;font-size:16px;line-height:1.8}.doc-meta .doi{font-family:Consolas,monospace;color:#0D2B33}.doc-sec{margin-top:34px}.doc-sec h2{font-size:24px;font-weight:800;margin-bottom:12px;letter-spacing:.03em}.doc-sec h2 .no{font-family:Consolas,monospace;font-size:14px;color:#9aa5a1;font-weight:400;margin-right:9px}.doc-sec p{font-size:19px;line-height:2.15;margin:12px 0;color:#2c3734}.doc-sec p b{font-weight:700;color:#111}.doc-sec ul{margin:11px 0;padding-left:24px}.doc-sec li{font-size:19px;line-height:2.1;margin-bottom:8px;color:#2c3734}.doc-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:17px}.doc-table td,.doc-table th{border:1px solid rgba(45,74,62,.3);padding:12px 16px;text-align:left;vertical-align:top;line-height:1.9}.doc-table th{background:#F4F7F6;font-weight:800;white-space:nowrap}.doc-note{background:rgba(176,141,87,.08);border-left:3px solid var(--gold);font-size:16.5px;color:#6e5a33}.doc-note,.doc-warn{margin:14px 0;padding:13px 18px;line-height:2}.doc-warn{background:rgba(176,58,43,.06);border-left:3px solid var(--seal,#b03a2b);font-size:17px;color:#7a3a30}.doc-refs{border-top:1px solid #e1e6e4;margin-top:34px;padding-top:16px}.doc-refs .rt{font-family:Consolas,monospace;font-size:12px;letter-spacing:.2em;color:#9aa5a1}.doc-refs ol{margin:10px 0 0;padding:0;list-style:none;counter-reset:ref}.doc-refs li{counter-increment:ref;display:flex;gap:9px;font-size:16px;line-height:2;color:#4a5652;padding:7px 0;border-bottom:1px dashed #e1e6e4}.doc-refs li:before{content:"["counter(ref)"]";font-family:Consolas,monospace;color:#0D2B33;font-weight:700;flex-shrink:0}.doc-compliance{font-size:16.5px;line-height:2.2;color:#52705F;margin-top:24px}.doc-compliance b{color:var(--ink)}.doc-footcite{margin:18px 0 32px;padding:13px 18px;background:rgba(176,141,87,.08);border-left:2px solid var(--gold);font-size:14px;line-height:2;color:#6e5a33}.doc-backlink{display:inline-block;margin-top:10px;font-size:15px;color:var(--brand-deep);text-decoration:underline;text-underline-offset:3px}.olp-repo{max-width:1120px;margin:36px auto 0;padding:26px 30px;background:var(--ink);color:#FAF7F2}.repo-kicker{margin:0 0 8px;font-family:Georgia,serif;font-size:10px;letter-spacing:.3em;color:var(--gold)}.olp-repo h2{margin:0 0 12px;font-family:var(--serif);font-weight:900;font-size:22px;letter-spacing:.14em}.repo-dek{margin:0 0 20px;max-width:52em;font-size:15px;line-height:2;color:rgba(250,247,242,.85)}.repo-dek b{color:#fff}.repo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:22px}.repo-cell{padding-top:12px;border-top:1px solid rgba(250,247,242,.22)}.repo-cell h3{margin:0 0 6px;font-family:var(--serif);font-weight:900;font-size:15px;letter-spacing:.12em;color:var(--gold)}.repo-cell p{margin:0;font-size:14px;line-height:1.95;color:rgba(250,247,242,.75)}.repo-links{display:flex;flex-wrap:wrap;gap:12px;margin:0}.repo-btn{display:inline-block;padding:10px 20px;border:1px solid var(--brand);background:var(--brand);color:#22382F;font-size:12.5px;letter-spacing:.12em;text-decoration:none;transition:.15s}.repo-btn:hover{background:var(--gold);border-color:var(--gold)}.repo-btn.alt{background:transparent;border-color:rgba(176,141,87,.6);color:var(--gold)}.repo-btn.alt:hover{background:rgba(176,141,87,.15);border-color:var(--gold);color:#fff}.cite-stmt a{color:var(--brand-deep);text-decoration:underline;text-underline-offset:3px}.doc-repo{margin:0 0 18px;padding:16px 18px;border:1px solid var(--line-strong);background:var(--card)}.dr-note{margin:0 0 14px;font-size:12px;line-height:2;color:var(--ink-soft)}.dr-note b{color:var(--ink)}.dr-links{display:flex;flex-wrap:wrap;gap:10px;margin:0}.dr-btn{display:inline-block;padding:8px 16px;border:1px solid var(--brand-deep);color:var(--brand-deep);font-size:12px;letter-spacing:.1em;text-decoration:none;transition:.15s}.dr-btn:hover{background:var(--brand-deep);color:#fff}.dr-btn.alt{border-color:var(--line-strong);color:var(--ink-soft)}.dr-btn.alt:hover{background:var(--surface);border-color:var(--ink);color:var(--ink)}@media (max-width:768px){.repo-grid{grid-template-columns:1fr}.olp-repo{padding:20px 18px}.doc-title{font-size:18px}.doc-meta{grid-template-columns:1fr 1fr;padding:9px 11px}.doc-mast{flex-direction:column;gap:5px;padding:8px 12px}}.doc-mast .mast-right{display:flex;align-items:center;gap:14px}