/* Character directory / isolated from the shared page styles. */
.directory-heading{padding-block:35px 32px}.directory-heading .breadcrumb{margin-bottom:32px}.directory-heading h1{font-size:clamp(30px,3.7vw,48px);font-weight:600;letter-spacing:.05em;line-height:1.4;margin:18px 0}.directory-lead{font-size:16px!important;color:#d4e3f5!important;margin:0 0 10px!important}.directory-help{font-size:12px!important;color:#96acc7!important;line-height:1.9;margin:0!important}.character-directory{padding-bottom:20px}.category-tabs{display:flex;border-bottom:1px solid #34465d;gap:12px}.category-tabs button{display:flex;align-items:center;gap:24px;min-height:62px;padding:16px 28px;border:1px solid #34465d;border-bottom:0;background:#0b1524;color:#99afc9;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;cursor:pointer;position:relative}.category-tabs button[aria-selected=true]{color:#edf5ff;background:#1a304a}.category-tabs button[aria-selected=true]::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:#56b8ff}.category-tabs button:hover{background:#14273e;color:#fff}.category-count{font:11px Arial,sans-serif;letter-spacing:.1em;color:#91bee4}.category-panel{padding-top:28px}.category-panel[hidden]{display:none}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.group-card{min-width:0;background:linear-gradient(125deg,#101e31,#0a1320);border:1px solid #2b3e55;padding:25px 27px 27px;scroll-margin-top:130px}.group-meta{display:flex;justify-content:space-between;font:9px Arial,sans-serif;letter-spacing:.16em;color:#8eabc9}.group-card h2{font-size:22px!important;line-height:1.5!important;margin:19px 0 6px!important}.group-name{display:flex;align-items:center;justify-content:space-between;gap:16px}.group-name>span:first-child{overflow-wrap:anywhere}.group-open{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:10px;font-weight:400;letter-spacing:0;color:#91c8f4}.group-open b{font-size:22px;font-weight:400}.group-name:hover{color:#8fd0ff}.group-subtitle{font:9px/1.6 Arial,sans-serif!important;letter-spacing:.14em;color:#6f97bd!important;margin:0 0 22px!important}.members-heading{display:flex;align-items:center;justify-content:space-between;padding-top:17px;border-top:1px solid #2b3e55;font-size:10px;letter-spacing:.1em;color:#96abc4}.member-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:13px 0 0}.member-name{display:flex;align-items:center;justify-content:space-between;gap:17px;min-height:44px;border:1px solid #344e6b;background:#102139;padding:9px 13px;font-size:12px;line-height:1.6;color:#d7e7f8}.member-name>span:last-child{color:#7dbff3}.member-name:hover{background:#203e60;border-color:#7cbcea;color:#fff}.character-directory a:focus-visible,.character-directory button:focus-visible,.character-viewer a:focus-visible,.character-viewer button:focus-visible{outline:2px solid #80cdff;outline-offset:4px}.category-panel:focus-visible{outline:1px dashed #80cdff;outline-offset:6px}.directory-return{text-align:center;padding-block:30px 65px}.directory-return .button{justify-content:center;min-width:220px}.character-viewer-open{overflow:hidden}.character-viewer{width:min(1040px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;margin:auto;overflow:hidden;background:#080f1a;color:#e5effb;border:1px solid #486686;box-shadow:0 25px 100px #000a}.character-viewer[open]{display:flex;flex-direction:column}.character-viewer::backdrop{background:#020710e8;backdrop-filter:blur(7px)}.viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 25px;background:#101e30;border-bottom:1px solid #2f435b;flex-shrink:0}.viewer-header h2{font-size:22px;line-height:1.5;margin:0;overflow-wrap:anywhere}.viewer-header p{font-size:10px;color:#98b7d7;margin:0 0 4px}.viewer-close{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;border:1px solid #45617d;color:#edf5ff;background:#172b44;padding:8px 14px;cursor:pointer;flex-shrink:0;font-size:11px}.viewer-close b{font-size:25px;line-height:1;font-weight:400}.viewer-close:hover{background:#234263}.viewer-body{overflow:auto;overscroll-behavior:contain;min-height:0;padding:23px;flex:1 1 auto}.viewer-stage{position:relative;overflow:hidden;width:100%;max-width:860px;margin:auto;background:#060b13}.viewer-stage img{display:block;width:100%;max-width:none;height:auto;margin:0}.viewer-stage.is-profile img{position:absolute}.viewer-stage[aria-busy=true]{opacity:.4}.viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 25px;border-top:1px solid #2f435b;flex-shrink:0;background:#101e30}.viewer-footer a{font-size:11px;line-height:1.7;color:#a7c6e5;margin-left:auto}.viewer-toggle{border:1px solid #466886;background:#1e3957;color:#edf5ff;padding:10px 14px;min-height:44px;font-size:11px;cursor:pointer}.viewer-toggle:hover{background:#2b4c70}.viewer-toggle[hidden],.viewer-error[hidden],.viewer-stage[hidden],#viewer-group[hidden]{display:none}.viewer-error{font-size:14px;line-height:1.8;padding:30px;color:#f0c9ac}
@media(max-width:900px){.group-card{padding:22px}.group-name{align-items:flex-start}.group-open>span{display:none}.group-card h2{font-size:20px!important}}
@media(max-width:650px){.directory-heading{padding-block:25px}.directory-heading .breadcrumb{margin-bottom:25px}.directory-heading h1{font-size:29px}.directory-lead{font-size:14px!important}.directory-help{font-size:11px!important}.category-tabs{gap:8px}.category-tabs button{flex:1;justify-content:space-between;gap:12px;padding:15px 17px;min-height:58px;font-size:14px}.directory-grid{grid-template-columns:1fr;gap:16px}.category-panel{padding-top:20px}.group-card{padding:22px 20px}.group-card h2{font-size:22px!important}.group-open>span{display:inline;font-size:9px}.group-name{gap:12px}.member-name{font-size:12px;gap:13px;padding:8px 12px}.directory-return{padding-block:22px 50px}.character-viewer{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.viewer-header{padding:12px 14px}.viewer-header h2{font-size:19px}.viewer-close{padding:8px 11px;gap:7px}.viewer-close>span{display:none}.viewer-body{padding:12px}.viewer-footer{padding:12px 14px;flex-wrap:wrap;gap:12px}.viewer-footer a{font-size:10px}.viewer-toggle{font-size:11px}.viewer-error{padding:10px}}
@media(prefers-reduced-motion:reduce){.character-directory *,.character-viewer *{scroll-behavior:auto!important}}
