/* Artwork is always contained in its natural ratio. Hex accents sit beside captions. */
.portrait-window::before,.portrait-window::after{display:none!important}
figure.portrait-shell{overflow:visible!important;background:transparent!important;clip-path:none!important;mask:none!important}
.portrait-shell .portrait-window{display:block;position:relative;width:100%;height:auto;aspect-ratio:auto;padding:0;max-height:none;min-height:0;background:transparent;overflow:visible}
.portrait-shell .portrait-window>img{position:static;display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:620px!important;object-fit:contain!important;aspect-ratio:auto!important;background:transparent!important;margin:0 auto!important;border:0!important;clip-path:none!important;mask:none!important}
.bio-portrait.portrait-shell{max-width:440px;padding:0!important;margin:0 auto 24px}
.ozone-portrait.portrait-shell{display:block;max-width:340px;width:100%;height:auto!important;padding:0!important;margin-inline:auto}
.portrait-shell figcaption{padding:14px 0!important;font:400 12px/1.7 var(--sans);color:var(--muted);display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}
.portrait-shell figcaption::before{content:'';display:inline-block;flex:0 0 14px;width:14px;height:16px;background:var(--forest,#315c37);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
/* One quiet image area for square portraits, full figures and characters without art. */
[data-kind="characters"] .index-card>a{align-items:stretch}
.index-card .portrait-card-frame{display:block;width:100%;margin:0 0 22px!important;padding:0!important;border:0;background:transparent!important}
.index-card .portrait-card-frame .portrait-window,.character-initials{display:block;position:relative;width:100%;height:auto;aspect-ratio:1;max-height:none;padding:0;overflow:hidden;background:transparent}
.index-card .portrait-card-frame .portrait-window>img{position:absolute;inset:12px;width:calc(100% - 24px)!important;height:calc(100% - 24px)!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center;aspect-ratio:auto!important;margin:0!important;background:transparent!important}
.character-initials{display:grid;place-items:center;margin-bottom:22px;color:var(--muted);font:500 clamp(3rem,6vw,5rem)/1 var(--display);border-bottom:1px solid var(--border);opacity:.65}
.index-card .cover-date{font:500 12px/1.7 var(--sans)!important;color:var(--ink)!important;margin:0 0 14px!important;white-space:normal}
.index-card .card-excerpt,.index-card .card-prompt{display:block!important;overflow:visible!important;max-height:none!important;-webkit-line-clamp:unset!important;line-clamp:unset!important}
.index-card .arrow-link{padding-top:10px}
.browse-context{display:flex;gap:12px 24px;flex-wrap:wrap;align-items:baseline;margin:20px 0;line-height:1.8;font-size:13px}
.browse-context a{text-decoration:underline;text-underline-offset:3px}
.archive-summary-section{margin-top:36px;border-top:1px solid var(--border);padding-top:24px}
.night-reading .portrait-shell figcaption::before{background:#b3d29c}
.night-reading .index-card{background:var(--paper,#17271f);color:var(--ink,#edf2e5)}
.night-reading .index-card .cover-date,.night-reading .character-initials{color:var(--ink,#edf2e5)!important}
@media(max-width:700px){.portrait-shell .portrait-window>img{max-height:480px!important}.bio-portrait.portrait-shell{max-width:360px}.ozone-portrait.portrait-shell{max-width:300px}.index-card .portrait-card-frame .portrait-window>img{max-height:none!important}.browse-context{display:block}.browse-context span{display:block}.browse-context>a{display:inline-block;margin:4px 18px 4px 0}.directory-filters label:not(:first-child){flex:1 1 100%;min-width:0}.directory-filters button{flex:1 1 calc(50% - 8px)}}
@media print{.portrait-shell figcaption::before{display:none}}
