.bgo { --bgo-paper: #e8e3d7; --bgo-ink: #39362f; --bgo-card-ratio: 3 / 4; --bgo-gap: clamp(.75rem, 2.3vw, 2rem); max-width: 64rem; margin: 2rem auto 4rem; color: inherit; }
.bgo [hidden] { display: none !important; }
.bgo button, .bgo summary { border: 0; border-radius: 0; background: none; box-shadow: none; color: inherit; cursor: pointer; font: inherit; font-size: .8rem; letter-spacing: .09em; padding: .55rem .2rem; line-height: 1.5; }
.bgo button:hover, .bgo summary:hover { text-decoration: underline; text-underline-offset: .25em; }
.bgo button:disabled { opacity: .5; cursor: wait; }
.bgo :is(button, input, summary, a):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.bgo .bgo-setup { display: grid; justify-content: center; gap: .9rem; margin: 1.4rem auto; max-width: 30rem; }
.bgo label { font-size: .95rem; }
.bgo input[type="checkbox"] { width: auto; margin-inline-end: .4rem; accent-color: var(--bgo-ink); }
.bgo .bgo-question { display: block; margin-top: .7rem; }
.bgo .bgo-question span { opacity: .65; }
.bgo .bgo-question input { display: block; box-sizing: border-box; width: 100%; margin-top: .5rem; background: transparent; color: inherit; border: 1px solid #a9a396; padding: .65rem; font: inherit; }
.bgo .bgo-region { margin-top: 1.8rem; text-align: center; }
.bgo .bgo-region h2 { margin: 0 0 .8rem; font: inherit; font-size: .95rem; letter-spacing: .22em; font-weight: normal; }
.bgo .bgo-helper { margin: 0 auto .8rem; font-style: italic; font-size: .95rem; }
.bgo .bgo-aspect-text { padding: 0; border: 0; background: none; margin: .6rem 0 0; max-width: 40rem; font-family: Georgia, serif; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.5; font-style: normal; white-space: pre-wrap; overflow-wrap: anywhere; }
.bgo .bgo-aspect-text::before, .bgo .bgo-aspect-text::after { content: none; }
.bgo .bgo-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bgo-gap); }
.bgo figure { margin: 0; min-width: 0; text-align: center; }
.bgo .bgo-card { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: var(--bgo-card-ratio); padding: clamp(.65rem, 1.3vw, 1.1rem); background: var(--bgo-paper); border: 1px solid #c4bcac; text-decoration: none; }
.bgo .bgo-card img { display: block; box-sizing: border-box; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; border: 1px solid var(--bgo-ink); margin: 0; padding: 0; }
.bgo figcaption { margin: 0 0 .85rem; font-size: .95rem; }
.bgo .bgo-master-image { width: calc((100% - 2 * var(--bgo-gap)) * .375); max-width: 23rem; margin-inline: auto; }
.bgo .bgo-redraw { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem 2rem; margin-top: 2rem; }
.bgo .bgo-redraw > button { font-size: 1rem; letter-spacing: .18em; border-block: 1px solid #a9a396; padding-inline: .8rem; }
.bgo .bgo-status { margin-top: 1.5rem; text-align: center; font-size: .8rem; opacity: .75; }
.bgo .bgo-status--quiet { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
/* This element exists only in Oracle PhotoSwipe sessions, outside the Page DOM. */
.pswp .pswp__bgo-label { position: absolute; top: 56px; left: 56px; right: 56px; z-index: 10; margin: 0; color: #fff; font: 1rem/1.5 Georgia, serif; letter-spacing: .12em; text-align: center; pointer-events: none; }
@media (max-width: 600px) {
	.bgo .bgo-cards { grid-template-columns: 1fr; gap: 1.8rem; max-width: 20rem; margin-inline: auto; }
	.bgo .bgo-master-image { width: 100%; max-width: 22rem; }
}

.bgo .bgo-local-heading { display: flex; align-items: baseline; justify-content: center; gap: 1rem; margin-bottom: .5rem; }
.bgo .bgo-local-heading h2 { margin: 0; }
.bgo .bgo-local-heading button { font-size: .65rem; padding-block: .2rem; }
.bgo .bgo-aspect { text-align: left; padding-left: 1rem; border-left: 1px solid #a9a396; }
.bgo .bgo-aspect .bgo-local-heading { justify-content: flex-start; }
.bgo .bgo-aspect .bgo-helper { margin: 0; font-size: .85rem; }
.bgo .bgo-redraw [data-action="new"] { border-color: transparent; font-size: .8rem; letter-spacing: .09em; }
@media (max-width: 600px) { .bgo .bgo-redraw { flex-direction: column; align-items: center; } }
