/* V8 — individual spaces, restrained editorial layout, original character system. */
.visual-v8 .jp-v8-source{font-size:10px;border-top:1px solid #e1e1e1;margin-top:7px;padding-top:7px;color:#777}
.visual-v8 .jp-v8-source summary{cursor:pointer;list-style:none}
.visual-v8 .jp-v8-source p{line-height:1.8;margin-top:10px;color:#555}
.visual-v8 .jp-v8-source a{text-decoration:underline;text-underline-offset:3px}
.visual-v8 .jp-v8-popup-spread{display:grid;grid-template-columns:22% minmax(0,1fr);gap:3%;margin-bottom:44px}
.visual-v8 .jp-v8-popup-spread aside>span,.visual-v8 .jp-v8-reference-detail>div>span{font-size:10px;color:#777;letter-spacing:.08em}
.visual-v8 .jp-v8-popup-spread h3{font-size:27px;font-weight:500;margin:15px 0}
.visual-v8 .jp-v8-popup-spread p{font-size:12px;line-height:1.9;margin-top:14px}
.visual-v8 .jp-v8-popup-spread .jp-v8-popup-brief{font-size:11px;color:#777;margin:0 0 23px;padding-bottom:17px;border-bottom:1px solid #bbb}
.visual-v8 .jp-v8-secondary-brands{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aaa;padding-top:30px}
.visual-v8 .jp-v8-lines,.visual-v8 .jp-v8-node-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.visual-v8 .jp-v8-lines>div,.visual-v8 .jp-v8-node-notes>div{border-top:1px solid #aaa;padding-top:17px}
.visual-v8 .jp-v8-node-notes{margin:26px 0 0 25%}
.visual-v8 .jp-v8-node-notes span{font-size:10px;letter-spacing:.08em;color:#777}
.visual-v8 .jp-v8-lines h3,.visual-v8 .jp-v8-node-notes h3{font-size:17px;margin:10px 0 12px}
.visual-v8 .jp-v8-lines p,.visual-v8 .jp-v8-node-notes p{font-size:12px;line-height:1.9}
.visual-v8 .jp-v8-budget-note{margin-left:25%}
.visual-v8 .jp-v8-character-sheet>button{background:#fff;aspect-ratio:16/9;max-height:none}
.visual-v8 .jp-v8-character-sheet img{object-fit:contain!important}
.visual-v8 .jp-v8-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:24px 0 18px;border-block:1px solid #bbb}
.visual-v8 .jp-v8-role-tabs button{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid #ddd;background:#fff;color:#666;padding:12px 5px;font-size:14px;cursor:pointer}
.visual-v8 .jp-v8-role-tabs button:nth-child(n+3){border-bottom:0}
.visual-v8 .jp-v8-role-tabs button span{font-size:10px;font-weight:400;color:#888}
.visual-v8 .jp-v8-role-tabs button[aria-pressed=true]{color:#111;font-weight:600;box-shadow:inset 0 -2px 0 var(--jp-role-color,#284566)}
.visual-v8 .jp-v8-character-copy{border-left:2px solid var(--jp-role-color,#284566);padding-left:16px;min-height:210px}
.visual-v8 .jp-v8-character-copy>span{font-size:10px;color:#777}
.visual-v8 .jp-v8-character-copy h3{font-size:24px;margin:12px 0}
.visual-v8 .jp-v8-character-copy p{font-size:12px;line-height:1.85}
.visual-v8 .jp-v8-character-copy dl{display:grid;grid-template-columns:55px 1fr;gap:9px 10px;font-size:11px;line-height:1.7;margin-top:16px}
.visual-v8 .jp-v8-character-copy dt{color:#777}
.visual-v8 .jp-v8-character-copy dd{margin:0}
.visual-v8 .jp-v8-real-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.visual-v8 .jp-v8-real-pair .jp-photo>button{aspect-ratio:3/2;max-height:none}
.visual-v8 .jp-v8-real-pair h3{font-size:20px;font-weight:500;border-top:1px solid #bbb;padding-top:16px;margin:18px 0 9px}
.visual-v8 .jp-v8-real-pair p{font-size:12px;line-height:1.8}
.visual-v8 .jp-v8-reference-detail{display:grid;grid-template-columns:22% minmax(0,1fr);gap:3%;margin-top:35px}
.visual-v8 .jp-v8-reference-detail h3{font-size:21px;margin:15px 0}
.visual-v8 .jp-v8-reference-detail p{font-size:12px;line-height:1.9}
.visual-v8 #jiabang-music-benchmark .jp-photo>button{max-height:calc(100svh - 370px)}
.visual-v8 .jp-v8-ritual-reference{display:grid;grid-template-columns:22% minmax(0,1fr);gap:3%;margin-top:40px}
.visual-v8 .jp-v8-ritual-reference .jp-photo>button{max-height:570px;aspect-ratio:16/10;background:#f7f7f5}
.visual-v8 .jp-v8-ritual-reference .jp-photo img{object-fit:contain}
.visual-v8 .jp-v8-ritual-reference aside>span{font-size:10px;color:#777}
.visual-v8 .jp-v8-ritual-reference h3{font-size:21px;margin:16px 0}
.visual-v8 .jp-v8-ritual-reference p{font-size:12px;line-height:1.9;margin:16px 0}
.visual-v8 .jp-v8-ritual-reference small{font-size:10px;color:#777;line-height:1.7}
.visual-v8 .jp-v8-detail{margin-top:22px}
.visual-v8 .jp-v8-detail>p{font-size:12px;line-height:1.9;margin:17px 0}
@media(min-width:681px) and (max-width:1350px){
 .visual-v8 .jp-section{padding-top:12px!important;padding-bottom:18px!important}
 .visual-v8 .jp-heading{padding-top:12px;margin-bottom:20px!important}
}
@media(max-width:680px){
 .visual-v8 .jp-v8-popup-spread,.visual-v8 .jp-v8-reference-detail,.visual-v8 .jp-v8-ritual-reference{display:flex;flex-direction:column-reverse;gap:18px;margin-bottom:28px}
 .visual-v8 .jp-v8-popup-spread h3{font-size:25px}
 .visual-v8 .jp-v8-lines,.visual-v8 .jp-v8-node-notes{display:block;margin-left:0}
 .visual-v8 .jp-v8-lines>div,.visual-v8 .jp-v8-node-notes>div{margin-bottom:20px}
 .visual-v8 .jp-v8-budget-note{margin-left:0}
 .visual-v8 .jp-v8-secondary-brands,.visual-v8 .jp-v8-real-pair{display:block}
 .visual-v8 .jp-v8-real-pair article{margin-bottom:28px}
 .visual-v8 .jp-v8-character-copy{min-height:0}
 .visual-v8 .jp-v8-character-sheet>button{aspect-ratio:16/9}
 .visual-v8 .jp-v8-ritual-reference .jp-photo>button{max-height:none;aspect-ratio:4/3}
 .visual-v8 #jiabang-music-benchmark .jp-photo>button{max-height:none}
 .visual-v8 .jp-v8-source{font-size:10px}
}
@media print{.visual-v8 .jp-v8-source summary{display:none}.visual-v8 .jp-v8-source>p{display:block}.visual-v8 .jp-v8-character-copy{min-height:0}.visual-v8 .jp-v8-popup-spread,.visual-v8 .jp-v8-ritual-reference{break-inside:avoid}}
