:root{--p-mat: #EDE8DD;--p-silk: #B8AF9F;--p-art: #DCD2BF;--p-board: #8B877F;--p-slip: #F1ECE1;--p-cloth: #74808A;--p-strap: #66717A;--p-rod: #A0968A;--p-bone: #F2EDE3;--p-side: #DDD7CA;--p-line: rgba(29, 29, 27, .5);--p-brush: rgba(29, 29, 27, .42)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--p-mat: #393732;--p-silk: #59544B;--p-art: #4A453B;--p-board: #2E2C29;--p-slip: #4A463E;--p-cloth: #323A40;--p-strap: #2A3136;--p-rod: #5E574D;--p-bone: #6C675E;--p-side: #2C2A27;--p-line: rgba(232, 229, 223, .4);--p-brush: rgba(232, 229, 223, .36)}}:root[data-theme=dark]{--p-mat: #393732;--p-silk: #59544B;--p-art: #4A453B;--p-board: #2E2C29;--p-slip: #4A463E;--p-cloth: #323A40;--p-strap: #2A3136;--p-rod: #5E574D;--p-bone: #6C675E;--p-side: #2C2A27;--p-line: rgba(232, 229, 223, .4);--p-brush: rgba(232, 229, 223, .36)}.pveil{position:fixed;inset:0;z-index:50;background:color-mix(in srgb,var(--veil) 38%,transparent);opacity:0;transition:opacity .4s ease}.psheet{position:fixed;z-index:51;top:4vh;bottom:4vh;left:max(32px,calc((100vw - 1120px)/2));right:max(32px,calc((100vw - 1120px)/2));display:flex;flex-direction:column;background:var(--ground);color:var(--ink);border:1px solid var(--hair);border-radius:2px;box-shadow:0 24px 80px #00000029,0 2px 8px #0000000d;opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1);outline:none}.pveil.on{opacity:1}.psheet.on{opacity:1;transform:none}.pveil[hidden],.psheet[hidden]{display:none}.phead{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px 28px;border-bottom:1px solid var(--hair)}.phead .pname{font-size:calc(13px * var(--fs));letter-spacing:.3em;color:var(--ink-2)}.pscroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth}.pwait{padding:20vh 0;text-align:center;font-size:calc(13px * var(--fs));letter-spacing:.3em;color:var(--ink-2)}html.pmodal,html.pmodal body{overflow:hidden}.primer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 56px;padding:44px 56px 96px 40px;max-width:1040px;margin:0 auto;box-sizing:border-box}.ptoc{position:sticky;top:32px;align-self:start}.ptoc ol{writing-mode:vertical-rl;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ptoc a{position:relative;display:block;white-space:nowrap;padding:14px 4px 4px;font-size:calc(13px * var(--fs));letter-spacing:.28em;color:var(--ink-2);text-decoration:none;transition:color .2s}.ptoc a b{font-weight:400;display:inline-grid;place-items:center;width:calc(24px * var(--fs));height:calc(24px * var(--fs));margin-bottom:.7em;border:1px solid var(--hair);border-radius:50%;line-height:1;transition:background .2s,border-color .2s,color .2s}.ptoc a[aria-current=true] b{background:var(--seal);border-color:var(--seal);color:var(--seal-ink)}.ptoc a:hover,.ptoc a[aria-current=true]{color:var(--ink)}.pbody{min-width:0;max-width:720px}.pbody h1{margin:0;font-weight:400;font-size:calc(30px * var(--fs));letter-spacing:.36em}.pbody .plead{margin:14px 0 0;font-size:calc(14px * var(--fs));letter-spacing:.12em;color:var(--ink-2)}.psec{padding-top:64px;scroll-margin-top:8px}.psec h2{display:flex;align-items:center;gap:.9em;margin:0 0 22px;font-weight:400;font-size:calc(20px * var(--fs));letter-spacing:.24em}.psec h2 small{display:inline-grid;place-items:center;flex:none;width:calc(30px * var(--fs));height:calc(30px * var(--fs));font-size:calc(14px * var(--fs));line-height:1;letter-spacing:0;color:var(--ink-2);border:1px solid var(--hair);border-radius:50%}.pbody p,.pbody li,.pbody figcaption,.pbody .pmine,.plb{font-family:"Noto Serif SC",Songti SC,STSong,SimSun,serif}.pfig[data-scrub] svg{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.pfig[data-scrub].dragging svg{cursor:grabbing}.psec h3{display:flex;align-items:center;gap:.8em;margin:44px 0 14px;font-weight:400;font-size:calc(17px * var(--fs));letter-spacing:.24em}.psec p{margin:0 0 1em;max-width:34em;font-size:calc(15px * var(--fs));line-height:2;letter-spacing:.05em;text-align:justify}.psec p.phere{color:var(--ink-2);font-size:calc(13.5px * var(--fs));line-height:1.9;padding-left:14px;border-left:1px solid var(--hair)}.psec kbd{font-family:inherit;font-size:.92em;padding:0 .3em;border:1px solid var(--hair);border-radius:2px}.psec ol.psteps{margin:0 0 1em;padding:0 0 0 1.6em;max-width:34em;font-size:calc(15px * var(--fs));line-height:2;letter-spacing:.05em}.pmine{display:inline-grid;place-items:center;padding:3px 5px;background:var(--seal);color:var(--seal-ink);font-size:calc(11px * var(--fs));letter-spacing:.1em;line-height:1;border-radius:1.5px}.pmine[hidden]{display:none}.pfig{margin:30px 0 34px}.pfw{container-type:inline-size}.pfw{position:relative;margin:0 auto}.pfig svg{display:block;width:100%;height:auto;overflow:visible}.pfig svg *{vector-effect:non-scaling-stroke;stroke:var(--p-line);stroke-width:1;stroke-linejoin:round;stroke-linecap:round;fill:none}.pfig .ft>rect:not([class]),.pfig .fs>rect:not([class]){fill:var(--p-side)}.pfig .board>rect:not([class]){fill:var(--p-board)}.pfig .cloth>rect:not([class]){fill:var(--p-cloth)}.pfig .silk{fill:var(--p-silk)}.pfig .mat{fill:var(--p-mat)}.pfig .art{fill:var(--p-art)}.pfig .board{fill:var(--p-board)}.pfig .slip{fill:var(--p-slip)}.pfig .cloth{fill:var(--p-cloth)}.pfig .strap{fill:var(--p-strap)}.pfig .linen{--p-cloth: #B8AD8E;--p-strap: #A69A7A}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .pfig .linen{--p-cloth: #4A4537;--p-strap: #3E392D}}:root[data-theme=dark] .pfig .linen{--p-cloth: #4A4537;--p-strap: #3E392D}.pfig .rod{fill:var(--p-rod)}.pfig .bone{fill:var(--p-bone)}.pfig .bone-pin{stroke:var(--p-line);stroke-width:1.4}.pfig .yin{fill:var(--seal);stroke:none;opacity:.85}.pfig .brush{stroke:var(--p-brush);stroke-width:1.15}.pfig .faint{opacity:.6}.pfig .pl{opacity:.55}.pfig .fold{stroke-dasharray:3 3}.pfig .dash{stroke-dasharray:4 3;opacity:.8}.pfig .dim{stroke:var(--ink-2)}.pfig .arw{stroke:var(--seal);stroke-width:1.2}.pfig .arh{fill:var(--seal);stroke:none}.pfig .ld{stroke:var(--ink-2);opacity:.6;transition:opacity .4s}.pfig .ldot{fill:var(--ink-2);stroke:none;transition:opacity .4s}.pfig [data-part]{transition:stroke .2s}.pfig .lit,.pfig .lit *{stroke:var(--seal)}.pfig .lit.art,.pfig .lit.silk,.pfig .lit.mat{stroke-width:1.6}.plb{position:absolute;z-index:1;padding:2px 5px;white-space:nowrap;font-size:calc(clamp(9.5px,1cqw * var(--k),12px) * var(--fs));letter-spacing:.14em;line-height:1.4;color:var(--ink-2);transition:color .2s,opacity .4s}.plb[data-for]{cursor:default}.plb[data-side=r]{transform:translateY(-50%)}.plb[data-side=l]{transform:translate(-100%,-50%)}.plb[data-side=b],.plb[data-side=cap]{transform:translate(-50%,2px)}.plb[data-side=t]{transform:translate(-50%,calc(-100% - 2px))}.plb[data-side=cap]{color:var(--ink);letter-spacing:.22em}.plb.lit{color:var(--seal)}.pfig.pre .plb,.pfig.pre .ld,.pfig.pre .ldot,.pfig.pre .arw,.pfig.pre .arh{opacity:0}.pfig .arw,.pfig .arh{transition:opacity .4s}.pfig figcaption{margin-top:16px;text-align:center;font-size:calc(12px * var(--fs));letter-spacing:.18em;color:var(--ink-2)}@media(max-width:760px){.psheet{inset:0;border:0;border-radius:0;transform:translateY(32px)}.phead{padding:10px 8px 8px 18px;padding-top:max(10px,env(safe-area-inset-top))}.primer{display:block;padding:0 18px 80px}.ptoc{position:sticky;top:0;z-index:2;margin:0 -18px;padding:0 10px;background:var(--ground);border-bottom:1px solid var(--hair);overflow-x:auto;scrollbar-width:none}.ptoc::-webkit-scrollbar{display:none}.ptoc ol{writing-mode:horizontal-tb;flex-direction:row;white-space:nowrap;gap:0}.ptoc a{padding:12px 8px 10px;letter-spacing:.14em}.ptoc a b{margin:0 .5em 0 0}.pbody h1{margin-top:30px;font-size:calc(24px * var(--fs))}.psec{padding-top:48px;scroll-margin-top:48px}.psec p,.psec ol.psteps{font-size:calc(14.5px * var(--fs))}}@media(prefers-reduced-motion:reduce){.pscroll{scroll-behavior:auto}}.prefs{display:inline-flex;align-items:center;gap:2px}.pref{appearance:none;border:0;background:none;padding:0;width:32px;height:32px;display:grid;place-items:center;color:var(--ink-2);opacity:.45;cursor:pointer;transition:opacity .2s,color .2s}.pref:hover{opacity:1;color:var(--ink)}.pref:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.pref.fs span{font-size:13px;line-height:1;transition:font-size .2s}:root[data-fs="2"] .pref.fs span{font-size:15.5px}:root[data-fs="3"] .pref.fs span{font-size:18px}.pref.fs[aria-expanded=true]{opacity:1;color:var(--ink)}.fswrap{position:relative;display:inline-flex}.fspop{position:absolute;z-index:20;top:calc(100% + 8px);left:50%;transform:translate(calc(-50% + var(--dx, 0px)));padding:16px 18px 12px;background:color-mix(in srgb,var(--ground) 97%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--hair);border-radius:2px;box-shadow:0 8px 28px #0000000f}.fspop[hidden]{display:none}.fsruler{position:relative;display:block;width:188px;height:26px}.fsticks{position:absolute;left:8px;right:8px;top:4px;height:14px;background:repeating-linear-gradient(to right,var(--ink-2) 0 .5px,transparent .5px 6.25%) bottom / 100% 5px no-repeat;border-bottom:.5px solid var(--hair);opacity:.7}.fsticks b{position:absolute;bottom:0;width:1px;height:14px;background:var(--ink-2);transform:translate(-50%)}.fsticks b:nth-child(1){left:0}.fsticks b:nth-child(2){left:50%}.fsticks b:nth-child(3){left:100%}.fsruler input{position:absolute;inset:0;width:100%;height:100%;margin:0;background:none;appearance:none;-webkit-appearance:none;cursor:pointer}.fsruler input:focus{outline:none}.fsruler input::-webkit-slider-runnable-track{height:100%;background:none}.fsruler input::-moz-range-track{height:100%;background:none}.fsruler input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:26px;border:0;background:none;cursor:grab}.fsruler input::-moz-range-thumb{width:16px;height:26px;border:0;border-radius:0;background:none;cursor:grab}.fsneedle{position:absolute;top:0;left:calc(8px + (100% - 16px) * var(--at, 0));width:2px;height:22px;margin-left:-1px;background:var(--seal);pointer-events:none;transition:left .35s cubic-bezier(.3,.7,.2,1)}.fsruler:has(input:focus-visible) .fsneedle{box-shadow:0 0 0 3px color-mix(in srgb,var(--seal) 18%,transparent)}.fspop{transition:opacity .25s ease}.fspop.closing{opacity:0}.fslabels{display:flex;justify-content:space-between;width:188px;margin-top:4px}.fslabels button{appearance:none;border:0;background:none;padding:2px 0;width:48px;font:inherit;color:var(--ink-2);letter-spacing:.1em;cursor:pointer;transition:color .2s}.fslabels button:nth-child(1){font-size:12px;text-align:left}.fslabels button:nth-child(2){font-size:14px;text-align:center}.fslabels button:nth-child(3){font-size:16px;text-align:right}.fslabels button:hover,.fslabels button[aria-pressed=true]{color:var(--ink)}.pref .on{display:none}:root[data-sound=on] .pref .on{display:inline}:root[data-sound=on] .pref .off{display:none}
