.character-teaser{padding-top:80px;padding-bottom:100px;border-top:1px solid var(--line)}
.character-teaser-intro{font-size:15px;color:var(--muted);line-height:1.9;margin:-16px 0 37px;max-width:760px}
.character-teaser-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.character-entry{display:grid;grid-template-columns:1.15fr 1fr;gap:68px;align-items:center;padding:44px 0;margin:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.character-entry-copy h2{font-family:var(--serif);font-size:35px;line-height:1.5;margin-top:14px}
.character-entry-copy>p{font-size:14px;line-height:1.9;color:var(--muted);max-width:530px;margin-top:18px}
.character-entry-copy>.text-link{margin-top:20px}
.character-entry-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;min-width:0}
.character-entry-portraits>.character-cover:nth-child(2){margin-top:25px}
.character-entry-number{position:absolute;bottom:10px;left:12px;background:var(--paper);font-family:Arial,sans-serif;font-size:11px;padding:5px 8px;z-index:2}
.character-index-heading .page-heading-row{align-items:start}
.character-index-heading h1{font-size:clamp(52px,5.3vw,86px)}
.character-index-heading .page-heading-row>p{font-size:16px;max-width:335px;padding-top:12px}
.character-stats{display:flex;gap:31px;align-items:center;margin-top:35px;padding-top:23px;border-top:1px solid #aab943;font-size:12px}
.character-stats>span:last-child{margin-left:auto;font-family:Arial,var(--sans);font-size:11px}
.character-collection{padding-top:42px;padding-bottom:75px;scroll-margin-top:100px}
.character-collection-top{display:flex;align-items:center;gap:27px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.character-search{display:flex;align-items:center;gap:17px;margin-left:auto;font-size:12px;color:var(--muted)}
.character-search input{width:320px;padding:11px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;font:inherit;font-size:14px;color:var(--ink)}
.character-search input:focus{outline:none;border-bottom-width:2px}
.character-search input::placeholder{color:#969b8c}
.character-selected-filter{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);white-space:nowrap}
.character-selected-filter input{accent-color:var(--ink);width:14px;height:14px;margin:0}
.character-selected-filter>span{font-size:11px;font-family:Arial,sans-serif}
.character-tag-filters{padding:26px 0 21px;border-bottom:1px solid var(--line)}
.character-filter-row{display:flex;align-items:center;gap:21px;min-height:38px;margin-bottom:8px;font-size:12px}
.character-filter-row:last-child{margin-bottom:0}
.character-filter-row>span{width:41px;flex-shrink:0;color:var(--muted)}
.character-filter-row>div{display:flex;gap:8px;flex-wrap:wrap}
.character-filter-row button{border:1px solid var(--line);padding:7px 13px;background:transparent;font-size:12px;color:var(--muted);transition:background .2s}
.character-filter-row button:hover{border-color:var(--ink);color:var(--ink)}
.character-filter-row button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.character-filter-row button>sup{font-family:Arial,sans-serif;font-size:10px;margin-left:7px}
.character-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;font-size:12px;color:var(--muted);line-height:1.8}
.character-filter-summary>button{font-size:12px;padding:5px 0;color:var(--muted);border-bottom:1px solid var(--line)}
.character-pagination{display:flex;justify-content:flex-end;align-items:center;gap:22px;padding:25px 0;font-size:12px}
.character-pagination>span{color:var(--muted);font-family:Arial,var(--sans);font-size:11px;font-variant-numeric:tabular-nums;min-width:180px;text-align:center}
.character-pagination>button{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}
.character-pagination>button:disabled{opacity:.35}
.character-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:38px 21px}
.character-grid .character-card h2{font-size:21px;min-height:3em}
.character-grid .character-card-meta{gap:8px;margin-top:13px;font-size:9px}
.character-grid .character-card-tags{margin-top:10px;gap:5px 8px}
.character-grid .character-card-choice{margin-top:13px}
.character-card{min-width:0}
.character-cover{display:block;position:relative;width:100%;min-width:0;aspect-ratio:var(--character-ratio,8/9);background:#e8e9df;overflow:hidden;isolation:isolate}
.character-cover>img{display:block;position:absolute;left:0;top:0;width:200%;height:100%;max-width:none;object-fit:fill;transition:filter .3s}
.character-cover:hover>img{filter:brightness(.96)}
.character-cover-view{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:var(--lime);font-size:12px;transform:translateY(100%);transition:transform .25s;z-index:2}
.character-cover-view>svg{width:19px;height:19px}
.character-cover:hover>.character-cover-view,.character-cover:focus-visible>.character-cover-view{transform:translateY(0)}
.character-chosen-marker{position:absolute;left:12px;top:12px;z-index:2;background:var(--lime);color:var(--ink);font-size:11px;padding:5px 8px}
.character-card.is-chosen>.character-cover{outline:3px solid var(--lime);outline-offset:-3px}
.character-card-meta{display:flex;justify-content:space-between;align-items:start;gap:12px;font-size:10px;color:var(--muted);line-height:1.7;margin-top:17px}
.character-card-meta>span:first-child{font-family:Arial,sans-serif;letter-spacing:.045em;white-space:nowrap}
.character-card-meta>span:last-child{text-align:right}
.character-card h2{font-family:var(--serif);font-size:24px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}
.character-card h2:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.character-card-tags{display:flex;gap:6px 10px;flex-wrap:wrap;margin-top:14px;font-size:11px;color:var(--muted);line-height:1.6}
.character-card-tags>button,.character-card-tags>span{border-bottom:1px solid var(--line);font-size:11px;padding:0 0 3px}
.character-card-tags>button:hover{border-color:var(--ink);color:var(--ink)}
.character-card-choice{margin-top:17px;display:flex;justify-content:flex-end}
.character-choice{font-size:11px;border:1px solid var(--line);padding:7px 11px;background:transparent;transition:background .2s;white-space:nowrap}
.character-choice:hover{border-color:var(--ink)}
.character-choice[aria-pressed=true]{background:var(--lime);border-color:var(--lime)}
.character-pagination-bottom{padding-top:42px;justify-content:center}
.character-empty{text-align:center;padding:80px 20px}
.character-empty h2{font-family:var(--serif);font-size:28px}
.character-empty>p{font-size:14px;color:var(--muted);margin-top:18px;line-height:1.9}
.character-empty>button{background:var(--lime);padding:12px 20px;font-size:14px;margin-top:22px}
.character-state-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:37px}
.character-state-tools>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:17px 0;font-size:12px;color:var(--muted);cursor:pointer}
.character-state-tools>summary::-webkit-details-marker{display:none}
.character-state-tools>summary>span{font-size:17px;transition:transform .2s}
.character-state-tools[open]>summary>span{transform:rotate(45deg)}
.character-state-tools>div{display:flex;align-items:center;gap:25px;padding:8px 0 24px;font-size:12px}
.character-state-tools p{flex:1;color:var(--muted);line-height:1.8}
.character-state-tools button{font-size:12px;border-bottom:1px solid var(--ink);padding:8px 0;white-space:nowrap}
.character-collection-note{font-size:12px;color:var(--muted);line-height:1.9;margin-top:26px;max-width:1030px}
.character-detail-heading{padding-top:158px;padding-bottom:43px;background:var(--lime)}
.character-detail-heading .page-kicker{margin-bottom:43px}
.character-detail-heading h1{font-family:var(--serif);font-size:clamp(44px,4.6vw,77px);line-height:1.45;letter-spacing:-.035em;margin-top:17px;overflow-wrap:anywhere}
.character-detail-byline{display:flex;align-items:center;gap:26px;font-size:13px;color:#535d2e;margin-top:23px}
.character-ai-label{margin-left:auto;font-size:12px}
.character-detail-content{padding-top:37px;padding-bottom:48px;max-width:1800px;margin:0 auto}
.character-detail-tags-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}
.character-detail-tags{display:flex;flex-wrap:wrap;gap:9px 14px}
.character-detail-tags>span{border-bottom:1px solid var(--line);padding-bottom:5px;font-size:12px;color:var(--muted)}
#character-edit-tags{font-size:12px;padding:8px 0;border-bottom:1px solid var(--ink);white-space:nowrap}
.character-tag-editor{padding:24px 29px;background:#eff0e5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:27px}
.character-tag-editor fieldset{display:flex;gap:28px;align-items:start;border:0;padding:0;margin:0 0 16px;min-width:0}
.character-tag-editor legend{float:left;width:42px;flex-shrink:0;font-size:12px;color:var(--muted);padding:0;line-height:1.9}
.character-tag-editor fieldset>div{display:flex;flex-wrap:wrap;gap:12px 21px;font-size:12px;line-height:1.9}
.character-tag-editor label{display:flex;align-items:center;gap:8px}
.character-tag-editor input{accent-color:var(--ink);margin:0;width:14px;height:14px}
.character-tag-editor-actions{display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}
.character-tag-editor-actions>button{font-size:12px;padding:9px 14px}
#character-save-tags{background:var(--ink);color:var(--lime)}
#character-reset-tags{margin-left:auto;color:var(--muted)}
.character-model-tabs{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:23px}
.character-model-tabs-inner{display:flex;gap:15px}
.character-model-tabs>span{font-size:12px;color:var(--muted)}
.character-model-tab{display:flex;align-items:center;gap:15px;min-width:245px;padding:8px;border:1px solid var(--line);background:transparent;text-align:left}
.character-model-tab>img{width:110px;height:62px;max-width:110px;object-fit:contain;flex-shrink:0;background:#e5e7da}
.character-model-tab>span{display:flex;flex-direction:column;gap:7px;padding-right:10px}
.character-model-tab strong{font-family:Arial,var(--sans);font-size:12px;font-weight:400;white-space:nowrap}
.character-model-tab small{font-size:11px;color:var(--muted)}
.character-model-tab[aria-selected=true]{border-color:var(--ink);background:#eff0e5;box-shadow:inset 0 -3px 0 var(--lime)}
.character-full-frame{position:relative;display:flex;align-items:center;justify-content:center;min-height:160px;background:#e7e9df;overflow:hidden}
.character-full-frame>.character-full-image{display:block;flex:0 1 auto;position:static;width:auto;height:auto;max-width:100%;max-height:min(66vh,780px);object-fit:contain}
.character-full-frame>p{position:absolute;left:25px;right:25px;bottom:25px;font-size:13px;background:var(--paper);padding:13px 18px;text-align:center}
.character-full-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:18px;font-size:12px;line-height:1.8}
.character-full-figure figcaption>span{color:var(--muted)}
.character-full-figure figcaption>div{display:flex;align-items:center;gap:25px}
.character-full-figure figcaption a{border-bottom:1px solid var(--line);padding-bottom:3px;white-space:nowrap}
.character-choice-detail{font-size:12px;padding:8px 13px}
.character-prompt-section{padding-top:56px;margin-top:50px;border-top:1px solid var(--line)}
.character-prompt-heading{display:flex;align-items:end;gap:25px;justify-content:space-between;margin-bottom:25px}
.character-prompt-heading h2{font-family:var(--serif);font-size:34px;margin-top:10px}
.character-prompt-heading>span{font-size:11px;color:var(--muted);margin-left:auto;white-space:nowrap;padding-bottom:6px}
.character-prompt-heading>div:last-child{display:flex;align-items:center;gap:27px;font-size:12px;padding-bottom:3px}
.character-prompt-heading button,.character-prompt-heading a{font-size:12px;border-bottom:1px solid var(--ink);padding:7px 0;white-space:nowrap}
.character-prompt-heading button:disabled{opacity:.4}
#character-prompt-text{padding:32px 36px;background:#eff0e5;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--sans);font-size:15px;line-height:2;margin:0;max-height:690px;overflow:auto;overscroll-behavior:contain}
.character-prompt-note{font-size:12px;color:var(--muted);line-height:1.9;margin-top:20px}
.character-detail-navigation{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:28px;padding-bottom:45px;font-size:13px}
.character-detail-navigation>span{font-size:12px;color:var(--muted)}
.character-detail-navigation>div{display:flex;gap:30px}
.character-detail-navigation a{padding:8px 0}
.character-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,12px);background:var(--ink);color:var(--paper);padding:13px 23px;font-size:13px;opacity:0;visibility:hidden;z-index:50;transition:opacity .2s,transform .2s;pointer-events:none;white-space:nowrap}
.character-toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
[data-character-root] [hidden]{display:none!important}
@media(max-width:1440px){.character-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1250px){.character-grid{gap:34px 18px}.character-grid .character-card h2{font-size:19px}.character-card h2{font-size:22px}.character-entry{gap:43px}.character-index-heading .page-heading-row>p{max-width:260px}.character-stats{gap:23px}.character-stats>span:last-child{font-size:10px}.character-search input{width:260px}.character-collection-top{gap:23px}.character-model-tab{min-width:225px}.character-model-tabs>span{font-size:11px}.character-full-figure figcaption>div{gap:18px}}
@media(max-width:1100px){.character-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.character-cover>img,.character-cover-view,.character-toast{transition:none}}
