@font-face {
    font-family: 'Noto Serif JP';
    src: url('https://shugyokai.org/wp-content/uploads/fonts/NotoSerifJP-VariableFont_wght.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans Italic';
    src: url('https://shugyokai.org/wp-content/uploads/fonts/NotoSans-Italic-VariableFont_wdthwght.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    src: url('https://shugyokai.org/wp-content/uploads/fonts/NotoSans-VariableFont_wdthwght.ttf') format('truetype');
    font-display: swap;
}
@font-face {
  font-family: 'Gentium Book Basic';
  font-display: swap;
}

@font-face {
  font-family: 'Cinzel';
  font-display: swap;
}
.apa-bibliography {
	text-indent: -36px; 
	padding-left: 50px;
}
.references ~ p {
  text-indent: -50px; 
	padding-left: 50px;
}
.top-align-td table tr td {
    vertical-align: top;
}
.japanese-vertical-text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
.japanese-vertical-text-rt {
	writing-mode: vertical-rl;
  text-orientation: upright; 
}
.japanese-vertical-text-rt-250 {
	writing-mode: vertical-rl;
  text-orientation: upright; 
	direction: rtl;
	height: 250px;
}
.entry-content p {
    overflow-wrap: break-word;
}
strong {
  font-weight: 700; /* Or any other desired numerical value like 600 for semi-bold, or 500 for medium */
}
@media print {
.noPrint {
display:none;
}
}
.wp-block-code{
	white-space: pre-line !important;
	overflow-x: hidden;
	overflow-y: hidden;
}
.cm-editor,
.cm-editor .cm-scroller,
.cm-editor pre,
.cm-editor .cm-content {
  min-width: 0 !important;
  max-width: 100% !important;
}

.cm-editor pre,
.cm-editor .cm-line {
  white-space: pre-line !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.cm-editor .cm-scroller {
  overflow-x: hidden !important;
}
.cm-editor pre, .cm-editor .cm-line{
	overflow-x:hidden !important;
	overflow-y:hidden !important;
}
.wp-block-code {
  padding-top: 0px !important;
	padding-bottom: 0px !important;
}
.clickable-column {
    position: relative;
    cursor: pointer;
}

.clickable-column a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
}
.clickable-column:hover {
  filter: contrast(80%); 
	backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
	filter: drop-shadow(0 0px 10px rgba(0, 0, 0, 1));
}
.clickable-column:active {
  filter: contrast(80%); 
	backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
	filter: drop-shadow(0 0px 10px rgba(0, 0, 0, 1));
}
body {
	  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top center;
}

.foggy-overlay {
  /* From https://css.glass */
background: rgba(155, 155, 155, 0.2);
border-radius: 16px;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.3);
}
.vaporwave-text {
  /* Layered cyan and hot pink neon glow */
  text-shadow: 
    0 0 5px #fff,
    0 0 10px #fff,
    0 0 20px #ff71ce, /* Vaporwave pink */
    0 0 40px #ff71ce,
    0 0 80px #01cdfe, /* Vaporwave cyan */
    0 0 90px #01cdfe;
}
.wp-block-navigation .wp-block-navigation-item {
    word-break: keep-all;
}

.rice-paper-card {
    /* Glassmorphism base effects */
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    
    /* Store the SVG in a variable with slightly lowered opacity (0.08) */
    --noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 50 50' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");

    /* 
      Layer 1: Top noise
      Layer 2: Bottom noise
      Layer 3: Base tint 
    */
    background-image: 
        var(--noise), 
        var(--noise), 
        linear-gradient(rgba(155, 155, 155, 0.2), rgba(155, 155, 155, 0.2));
    
    /* Use different sizes for each noise layer to prevent harsh repeating moiré patterns */
    background-size: 
        100px 100px, 
        160px 160px, 
        auto;
        
    /* THE TRICK: One layer scrolls with the card, one stays fixed to the viewport */
    background-attachment: 
        scroll, 
        fixed, 
        scroll;
        
    background-position: 0 0, 0 0, 0 0;
    background-repeat: repeat;
}

.rice-paper-card-multi {
    /* 1. Glassmorphism base effects */
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    
    /* 2. Base Tint (slightly warmed to mimic organic rice paper) */
    background-color: rgba(250, 248, 245, 0.25);
    
    /* 3. Three distinct SVG layers for depth */
    background-image: 
        /* Layer A: Fine uniform grain (Moves with card) */
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='fine'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23fine)' opacity='0.08'/%3E%3C/svg%3E"),
        
        /* Layer B: Softer, larger cloudy mottle (Fixed to viewport) */
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='mottle'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.4' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23mottle)' opacity='0.10'/%3E%3C/svg%3E"),
        
        /* Layer C: Stretched directional fibers (Moves with card, larger scale) */
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='fibers'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04 0.5' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23fibers)' opacity='0.12'/%3E%3C/svg%3E");
        
    /* 4. Texture sizing and repetition */
    background-repeat: repeat, repeat, repeat;
    background-size: 100px 100px, 250px 250px, 150px 150px;
    
    /* 5. Fallback Parallax: Mixes moving layers and static layers */
    background-attachment: scroll, fixed, scroll;
    background-position: 0 0, 0 0, 0 0;
}

/* 6. True Multi-Velocity Parallax (Modern Browsers) */
@supports (animation-timeline: scroll()) {
    .rice-paper-card {
        /* Override fixed attachment so we can animate them smoothly */
        background-attachment: scroll, scroll, scroll;
        
        /* Tie the animation to the page scroll */
        animation: rice-paper-scroll linear;
        animation-timeline: scroll();
    }

    @keyframes rice-paper-scroll {
        0% {
            background-position: 0 0, 0 0, 0 0;
        }
        100% {
            /* Shift the Y positions at different rates to create velocity depth */
            background-position: 
                0 -50px,   /* Layer A: Moves slowly */
                0 -150px,  /* Layer B: Moves moderately */
                0 -300px;  /* Layer C: Moves fastest */
        }
    }
}

.rice-paper-card-snowflake {
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    
    background: 
url("data:image/svg+xml,%3Csvg viewBox='0 0 50 50' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.12'/%3E%3C/svg%3E"),
        repeating-radial-gradient(circle at 0% 0%, transparent 0, transparent 7px, rgba(255, 255, 255, 0.04) 7px, rgba(255, 255, 255, 0.04) 8px),
        repeating-radial-gradient(circle at 100% 100%, transparent 0, transparent 7px, rgba(255, 255, 255, 0.04) 7px, rgba(255, 255, 255, 0.04) 8px),
        repeating-radial-gradient(circle at 100% 0%, transparent 0, transparent 11px, rgba(255, 255, 255, 0.03) 11px, rgba(255, 255, 255, 0.03) 12px),
        repeating-radial-gradient(circle at 0% 100%, transparent 0, transparent 11px, rgba(255, 255, 255, 0.03) 11px, rgba(255, 255, 255, 0.03) 12px),
        
        rgba(155, 155, 155, 0.2);
    
    background-repeat: 
        repeat, 
        no-repeat, no-repeat, no-repeat, no-repeat, 
        no-repeat;
    
    background-size: 
        100px 100px,
        100% 100%, 
        100% 100%,
        100% 100%,
        100% 100%,
        100% 100%;
        
    background-position: 0 0;
}