/* お姿は全体が見えるように表示。図像の切り取り・拡大演出は行わない。 */
.deity-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.selection-grid .portrait-card{height:470px!important;background:#d4c6a6;border:1px solid #c0b494}
.portrait-card .deity-art{width:100%;height:100%;object-fit:contain}
.portrait-card .category-tag{background:#f5f2ebef;color:#324335}
.portrait-card .landscape-caption{font-size:12px;background:#24392ff2}
.visit-picture{margin:0;min-width:0}
.portrait-frame{position:relative;aspect-ratio:4/5;background:#cabc9e;border:1px solid #b5aa8c;box-shadow:0 14px 40px #3a352b0d}
.portrait-frame::before{content:"";position:absolute;inset:-10px 10px 10px -10px;border:1px solid #b5b299;z-index:-1}
.visit-picture figcaption{font-size:12px;color:var(--muted);line-height:1.9;text-align:center;margin-top:20px;letter-spacing:.04em}
.deity-description,:is(.mantra-section,.chant-section){display:grid;grid-template-columns:1fr 1.65fr;gap:70px;padding:54px 30px;border-top:1px solid var(--line)}
.deity-description{margin-top:65px}
.description-heading h2{font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:.06em;margin-top:15px;line-height:1.8}
.description-heading h2>span{display:block;font:12px var(--sans);letter-spacing:.08em;margin-top:9px;color:var(--muted)}
.description-sections>section+section{margin-top:37px}
.description-sections h3{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.8;margin-bottom:14px}
.description-sections p{font-size:15px;line-height:2.2}
.section-sources{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:17px;font-size:12px;line-height:1.9;color:var(--muted)}
.source-link{overflow-wrap:anywhere}
:is(.mantra-section,.chant-section){background:#eeece1;border-top:1px solid #cac9b6;margin-bottom:35px}
:is(.mantra-text,.chant-text){font-family:var(--serif);font-size:24px;line-height:2.3;letter-spacing:.08em;color:var(--ink);margin-bottom:24px}
:is(.mantra-text,.chant-text) span{display:inline-block;margin-right:.3em}
:is(.mantra-note,.chant-note),.mantra-guidance{font-size:13px;line-height:2;color:var(--muted)}
.mantra-guidance{margin-top:20px}
:is(.mantra-source,.chant-source){font-size:12px;line-height:1.9;margin-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
:is(.mantra-source,.chant-source)>span{color:var(--muted)}
.portrait-reference{margin:0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
summary{cursor:pointer}
.portrait-reference summary{font-size:14px;padding:21px 0;line-height:1.8;min-height:44px}
.portrait-reference>div{padding:0 0 25px;max-width:780px}
.portrait-reference p{font-size:13px;line-height:2.1;color:var(--muted)}
.portrait-reference p+p{margin-top:12px}
.quiet-center{padding:10px 24px 24px;min-height:0;flex:1}
.quiet-center h1{font-size:32px;margin-top:18px;letter-spacing:.12em;line-height:1.8}
.quiet-center rt{font-size:12px}
.quiet-portrait{width:min(352px,76vw);margin:24px 0 0}
.quiet-portrait .deity-art{width:100%;height:auto;aspect-ratio:4/5;border:1px solid #bdac7e;box-shadow:0 8px 45px #061a1340}
.quiet-message{font-size:21px;line-height:1.8;margin-top:25px}
.quiet-message>span{display:inline-block}
.quiet-bottom{padding-top:12px}
.quiet-bottom>a{display:inline-block;margin-top:4px;text-decoration:underline;text-underline-offset:4px;min-height:44px;align-content:center}
:is(.quiet-mantra,.quiet-chant){width:min(580px,100%);margin-top:28px;padding:19px 16px 17px;border-top:1px solid #a9ac9066;border-bottom:1px solid #a9ac9066;text-align:center;background:#172d23b8}
:is(.quiet-mantra,.quiet-chant) h2{font:14px var(--sans);color:#e9e2ce;line-height:1.8;letter-spacing:.12em;margin-bottom:10px}
:is(.quiet-mantra,.quiet-chant) h2>span{font-size:12px;margin-left:14px;color:#d3d8c9;letter-spacing:.04em}
:is(.quiet-mantra,.quiet-chant) :is(.mantra-text,.chant-text){color:#f5f1e4;font-size:23px;margin-bottom:0}
.quiet-page :focus-visible{outline-color:#efe4bc}
summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}
@media(min-width:761px) and (max-height:880px){.quiet-portrait{width:270px}.quiet-top{padding-block:20px}.quiet-center{padding-bottom:10px}.quiet-message{margin-top:20px}}
@media(max-width:1100px){.selection-grid .portrait-card{height:420px!important}.deity-description,:is(.mantra-section,.chant-section){gap:35px;padding-inline:15px}.portrait-reference{margin-inline:15px}}
@media(max-width:760px){
 .selection-grid .portrait-card{height:auto!important;aspect-ratio:4/5}
 .visit-picture{width:100%;max-width:400px;margin-inline:auto;padding:10px 0}
 .visit-picture figcaption{font-size:12px;margin-top:16px}
 .deity-description,:is(.mantra-section,.chant-section){grid-template-columns:1fr;gap:27px;padding:34px 0}
 .deity-description{margin-top:35px}
 .description-heading h2{font-size:25px;margin-top:9px}
 .description-sections h3{font-size:21px;margin-bottom:12px}
 .description-sections p{font-size:15px;line-height:2.15}
 :is(.mantra-section,.chant-section){padding:28px 22px;margin-inline:-10px}
 :is(.mantra-text,.chant-text){font-size:23px;line-height:2.1;letter-spacing:.04em}
 .portrait-reference{margin-inline:0}
 .quiet-center{padding:10px 20px 22px}
 .quiet-center h1{font-size:27px;margin-top:20px;letter-spacing:.04em}
 .quiet-center rt{font-size:11px;letter-spacing:.02em}
 .quiet-portrait{width:min(280px,76vw);margin-top:25px}
 .quiet-message{font-size:20px;margin-top:24px;letter-spacing:.1em}
 :is(.quiet-mantra,.quiet-chant){padding:17px 12px 15px;margin-top:24px}
 :is(.quiet-mantra,.quiet-chant) :is(.mantra-text,.chant-text){font-size:21px}
 .quiet-bottom{font-size:12px;padding:14px 24px 25px}
 .quiet-top{padding:19px 6%}
}

.chant-text>span{margin-right:0}
.chant-text rt{font-size:.48em;letter-spacing:.03em}

/* 構成尊を個別の作品として示す。伝統的な配置を模した合成画にはしない。 */
.visit-picture.has-collection .portrait-frame{aspect-ratio:auto;background:transparent;padding:0;border:0;box-shadow:none}
.portrait-collection{width:100%}.portrait-collection-group+.portrait-collection-group{margin-top:2rem}
.collection-label{font-size:.85rem;letter-spacing:.08em;margin:0 0 1rem;color:var(--muted,#666)}
.collection-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem .7rem}
.collection-members a,.collection-members figure{min-width:0;margin:0;text-align:center;text-decoration:none}
.collection-members .figure-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;border-radius:3px}
.collection-members .figure-open:focus-visible{outline:3px solid #8b6a3d;outline-offset:5px}
.collection-members .figure-open .deity-art{display:block}
.figure-enlarge{position:absolute;right:6px;bottom:6px;background:#faf5e9ec;color:#423c2e;border:1px solid #b3a17d;padding:2px 7px;font:11px/1.7 sans-serif;border-radius:2px}
.figure-name,.figure-reading{display:block;overflow-wrap:anywhere}
.figure-name{font-size:14px;line-height:1.8}
.figure-reading{font-size:11px;line-height:1.8;color:#6b6559}
.collection-members .figure-visit{display:inline-block;margin-top:6px;text-decoration:underline;text-underline-offset:3px;font-size:11px;line-height:2}
.collection-members .figure-visit>span{display:inline;margin:0;font:inherit}
.has-figure-dialog{overflow:hidden}
.figure-dialog{width:min(660px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;border:1px solid #a6987e;border-radius:4px;background:#f7f3e9;color:#322f26;box-shadow:0 24px 100px #0006;overflow:auto}
.figure-dialog::backdrop{background:#151c19cf}
.figure-close{display:block;margin:0 0 12px auto;min-height:44px;border:1px solid #b7aa92;background:#f7f3e9;color:inherit;padding:8px 18px;cursor:pointer}
.figure-dialog-body>h2{text-align:center;margin:0 0 16px;font-weight:400}
.figure-dialog-body>h2 .figure-name{font-size:24px}.figure-dialog-body>h2 .figure-reading{font-size:13px}
.figure-dialog-body>img{display:block;width:100%;height:auto;max-height:70dvh;object-fit:contain;background:#e9e2d4}
.figure-evidence{margin-top:20px;font-size:12px;line-height:1.9}.figure-evidence summary{cursor:pointer}.figure-evidence a{display:block;margin-top:10px;overflow-wrap:anywhere}
.collection-members .deity-art{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#e9e3d7;border-radius:2px}
.collection-members a>span,.collection-members figcaption{display:block;font-size:.72rem;line-height:1.7;letter-spacing:.01em;margin:.4rem 0 0;padding:0;color:inherit;overflow-wrap:anywhere}
.quiet-portrait.has-collection{width:min(720px,90vw);max-width:none}
.collection-quiet .collection-members{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem .6rem}
.catalog-thumb{position:relative}.collection-mosaic{height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.catalog-thumb .collection-mosaic .deity-art{height:100%;width:100%;object-fit:cover}
.collection-count{position:absolute;bottom:.3rem;right:.35rem;padding:.1rem .4rem;background:#f5f0e7e8;font-size:.65rem;letter-spacing:.03em;color:#3f463f}
.chant-text ruby{ruby-position:over}.chant-text rt{font-size:.5em;letter-spacing:.04em}
@media(max-width:600px){.collection-quiet .collection-members{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-members{gap:.8rem .5rem}.chant-text{line-height:2.8}}
.visit-picture.has-collection-preview .portrait-frame{aspect-ratio:1;background:transparent;padding:0;border:0;box-shadow:none}
.has-collection-preview .collection-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));height:100%;gap:5px}
.has-collection-preview .collection-mosaic .deity-art{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.has-collection-preview .collection-count{bottom:12px;right:12px;font-size:12px;padding:3px 9px}
.collection-detail{padding:38px 0 50px;border-top:1px solid var(--line)}
.collection-detail h2{font-size:27px;font-weight:400;margin:10px 0}.collection-intro{font-size:13px;color:var(--muted);margin-bottom:28px}
.collection-detail .collection-members{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 18px}
.collection-detail .collection-members.collection-few,.collection-quiet .collection-members.collection-few{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-width:840px;margin-inline:auto}
.collection-detail .collection-members a>span{font-size:12px}.collection-detail .collection-label{margin-top:24px}
@media(max-width:760px){.collection-detail .collection-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px}.collection-detail h2{font-size:24px}.collection-detail .collection-members a>span{font-size:11px}}
@media(max-width:600px){.collection-detail .collection-members,.collection-quiet .collection-members,.collection-detail .collection-members.collection-few,.collection-quiet .collection-members.collection-few{grid-template-columns:repeat(2,minmax(0,1fr))}.figure-dialog{padding:14px}.figure-name{font-size:13px}.figure-reading{font-size:10px}}

/* 出典ごとの真言を個別に示し、折り畳まずすべて読むことができる。 */
.mantra-body{min-width:0}
.mantra-variant+.mantra-variant{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}
.mantra-variant-title{font:15px/1.9 var(--sans);letter-spacing:.03em;color:#56634e;margin-bottom:14px;overflow-wrap:anywhere}
.mantra-variant .mantra-text{margin-bottom:12px}
.mantra-variant-note{font:12px/2 var(--sans);color:var(--muted);margin-bottom:12px}
.mantra-body>.mantra-note{margin-top:25px}
.quiet-mantra .mantra-variant+.mantra-variant{border-color:#bdc7ad40;margin-top:23px;padding-top:23px}
.quiet-mantra .mantra-variant-title{color:#e4dcc3;font-size:14px;line-height:1.9;margin-bottom:10px;letter-spacing:.05em}
.quiet-mantra .mantra-attribution{font:11px/1.8 var(--sans);color:#ced4c3;margin-top:12px;overflow-wrap:anywhere}
.quiet-multiple .quiet-top{position:sticky;top:0;z-index:5;background:#1d352ef0;backdrop-filter:blur(8px)}
@media(max-width:760px){.mantra-variant-title{font-size:14px}.quiet-mantra .mantra-variant-title{font-size:13px}.quiet-multiple .quiet-top{gap:10px}.quiet-multiple .quiet-exit{padding-inline:12px}}
