/* River Chart and Luo Writing: all topic styling stays within this article. */
body[data-topic="hetu-luoshu"]{--topic:#a77632;--topic-ink:#48331f;--topic-light:#fcf4e6;--topic-edge:#dfc79e;background:#fcfaf5;color:#3f352b}
body[data-topic="hetu-luoshu"] .lk-article-heading h1{color:#49351f;letter-spacing:.12em}
body[data-topic="hetu-luoshu"] .lk-kicker{color:#9a733c}
body[data-topic="hetu-luoshu"] .lk-cover{border:1px solid #ddc69d;border-radius:20px;background:#fbf4e6;box-shadow:0 12px 35px #7d5d2b0b}
body[data-topic="hetu-luoshu"] .lk-cover img{display:block;width:100%;height:auto;object-fit:contain}
body[data-topic="hetu-luoshu"] .lk-reader h2{color:#4b3823}
body[data-topic="hetu-luoshu"] .lk-reader h2>span{color:#9b6c31}
body[data-topic="hetu-luoshu"] .lk-reader h3{color:#775126}
body[data-topic="hetu-luoshu"] .lk-reader :is(section,figure,div){box-sizing:border-box}
body[data-topic="hetu-luoshu"] .lk-reader figure img{width:100%;height:auto;object-fit:contain;border:1px solid #e0cda9;border-radius:16px;background:#fffdf7}
body[data-topic="hetu-luoshu"] .hl-intro{font-size:1.06em;line-height:1.95;background:#f8f0e2;border-left-color:#b48a4d}
body[data-topic="hetu-luoshu"] .hl-intro>span{color:#79552b}
body[data-topic="hetu-luoshu"] .hl-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
body[data-topic="hetu-luoshu"] .hl-evidence-card{padding:20px 18px;background:linear-gradient(145deg,#fffdf8,#f8edda);border:1px solid #e1cda8;border-radius:15px}
body[data-topic="hetu-luoshu"] .hl-evidence-card h3{font-size:17px;margin:0 0 10px}
body[data-topic="hetu-luoshu"] .hl-evidence-card p{font-size:15px;line-height:1.85;margin:0}
body[data-topic="hetu-luoshu"] :is(.hl-callout,.hl-example){border-left:3px solid #b48a4d;border-radius:0 14px 14px 0;background:#f8f0e2;padding:20px 22px;margin:24px 0;line-height:1.9}
body[data-topic="hetu-luoshu"] .hl-callout p:first-child,body[data-topic="hetu-luoshu"] .hl-example p:first-child{margin-top:0}
body[data-topic="hetu-luoshu"] .hl-callout p:last-child,body[data-topic="hetu-luoshu"] .hl-example p:last-child{margin-bottom:0}
body[data-topic="hetu-luoshu"] .hl-interactive{margin:28px 0;padding:clamp(16px,3vw,28px);border:1px solid #d9bc87;border-radius:18px;background:linear-gradient(145deg,#fffdfa,#faf0de);box-shadow:0 6px 20px #6f54210a;min-width:0}
body[data-topic="hetu-luoshu"] .hl-interactive h3{margin-top:0}
body[data-topic="hetu-luoshu"] .hl-interactive :is(button,input,select){font:inherit}
body[data-topic="hetu-luoshu"] .hl-interactive button{min-height:44px;max-width:100%;border:1px solid #b58b4e;border-radius:10px;background:#fffdf8;color:#574025;cursor:pointer;padding:10px 13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
body[data-topic="hetu-luoshu"] .hl-interactive button:hover{background:#f8ebd2}
body[data-topic="hetu-luoshu"] .hl-interactive button:focus-visible{outline:3px solid #2e6e68;outline-offset:3px}
body[data-topic="hetu-luoshu"] .hl-pair-controls{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}
body[data-topic="hetu-luoshu"] .hl-pair-controls button{flex:1 1 82px}
body[data-topic="hetu-luoshu"] :is(.hl-pair-controls,.hl-line-controls) button[aria-pressed="true"]{background:#765027;border-color:#765027;color:#fffdf6;box-shadow:0 3px 8px #6d4c2126}
body[data-topic="hetu-luoshu"] .hl-result{padding:18px 20px;margin:18px 0 0;border:1px solid #dfc79e;border-radius:12px;background:#fffdf7;color:#493a2b;line-height:1.9;min-height:72px}
body[data-topic="hetu-luoshu"] .hl-result:empty{display:none}
body[data-topic="hetu-luoshu"] .hl-luoshu-layout{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);align-items:start;gap:22px;margin:20px 0}
body[data-topic="hetu-luoshu"] .hl-luoshu-layout>*{min-width:0}
body[data-topic="hetu-luoshu"] :is(.hl-grid,#hl-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;max-width:390px;margin:16px auto}
body[data-topic="hetu-luoshu"] #hl-grid button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:1;min-height:70px;padding:9px 3px;background:#fffdf6;border:1px solid #d5b779;border-radius:12px;box-shadow:inset 0 0 0 3px #fbf1df}
body[data-topic="hetu-luoshu"] #hl-grid button strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(26px,5vw,36px);line-height:1.1;font-weight:500;color:#61451f}
body[data-topic="hetu-luoshu"] #hl-grid button span{font-size:13px;color:#725b3d}
body[data-topic="hetu-luoshu"] #hl-grid button.is-selected{background:#f2dfb7;border-color:#ac772d;box-shadow:inset 0 0 0 3px #e8cc94}
body[data-topic="hetu-luoshu"] #hl-grid button.is-current{outline:2px solid #2e6e68;outline-offset:1px}
body[data-topic="hetu-luoshu"] #hl-grid button.is-current:focus-visible{outline-width:3px}
body[data-topic="hetu-luoshu"] #hl-orientation{display:block;margin:12px auto}
body[data-topic="hetu-luoshu"] #hl-orientation-note{font-size:14px;text-align:center;color:#75654e;line-height:1.7}
body[data-topic="hetu-luoshu"] .hl-line-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
body[data-topic="hetu-luoshu"] .hl-line-controls button{min-width:0;font-size:14px}
body[data-topic="hetu-luoshu"] :is(.hl-table-wrap,.lk-table-wrap){max-width:100%;overflow-x:auto;border:1px solid #e0ccab;border-radius:12px;margin:20px 0;overscroll-behavior-x:contain}
body[data-topic="hetu-luoshu"] :is(.hl-table-wrap,.lk-table-wrap) table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.75;margin:0}
body[data-topic="hetu-luoshu"] :is(.hl-table-wrap,.lk-table-wrap) :is(th,td){padding:12px 14px;border-bottom:1px solid #e7d8be;text-align:left;vertical-align:top}
body[data-topic="hetu-luoshu"] :is(.hl-table-wrap,.lk-table-wrap) th{background:#f4e7ce;color:#5d4325;font-weight:600}
body[data-topic="hetu-luoshu"] :is(.hl-table-wrap,.lk-table-wrap) tr:last-child td{border-bottom:0}
body[data-topic="hetu-luoshu"] .hl-glossary{margin:20px 0}
body[data-topic="hetu-luoshu"] .hl-glossary dt{font-weight:600;color:#79552b;margin-top:20px}
body[data-topic="hetu-luoshu"] .hl-glossary dd{margin:7px 0 0;line-height:1.9}
body[data-topic="hetu-luoshu"] .hl-faq details{border-top:1px solid #dfcba6;padding:17px 0}
body[data-topic="hetu-luoshu"] .hl-faq details:last-child{border-bottom:1px solid #dfcba6}
body[data-topic="hetu-luoshu"] .hl-faq summary{cursor:pointer;font-weight:600;min-height:44px;color:#674923;line-height:1.75;list-style-position:outside;margin-left:18px}
body[data-topic="hetu-luoshu"] .hl-faq details p{margin:8px 0 0;line-height:1.9}
body[data-topic="hetu-luoshu"] :is(.hl-sources,.lk-sources) li{padding-bottom:14px;line-height:1.85;overflow-wrap:anywhere}
body[data-topic="hetu-luoshu"] .hl-source-tag{display:inline-block;padding:3px 9px;border:1px solid #d6bb8c;border-radius:20px;background:#fbf3e5;color:#7a582d;font-size:12px;line-height:1.6;margin-right:6px}
body[data-topic="hetu-luoshu"] .lk-reader a{color:#75501e;text-decoration-thickness:1px;text-underline-offset:4px}
body[data-topic="hetu-luoshu"] .lk-reader a:hover{color:#2e6e68}
@media(max-width:900px){
body[data-topic="hetu-luoshu"] .hl-evidence-grid{grid-template-columns:1fr}
body[data-topic="hetu-luoshu"] .hl-evidence-card{padding:17px 19px}
body[data-topic="hetu-luoshu"] .hl-luoshu-layout{grid-template-columns:1fr}
}
/* The shared shell becomes one column at 850px. Its contents list must scroll
   with the article, rather than covering the heading and interactive controls. */
@media(max-width:850px){
body[data-topic="hetu-luoshu"] .lk-toc{position:static;top:auto}
}
@media(max-width:480px){
body[data-topic="hetu-luoshu"] .hl-interactive{padding:16px 12px}
body[data-topic="hetu-luoshu"] :is(.hl-callout,.hl-example){padding:17px 16px}
body[data-topic="hetu-luoshu"] .hl-result{padding:15px 13px;font-size:15px}
body[data-topic="hetu-luoshu"] .hl-pair-controls{gap:7px}
body[data-topic="hetu-luoshu"] .hl-pair-controls button{flex-basis:68px;padding:9px 8px;font-size:14px}
body[data-topic="hetu-luoshu"] #hl-grid button{min-height:64px}
body[data-topic="hetu-luoshu"] .hl-line-controls button{padding:9px 6px;font-size:13px}
body[data-topic="hetu-luoshu"] :is(.hl-table-wrap,.lk-table-wrap) :is(th,td){padding:10px 9px;font-size:13px}
}
@media print{
body[data-topic="hetu-luoshu"] .hl-interactive{break-inside:avoid;box-shadow:none}
body[data-topic="hetu-luoshu"] .hl-pair-controls,body[data-topic="hetu-luoshu"] #hl-orientation,body[data-topic="hetu-luoshu"] .hl-line-controls{display:none}
body[data-topic="hetu-luoshu"] .hl-result{min-height:0}
}
