/* Engraved diagrams and bookplate borders; separate from calculated chart geometry. */
.ssj{--ornament-metal:#7e6534;--ornament-faint:#7e653438;--ornament-wash:#7e65340a}
html[data-dao-theme=dark] .ssj{--ornament-metal:#c5b282;--ornament-faint:#c5b28242;--ornament-wash:#c5b2820b}
.ssj .dao-diagram{display:block;width:100%;height:auto;color:var(--ornament-metal);overflow:visible;font-family:var(--serif)}
.ssj .ornament-engraving,.ssj .ornament-guide,.ssj .ornament-tick,.ssj .ornament-inner-ring{fill:none;stroke:currentColor;stroke-width:1}
.ssj .ornament-engraving{opacity:.72}.ssj .ornament-guide{opacity:.38}.ssj .ornament-tick{opacity:.5}.ssj .ornament-inner-ring{opacity:.65}
.ssj .ornament-disc{fill:var(--ornament-wash)}
.ssj .ornament-yao{fill:none;stroke:currentColor;stroke-width:5.5;stroke-linecap:square}
.ssj .ornament-name{fill:currentColor;font-size:22px;letter-spacing:1px}
html[lang=en] .ssj .ornament-name{font-family:var(--latin);font-size:15px;letter-spacing:1px}
.ssj .ornament-taiji{fill:currentColor}.ssj .ornament-taiji-base{fill:var(--panel);stroke:currentColor;stroke-width:1}
.ssj .ornament-palace{fill:var(--ornament-wash);stroke:currentColor;stroke-width:1;stroke-opacity:.7}
.ssj .ornament-centre{fill:var(--ornament-faint)}
.ssj .ornament-number{fill:currentColor;font-family:var(--latin);font-size:37px}
.ssj .ornament-palace-name{fill:currentColor;font-size:17px}
html[lang=en] .ssj .ornament-palace-name{font-family:var(--latin);font-size:13px}
.ssj .ornament-directions,.ssj .ornament-subtitle{fill:currentColor;font-size:11px;letter-spacing:2px}
.ssj .ornament-pillar-name{fill:currentColor;font-size:22px}
html[lang=en] .ssj .ornament-pillar-name{font-family:var(--latin);font-size:12px;letter-spacing:1px}
.ssj .ornament-pillar-word{fill:currentColor;font-size:17px;letter-spacing:2px}
html[lang=en] .ssj .ornament-pillar-word{font-family:var(--latin);font-size:16px;letter-spacing:0}
.ssj .ornament-seal{fill:var(--accent);fill-opacity:.9}.ssj .ornament-seal-glyph{fill:var(--paper);font-size:83px}
.ssj .ornament-cloud{display:block;width:120px;height:48px;color:var(--ornament-metal);pointer-events:none}
.ssj .ornament-cloud path{stroke:currentColor;stroke-width:1;fill:none}
.ssj .ornament-panel{position:relative;padding:32px 24px 20px;background:var(--panel);border:1px solid var(--ornament-faint);box-shadow:inset 0 0 0 8px var(--panel),inset 0 0 0 9px var(--ornament-faint)}
.ssj .ornament-panel-heading{display:grid;gap:6px;text-align:center;padding:8px 16px 2px;color:var(--ornament-metal)}
.ssj .ornament-panel-heading>span{font-family:var(--serif);font-size:18px;letter-spacing:3px}
html[lang=en] .ssj .ornament-panel-heading>span{font-family:var(--latin);font-size:12px;letter-spacing:2px}
.ssj .ornament-panel-heading small{font-size:11px;color:var(--muted)}
.ssj .orientation-figure.ornament-panel>.dao-diagram{max-height:none;max-width:500px;margin:8px auto 12px}
.ssj .ornament-panel>figcaption{font-size:11px;max-width:42ch;margin:0 auto 16px;padding:0;color:var(--muted)}
.ssj .ornament-method-detail{border-top:1px solid var(--ornament-faint);margin-top:16px;padding-top:12px}
.ssj .ornament-method-detail summary{font-size:12px;text-align:center;min-height:44px;align-content:center;color:var(--muted);cursor:pointer}
.ssj .ornament-method-detail svg{max-height:300px;margin-top:8px}
.ssj .ornament-heading{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:64px;align-items:center;padding:32px 0 36px;border-bottom:1px solid var(--ornament-faint)}
.ssj .ornament-heading-copy{min-width:0;max-width:760px}
.ssj .ornament-heading-copy h1{margin-top:0}.ssj .ornament-heading-copy p{margin-bottom:0;max-width:60ch}
.ssj .ornament-heading-figure{margin:0;width:100%;pointer-events:none}
.ssj .ornament-heading-figure figcaption{display:grid;gap:2px;text-align:center;color:var(--muted);font-size:11px;line-height:1.6}
.ssj .ornament-heading-figure figcaption>span{color:var(--ornament-metal);font-family:var(--serif);letter-spacing:2px}
html[lang=en] .ssj .ornament-heading-figure figcaption>span{font-family:var(--latin);font-size:10px;letter-spacing:1px}
.ssj .ornament-heading-figure figcaption small{font-size:10px}
.ssj .today-section-index .ornament-cloud{margin-left:auto;opacity:.8;width:98px;height:40px}
.ssj .art-folio{position:relative}.ssj .ornament-folio-corner{position:absolute;top:-33px;right:10px;z-index:1;pointer-events:none}
.ssj .ornament-folio-corner .ornament-cloud{width:112px;height:45px}
.ssj .ornament-reading-tail{display:block;position:relative;margin:24px 0 0}
.ssj .ornament-reading-tail .ornament-cloud{margin-left:auto;width:102px;height:41px;opacity:.7}
.ssj .ornament-colophon{max-width:1260px;width:calc(100% - 2 * var(--gutter));margin:64px auto -40px;padding:32px 0;border-top:1px solid var(--ornament-faint);border-bottom:1px solid var(--ornament-faint)}
.ssj .ornament-colophon-edge{display:flex;justify-content:center;align-items:center;gap:36px;color:var(--muted);font-size:11px;letter-spacing:2px;text-align:center}
.ssj .ornament-colophon-edge .ornament-cloud{width:84px;height:34px;flex-shrink:0}
.ssj .ornament-colophon-edge .ornament-cloud:last-child{transform:scaleX(-1)}
.ssj .ornament-trigram-strip{display:flex;justify-content:center;gap:clamp(20px,4vw,48px);margin:24px 0 0;color:var(--ornament-metal)}
.ssj .ornament-trigram-strip>span{display:grid;justify-items:center;gap:8px;min-width:0}
.ssj .ornament-trigram-strip svg{width:30px;height:22px;fill:none;stroke:currentColor;stroke-width:3}
.ssj .ornament-trigram-strip small{font-family:var(--serif);font-size:12px}
html[lang=en] .ssj .ornament-trigram-strip small{font-family:var(--latin);font-size:11px}
.ssj[data-motion=on] .ornament-panel>.dao-diagram{animation:ornament-arrive 1.2s ease-out both}
@keyframes ornament-arrive{from{opacity:.4;filter:brightness(1.3)}to{opacity:1;filter:brightness(1)}}
@keyframes ornament-folio-rise{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){.ssj .ornament-heading{gap:32px;grid-template-columns:minmax(0,1fr) 190px}.ssj .ornament-panel{padding:24px 16px 16px}.ssj .ornament-colophon-edge{gap:16px}}
@media(max-width:760px){
 .ssj .art-folio{animation-name:ornament-folio-rise}
 .ssj .ornament-heading{grid-template-columns:minmax(0,1fr);gap:24px;padding:4px 0 28px}
 .ssj .ornament-heading-figure{width:170px;margin:0 auto}
 .ssj .ornament-heading-figure figcaption small{display:none}
 .ssj .orientation-figure.ornament-panel>.dao-diagram{max-width:310px}
 .ssj .ornament-panel-heading>span{font-size:16px}
 .ssj .ornament-colophon{padding:24px 0;margin-top:48px}
 .ssj .ornament-colophon-edge{gap:8px;letter-spacing:1px;font-size:10px}
 .ssj .ornament-colophon-edge .ornament-cloud{width:48px;height:24px}
 .ssj .ornament-trigram-strip{gap:0;justify-content:space-between;margin-top:20px}
 .ssj .ornament-trigram-strip svg{width:25px;height:20px}
 .ssj .ornament-trigram-strip small{font-size:10px}
 .ssj .ornament-folio-corner{top:-26px}
 .ssj .ornament-folio-corner .ornament-cloud{width:90px;height:36px}
}
@media(prefers-reduced-motion:reduce){.ssj .ornament-panel>.dao-diagram{animation:none!important;filter:none!important}}
