:root{--paper:#eae3d3;--light:#f3eddf;--ink:#2d4038;--muted:#757766;--line:#2d403829;--red:#984839;--green:#486451;--gold:#b38a49;--serif:"Songti SC","STSong",serif;--sans:"PingFang SC","Avenir Next",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.7 var(--sans)}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{border:1px solid var(--line);color:inherit;background:transparent;cursor:pointer}button:hover{background:#4864510c}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,#viewport:focus-visible{outline:2px solid var(--red);outline-offset:3px}button,input{touch-action:manipulation}[hidden]{display:none!important}.topbar{margin:auto;padding:18px 3.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:11px}.topbar a{text-decoration:none}.brand{font:20px var(--serif);letter-spacing:3px}.brand span{font:10px var(--sans);letter-spacing:1px;margin-left:16px;color:var(--muted)}main{max-width:1800px;margin:auto;padding:0 3.5%}.intro{display:flex;align-items:center;justify-content:space-between;padding:30px 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--red);margin:0 0 12px}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(35px,3.6vw,58px);letter-spacing:4px;margin:0;line-height:1.4}h1>span{color:var(--red)}.seal{display:inline-grid;place-items:center;background:var(--red);color:var(--paper);font:15px/1.1 var(--serif);border:3px double var(--paper);outline:1px solid var(--red);padding:6px;font-style:normal}h1 .seal{vertical-align:middle;font-size:12px;letter-spacing:1px;margin-left:18px}.english{font:10px "Baskerville",var(--serif);letter-spacing:1.5px;color:var(--muted);margin:9px 0 0}.intro-note{border-left:1px solid var(--line);padding-left:28px}.intro-note>span{font:20px var(--serif)}.intro-note p{font-size:11px;color:var(--muted);margin-bottom:0;line-height:1.9}.chapters{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-bottom:0}.chapters button{border:0;border-top:2px solid transparent;border-right:1px solid var(--line);padding:13px 6px;font:17px var(--serif)}.chapters button:last-child{border-right:0}.chapters button>span{font:10px var(--sans);color:var(--muted);margin-right:12px}.chapters button[aria-pressed=true]{border-top-color:var(--red);background:var(--light);color:var(--red)}.studio{display:grid;grid-template-columns:185px minmax(0,1fr) 255px;border:1px solid var(--line);min-height:665px}.panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:8px}.panel-heading button{border:0;font-size:10px;padding:3px 0;color:var(--red)}.layer-sidebar{padding:22px 15px;border-right:1px solid var(--line)}.micro{font-size:10px;color:var(--muted);line-height:1.8}.layer-sidebar>.micro{margin:12px 0 18px}.layer-item{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;cursor:pointer}.layer-item input{accent-color:var(--green);margin:0;width:13px;height:13px}.layer-item .layer-dot{width:5px;height:5px;border-radius:50%;background:var(--layer-color);flex-shrink:0}.legend{display:grid;gap:8px;margin-top:25px;font-size:9px;color:var(--muted)}.legend i{display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%}.documented{background:var(--green)}.inferred{background:var(--gold)}.text-link{border:0;border-bottom:1px solid var(--line);padding:0 0 3px;font-size:11px;text-decoration:none}.layer-sidebar>.text-link{margin-top:15px}.viewer-column{min-width:0;position:relative;display:flex;flex-direction:column;background:var(--light)}.viewer-toolbar{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:10px}.viewer-toolbar>button{padding:5px 9px}.view-buttons{display:flex;gap:3px;margin-right:auto}.view-buttons button{border:0;padding:5px 9px}.view-buttons button[aria-pressed=true]{background:var(--green);color:var(--light)}#viewport{position:relative;flex:1;min-height:510px;overflow:hidden;outline-offset:-3px;touch-action:none}#viewport canvas{display:block;width:100%;height:100%;position:absolute;inset:0;cursor:grab;touch-action:none}#viewport canvas:active{cursor:grabbing}#model-loading,#model-error{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:var(--light);z-index:5;padding:30px}#model-error strong{font:23px var(--serif)}#model-error button{padding:9px}.viewport-corner{position:absolute;left:20px;top:19px;display:flex;align-items:center;gap:12px;font:13px var(--serif);pointer-events:none}.viewport-corner small{font:9px var(--sans);color:var(--muted);display:block;margin-top:5px}.viewport-corner .seal{font-size:15px}.viewport-hint{position:absolute;bottom:13px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.5px;color:var(--muted);pointer-events:none}#model-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.model-label{position:absolute;transform:translate(-50%,-100%);font-size:10px;background:#f5f0e6e8;border-bottom:1px solid var(--red);padding:3px 6px;white-space:nowrap;box-shadow:0 2px 5px #3837220b}.model-label:after{content:'';position:absolute;left:50%;top:100%;height:12px;width:1px;background:#98483988}#selection-chip{position:absolute;left:20px;bottom:39px;background:var(--green);color:var(--paper);padding:6px 10px;font-size:11px}.viewer-controls{display:flex;align-items:center;gap:12px;padding:13px 15px;border-top:1px solid var(--line);font-size:10px}.explode-control{flex:1;min-width:70px}.explode-control label{display:flex;align-items:center;justify-content:space-between;gap:9px}.explode-control input{width:100%;margin:6px 0 0;accent-color:var(--red)}.viewer-controls>button{padding:7px 10px}.check-control{white-space:nowrap;display:flex;align-items:center;gap:4px;font-size:10px}.check-control input{accent-color:var(--red);width:12px;height:12px;margin:0}.section-controls{padding:8px 15px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);font-size:10px}.section-controls label{white-space:nowrap}.section-controls select{background:var(--light);border:1px solid var(--line);color:var(--ink);max-width:110px;font-size:10px}.section-controls input{min-width:30px;width:100%;accent-color:var(--red)}.section-controls button{font-size:10px;white-space:nowrap}.viewer-status{display:flex;justify-content:space-between;gap:10px;padding:9px 15px;color:var(--muted);border-top:1px solid var(--line);font-size:9px}.inspector{border-left:1px solid var(--line);padding:24px 20px;display:flex;flex-direction:column}.inspector h2{font-size:31px;margin:0}.chapter-subtitle{font-size:12px;color:var(--red);margin:8px 0 18px}.inspector>#chapter-text{font-size:11px;line-height:1.95;color:var(--muted);margin:0}dl{margin:20px 0 0;font-size:10px}dl>div{padding:9px 0;border-top:1px solid var(--line)}dt{font-size:12px}dd{margin:4px 0 0;color:var(--muted)}.observation{border-left:2px solid var(--red);padding-left:12px;margin:19px 0}.observation>span{font-size:10px;color:var(--red)}.observation p{font-size:11px;margin:7px 0;line-height:1.8}#selected-part{border-top:1px solid var(--line);padding-top:18px;margin-top:auto}.selection-placeholder{font-size:10px;color:var(--muted);line-height:1.9;margin:0}.part-name{font:22px var(--serif);margin:0 0 8px}.part-text{font-size:11px;line-height:1.9;margin:0 0 10px}.part-evidence{font-size:9px;color:var(--muted);border-left:2px solid var(--gold);padding-left:9px;line-height:1.8}.part-id{font-size:9px;color:var(--muted);font-family:monospace}.chapter-paging{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.chapter-paging button{font-size:10px;padding:5px 7px}.reading-section{display:grid;grid-template-columns:1fr 1.7fr;gap:60px;padding:55px 0;border-bottom:1px solid var(--line)}.reading-section h2{font-size:30px;line-height:1.6;margin:0}.reading-copy>p{font-size:12px;line-height:2;color:var(--muted)}.load-path{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:15px}.load-path b{font-weight:400;color:var(--red)}.evidence{padding:45px 0}.section-heading h2{font-size:30px;margin:0 0 20px}.evidence-intro{max-width:850px;font-size:12px;color:var(--muted);line-height:2}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:30px 0}.evidence-grid article{padding:20px 0;border-top:1px solid var(--line)}.evidence-tag{font-size:10px;color:var(--green)}.evidence-tag.approximate{color:#937137}.evidence-tag.unresolved{color:var(--red)}.evidence-grid h3{font-size:19px;margin:10px 0}.evidence-grid p{font-size:11px;color:var(--muted);line-height:1.9}.sources{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;border-top:1px solid var(--line);padding-top:25px;margin-bottom:25px}.sources a{font-size:12px}.sources p{font-size:10px;color:var(--muted);margin:6px 0}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 0 30px;font:14px var(--serif)}footer a{font-size:12px}footer small{width:100%;font:9px var(--sans);color:var(--muted)}.viewer-column:fullscreen{height:100vh;width:100vw}.viewer-column:fullscreen #viewport{min-height:0}.viewer-column:fullscreen .viewer-toolbar{padding:16px 30px}.viewer-column:fullscreen .viewer-controls{padding:16px 30px}@media(min-width:1500px){.studio{grid-template-columns:205px minmax(0,1fr) 290px}#viewport{min-height:620px}.inspector{padding:28px}.inspector>#chapter-text{font-size:12px}.layer-item{font-size:12px}.viewer-controls{gap:18px}}@media(max-width:1100px){.studio{grid-template-columns:160px minmax(0,1fr) 220px}.layer-sidebar{padding:18px 10px}.layer-item{font-size:10px;gap:5px}.inspector{padding:20px 15px}.viewer-controls{gap:7px;padding:12px 10px;flex-wrap:wrap}.explode-control{min-width:110px}.viewer-toolbar{gap:5px;padding:10px}.view-buttons button{padding:5px 6px}#viewport{min-height:470px}.intro-note{font-size:10px}}@media(max-width:850px){main{padding:0 4%}.brand span{display:none}.intro-note{display:none}.studio{grid-template-columns:150px minmax(0,1fr)}.inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.inspector h2,.inspector>.eyebrow,.inspector>.chapter-subtitle{grid-column:1}.inspector>#chapter-text{grid-column:1}.inspector>dl{grid-column:1}.inspector>.observation{grid-column:1}.inspector>#selected-part{grid-column:2;grid-row:1/7;align-self:start;border-top:0;margin:0;border-left:1px solid var(--line);padding:0 0 0 20px}.chapter-paging{grid-column:1/-1;margin-top:0}.chapters button{font-size:15px}.chapters button>span{margin-right:5px;font-size:9px}.reading-section{gap:30px}.reading-section h2{font-size:25px}.evidence-grid{gap:20px}.load-path{font-size:12px}}@media(max-width:560px){.topbar{padding:15px 4%;font-size:10px}.topbar>a:last-child{font-size:9px}.brand{font-size:16px;letter-spacing:1px}.intro{padding:26px 0}h1{font-size:34px;letter-spacing:1px}h1 .seal{margin-left:10px;font-size:10px}.english{font-size:8px;letter-spacing:1px}.chapters{grid-template-columns:repeat(3,1fr)}.chapters button{padding:13px 5px;border-bottom:1px solid var(--line)}.studio{display:flex;flex-direction:column}.layer-sidebar{order:2;border-right:0;border-top:1px solid var(--line);padding:14px}.layer-sidebar>.micro,.legend,.layer-sidebar>.text-link{display:none}#layer-list{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.layer-item{font-size:10px;padding:8px 0}.viewer-column{order:1}#viewport{height:430px;min-height:430px;flex:none}.viewer-toolbar{font-size:10px}.view-buttons button{padding:5px 7px}.viewer-controls{gap:10px}.explode-control{min-width:100px;flex-basis:45%}.viewer-controls .check-control{font-size:10px}.viewport-corner{left:14px;top:14px;font-size:11px}.viewport-hint{font-size:8px}.inspector{order:3;padding:20px;display:block}.inspector>#selected-part{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:20px}.inspector h2{font-size:28px}.chapter-paging{margin-top:20px}.reading-section{grid-template-columns:1fr;gap:15px;padding:35px 0}.reading-section h2 br{display:none}.reading-section h2{font-size:25px}.evidence{padding:35px 0}.section-heading h2{font-size:25px}.evidence-grid,.sources{grid-template-columns:1fr;gap:10px}.evidence-grid{margin:15px 0}.evidence-grid article{padding:15px 0}.load-path{gap:6px;font-size:11px}.section-controls{padding:8px;font-size:9px;gap:7px}.viewer-column:fullscreen #viewport{height:auto;flex:1}footer{font-size:12px}.evidence-intro{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.layer-item:has(input:disabled){opacity:.35;cursor:default}

#member-list{width:100%;margin:8px 0 16px;padding:8px;border:1px solid #c8bca6;background:#f5eddf;color:#524b3d;font:inherit;font-size:12px}.chapters{grid-template-columns:repeat(7,1fr)}@media(max-width:700px){.chapters{grid-template-columns:repeat(4,1fr)}.topbar{flex-wrap:wrap;gap:10px}.viewer-toolbar{flex-wrap:wrap}}

.node-picker{padding:12px 18px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;font-size:11px}.node-picker[hidden]{display:none}.node-picker select{max-width:60%;padding:8px;border:1px solid var(--line);background:#f5eddf;color:var(--ink)}.node-picker span{font-size:9px;color:var(--muted)}.part-id{overflow-wrap:anywhere}.viewer-controls{flex-wrap:wrap}@media(max-width:560px){.node-picker{flex-wrap:wrap}.node-picker span{width:100%}.viewer-controls{gap:8px}.topbar>a:nth-child(2){display:none}}

/* Taihe: warm paper, timber, gilded decoration and restrained blue-green. */
.intro-note>span{color:#315d72}.brand{color:#315d72}.part-id{overflow-wrap:anywhere}.node-picker{flex-wrap:wrap}.topbar{flex-wrap:wrap}.topbar a{white-space:normal}@media(max-width:560px){.topbar>a:nth-child(2){display:none}.node-picker span{font-size:9px}.viewer-toolbar button{min-height:32px}input[type=checkbox]{min-width:16px;min-height:16px}.check-control{min-height:32px}}
