/* Conversation refinements: keep the library's established typography and layout. */
.conversation-work { color: var(--ink); }
.conversation-preferences { padding: 12px 20px; border-bottom: 1px solid var(--line); background: #f0f3e8; }
.conversation-preferences p { margin: 0 0 6px; font-size: .75rem; font-weight: 700; }
.conversation-preferences ul { display: flex; flex-wrap: wrap; gap: 5px 10px; margin: 0; padding: 0; list-style: none; }
.conversation-preferences li { border: 1px solid #c7d1bb; border-radius: 12px; padding: 3px 9px; font-size: .72rem; overflow-wrap: anywhere; }
.conversation-reasons { margin: 10px 0 0; padding: 10px 0 0 16px; border-top: 1px dashed var(--line); font-size: .72rem; color: var(--forest); }
.conversation-reasons li { margin-bottom: 3px; }

/* v0.6.17 character directory: original portraits and title artwork. */
.character-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.character-directory .character-card{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fffaf1;box-shadow:0 5px 14px #71573c08}
.character-portrait-link{display:block;border-radius:12px;text-decoration:none;color:inherit}
.character-portrait-link:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
.character-portrait{margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;height:244px;min-width:0;background:linear-gradient(160deg,#edf0e3,#f8f1e3);border-radius:110px 110px 12px 12px;padding:12px 10px 0;overflow:hidden}
.character-portrait img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center bottom}
.character-portrait img[hidden]{display:none}
.character-portrait figcaption{padding:5px 2px;font-size:.68rem;line-height:1.6;color:var(--muted);text-align:center}
.character-portrait-title{border-radius:12px;background:#eae4d9;padding:8px}
.character-portrait-title img{object-position:center}
.character-portrait-silhouette{background:linear-gradient(160deg,#e5e3db,#f1eee5)}
.character-portrait-empty{grid-template-rows:1fr auto;padding:25px 10px;color:var(--muted)}
.portrait-empty-mark{font-size:3rem;font-family:var(--serif);opacity:.45}
.portrait-fallback{font-size:.72rem;text-align:center;line-height:1.7}
.character-card-copy{min-width:0;padding-top:16px;flex:1;overflow-wrap:anywhere}
.character-directory .character-entry h2{font-size:1.03rem;line-height:1.7;margin:0 0 9px}
.character-directory .character-entry p{font-size:.8rem;line-height:1.85;margin:8px 0}
.character-directory .character-entry .small{font-size:.72rem}
.character-card-profile{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.character-directory .character-card>.bookmark-button{margin-top:10px;align-self:flex-start;max-width:100%;font-size:.75rem}
.character-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px}
.character-filters .field{min-width:0;flex:1 1 180px}
.character-filters .field.search-field{flex:1 1 100%}
.character-filters select{width:100%;max-width:100%}
.character-list-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 20px}
.character-list-toolbar p{margin:0}
.character-list-toolbar .checkbox-label{font-size:.76rem}
.character-quiz-results{padding-left:0;list-style:none}
.character-quiz-results>li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;align-items:start}
.character-quiz-results .character-portrait{height:190px}
.character-quiz-results h3{line-height:1.7}
.character-detail-portrait{max-width:420px;margin:0 auto 24px}
.character-detail-portrait .character-portrait{height:340px}
.character-detail-portrait .character-portrait-title{height:270px}
.conversation-work .character-portrait{height:175px;margin:0 0 12px}
@media(max-width:900px){.character-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.character-directory{gap:12px}.character-directory .character-card{padding:10px;border-radius:12px}.character-portrait{height:178px;padding:8px 4px 0}.character-portrait figcaption{font-size:.6rem}.character-card-copy{padding-top:12px}.character-directory .character-entry h2{font-size:.86rem}.character-directory .character-entry p{font-size:.73rem}.character-directory .character-entry .small{font-size:.65rem}.character-directory .character-entry .bookmark-button{grid-column:auto;font-size:.66rem;padding:6px 8px;min-height:40px}.character-filters .field:not(.search-field){flex:1 1 100%}.character-filters .text-button{flex-basis:auto}.character-quiz-results>li{grid-template-columns:1fr;gap:15px}.character-quiz-results .character-portrait{height:235px;max-width:220px;width:100%;justify-self:center}.character-detail-portrait .character-portrait{height:285px}.character-detail-portrait .character-portrait-title{height:205px}.character-list-toolbar{gap:8px}.character-list-toolbar .checkbox-label{font-size:.72rem}.character-portrait-empty .portrait-fallback{font-size:.65rem}}

/* v0.6.19 original profile illustrations and protected silhouettes. */
.character-portrait-profile{border-radius:12px;padding:8px;background:#eae4d9}
.character-portrait-profile img{object-position:center}
.character-detail-portrait .character-portrait-profile{height:270px}
.character-portrait-silhouette img{filter:brightness(0)}
@media(max-width:650px){.character-detail-portrait .character-portrait-profile{height:205px}}

/* Nine destinations remain balanced when the lounge joins the main navigation. */
@media (max-width:1200px){.annex-nav>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.annex-nav a{min-width:0;white-space:normal}}
