:root{--color-indigo:#393D60;--color-ivory:#fffbeb;--color-black:#1a1a1a;--color-glaucous:#6a70a6;--color-muted:#9ea3c7;--font-family:monospace;--font-size-sm:0.875rem;--font-size-base:1.125rem;--font-size-lg:1.5rem;--font-size-xl:2rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:4rem}html{min-height:100%;padding:2rem;color:var(--color-ivory);font-family:var(--font-family);background:var(--color-indigo)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}body{margin:0;font-size:var(--font-size-base)}h1,h2,h3{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md)}hr{border:none;border-top:2px solid var(--color-ivory);margin:1rem 0}header{display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box}.back-button{font-size:var(--font-size-xl);cursor:pointer}.lang-dropdown{position:relative;display:inline-block}.lang-btn{background:0 0;border:none;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;gap:.4rem}.lang-btn svg{width:20px;height:20px;display:block;fill:var(--color-ivory)}.lang-btn .icon:last-child svg{width:14px;height:14px}.lang-btn .icon{display:inline-flex;align-items:center}.lang-btn:hover{opacity:.8}.lang-menu{position:absolute;top:100%;left:0;display:none;flex-direction:column;margin-top:.5rem}.lang-dropdown:hover .lang-menu,.lang-dropdown:focus-within .lang-menu{display:flex}.lang-item{padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);opacity:.8}.lang-item:hover{background:rgba(255,251,235,.1);text-decoration:underline}.lang-menu svg{width:25px;height:25px;display:block}.home-layout{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:1rem}.home-main{display:flex;justify-content:center;align-items:center;gap:3rem}.home-content{max-width:500px}.profile-image{max-height:50vh;max-width:100%;width:auto;border-radius:8px}.web-ring{margin-top:4rem;margin-bottom:2rem}@media(max-width:768px){.home-main{flex-direction:column-reverse;gap:1.5rem;width:100%}.home-content{max-width:100%}.profile-image{width:min(80vw,300px);max-height:40vh}.web-ring{margin-top:2rem;flex-wrap:nowrap;white-space:nowrap;justify-content:center;font-size:clamp(.9rem,2vw,1rem)}}.page-layout{padding:var(--spacing-xs)}.bookshelf-layout{display:flex;align-items:flex-start}.shelves{flex:none;white-space:nowrap;padding-right:var(--spacing-lg);margin-right:0}.shelves h4{margin-top:0;margin-bottom:var(--spacing-xs);font-size:inherit}.shelves ul{list-style:none;padding:0;margin:0}.shelves a:hover{color:var(--color-muted);text-decoration:none}.shelves a.active{color:var(--color-muted);pointer-events:none}.table-wrapper{flex:1;min-width:0}.data-table{table-layout:auto;width:100%;border-collapse:collapse}.data-table th{text-align:left;border-bottom:2px solid var(--color-ivory)}.data-table td{vertical-align:top;padding:var(--spacing-md)var(--spacing-sm)var(--spacing-sm)0;text-align:left;border-bottom:1px solid var(--color-ivory)}.book-cover{display:block;max-width:58px;max-height:138px;width:auto;height:auto}.review-text{padding-right:var(--spacing-sm);overflow:hidden}.review-text.collapsed{max-height:3.5em}.review-text.expanded{max-height:none}.review-toggle{background:0 0;border:none;cursor:pointer;padding:0;font:inherit;color:inherit}.col-cover{width:60px}.col-title{min-width:120px}.col-author{min-width:120px}.col-stars{width:90px;white-space:nowrap}.col-review{min-width:200px}.col-date{width:90px;white-space:nowrap}@media(max-width:1100px){.bookshelf-layout{flex-direction:column;gap:var(--spacing-md)}.bookshelf{padding:0}.col-review{min-width:160px}.col-title,.col-author{min-width:100px}}html:has(body.albums){background:#000}body.albums{margin:0;overflow:auto;scroll-behavior:auto}.album-page{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center}.album-image{max-width:90vw;max-height:90vh;object-fit:contain}@media(max-width:768px){.album-page{padding-top:var(--spacing-xl);display:block}.album-image{max-width:180vw;max-height:180vh}}.church-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-bottom:2rem}.church-card{background:var(--color-glaucous);border:1px solid var(--color-ivory);border-radius:12px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.church-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.pswp-gallery{position:relative}.church-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:pointer}.photo-count{position:absolute;right:.75rem;bottom:.75rem;background:var(--color-black);color:#fff;padding:.25rem .6rem;border-radius:999px;font-size:.8rem}.church-info{padding:1rem}.church-info h3{margin:0 0 .5rem;font-size:1.1rem}.location,.jurisdiction{margin:.3rem 0}.pswp-gallery{position:relative}.new-badge{position:absolute;top:.6rem;right:.6rem;width:45px;height:45px;z-index:2}.new-badge img{width:100%;height:100%;display:block;filter:drop-shadow(1px 0 0 var(--color-ivory))drop-shadow(-1px 0 0 var(--color-ivory))drop-shadow(0 1px 0 var(--color-ivory))drop-shadow(0 -1px 0 var(--color-ivory))}