.canon-page main{max-width:1280px;margin:auto;padding:0 5%}.canon-intro{max-width:840px;padding:30px 0 48px}.canon-intro h1{font-size:clamp(44px,5vw,72px);line-height:1.05;margin:16px 0 22px}.canon-intro>p:not(.eyebrow){font-size:23px;line-height:1.5}.canon-intro .canon-explainer{font-size:16px!important;max-width:740px;color:#5e675f}.canon-directory{display:grid;grid-template-columns:265px minmax(0,1fr);gap:40px;border-top:1px solid #cfd3c9;padding:32px 0 60px;align-items:start}.character-browser h2{font-size:24px;margin:0 0 22px}.character-browser label{display:block;font-size:13px;font-weight:600;margin:15px 0 7px}.character-browser input,.character-browser select{width:100%;min-width:0;padding:12px;border:1px solid #bdc7bb;background:#fffdf8;border-radius:5px;font:inherit;font-size:14px;color:#143e34}.character-count{font-size:12px;color:#5e675f;margin:18px 0 8px}.character-names{list-style:none;padding:0;margin:0;max-height:550px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b0b9aa transparent;border-top:1px solid #d7d9ce}.character-names li{border-bottom:1px solid #dedfd5}.character-names a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 12px;font-size:16px;text-decoration:none;min-height:48px}.character-names a:hover{background:#e9ede4}.character-names a[aria-current]{background:#143e34;color:#fff}.character-stage{min-width:0}.all-faces-link{display:inline-block;font-size:14px;margin:0 0 18px}.character-profile{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(200px,1fr);gap:30px;outline-offset:6px}.character-portrait{margin:0;min-width:0}.portrait-frame{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:#e4e2d5}.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}.character-portrait figcaption{font-size:11px;color:#667063;line-height:1.5;margin-top:12px}.character-copy h2{font-size:clamp(32px,3.3vw,49px);line-height:1.08;margin:10px 0 12px;overflow-wrap:break-word}.character-copy .eyebrow{font-size:10px;margin-top:0;letter-spacing:.15em}.character-role{font-family:Georgia,serif;font-size:19px;line-height:1.35;color:#5b695c}.character-copy>p{line-height:1.7}.character-copy h3{font-size:18px;margin:25px 0 12px}.character-copy .short-rule{margin:24px 0}.scripture-links{padding:0;list-style:none;margin:0}.scripture-links li{padding:5px 0;font-size:14px}.character-source-note{font-size:11px;color:#697367;margin:20px 0!important}.character-copy .button{font-size:13px;padding:12px 16px}.canon-closing{padding:50px 0 70px;border-top:1px solid #d4d7cb;text-align:center}.canon-closing h2{font-size:36px;line-height:1.2}.canon-closing p{color:#5d685c;margin:20px 0 26px}.character-browser button{margin-top:15px;font-size:13px}#no-characters{font-size:14px;line-height:1.6}.canon-page [hidden]{display:none!important}.canon-page a:focus-visible,.canon-page input:focus-visible,.canon-page select:focus-visible,.canon-page button:focus-visible{outline:3px solid #976627;outline-offset:3px}
@media(max-width:1050px){.canon-directory{grid-template-columns:230px minmax(0,1fr);gap:28px}.character-profile{grid-template-columns:1fr}.character-portrait{max-width:340px}.character-copy{max-width:540px}}
@media(max-width:650px){.canon-page main{padding:0 6%}.canon-intro{padding:20px 0 24px}.canon-intro>p:not(.eyebrow){font-size:20px}.canon-intro .canon-explainer{font-size:14px!important}.canon-directory{display:block;padding-top:25px}.character-names{max-height:none}.canon-directory[data-detail=false] .character-stage{display:none}.canon-directory[data-detail=true] .character-browser{display:none}.canon-directory[data-detail=true] .character-profile{display:flex;flex-direction:column;gap:25px}.character-portrait{max-width:100%;width:100%}.portrait-frame{max-height:470px}.character-copy h2{font-size:40px}.canon-closing h2{font-size:29px}.canon-directory[data-detail=true] .character-copy .eyebrow{margin-top:0}.canon-intro h1{font-size:42px}.canon-page:has(.canon-directory[data-detail=true]) .canon-intro{padding-bottom:10px}.canon-page:has(.canon-directory[data-detail=true]) .canon-explainer{display:none}}
