
.character-dialog{width:min(960px,calc(100% - 32px));padding:32px;max-height:calc(100dvh - 32px)}
.character-dialog .character-close{position:sticky;top:0;float:right;z-index:5;background:#171c1f;border:1px solid #455055;border-radius:2px}
.personnel-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 58px 24px 0;border-bottom:1px solid #536066;font:18px 'Bebas Neue',sans-serif;letter-spacing:.13em}
.personnel-header small{color:#929fa5;font-size:13px}
.personnel-profile{display:grid;grid-template-columns:minmax(180px,32%) 1fr;gap:32px;margin:28px 0}
.personnel-portrait{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}
.personnel-identity h2{font:clamp(38px,6vw,64px) 'Bebas Neue',sans-serif;letter-spacing:.12em;margin:8px 0 12px;overflow-wrap:anywhere}
.personnel-status{font:17px 'Bebas Neue',sans-serif;letter-spacing:.12em;color:#c6d0d4}
.personnel-status::before{content:'';display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:currentColor}
.personnel-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px;border-top:1px solid #455055;padding-top:24px;margin-top:28px}
.personnel-fields dt{font:17px 'Bebas Neue',sans-serif;letter-spacing:.1em;color:#a4b1b7}
.personnel-fields dd{font:12px/1.7 'Space Mono',monospace;margin:8px 0 0;overflow-wrap:anywhere}
.personnel-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin-top:16px}
.personnel-tags li{background:#172f40;border:1px solid #304f64;color:#d0dfe8;padding:8px 10px;font:13px 'Bebas Neue',sans-serif;letter-spacing:.09em}
.personnel-sections details{border-top:1px solid #455055}
.personnel-sections details:last-child{border-bottom:1px solid #455055}
.personnel-sections summary{display:flex;align-items:center;gap:16px;cursor:pointer;min-height:72px;padding:18px 0;list-style:none;font:20px 'Bebas Neue',sans-serif;letter-spacing:.12em}
.personnel-sections summary::-webkit-details-marker{display:none}
.personnel-sections summary small{margin-left:auto;font:10px/1.6 'Space Mono',monospace;letter-spacing:0;color:#9cabb2;text-align:right}
.personnel-sections summary::before{content:'▶';flex:0 0 12px;font:13px Arial,sans-serif;color:#e4b0be;transition:transform 180ms ease}
.personnel-sections details[open] summary::before{transform:rotate(90deg)}
.personnel-sections summary:focus-visible{outline:2px solid #d28fa3;outline-offset:4px}
.personnel-section-body{padding:0 0 24px;max-width:70ch;color:#bec9ce;font:13px/1.9 'Space Mono',monospace}
@media(max-width:600px){.character-dialog{padding:20px}.personnel-profile{grid-template-columns:1fr;gap:24px}.personnel-visual{max-width:240px}.personnel-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-header{font-size:15px}.personnel-sections summary{flex-wrap:wrap;gap:8px;font-size:17px}.personnel-sections summary small{font-size:9px}.personnel-identity h2{font-size:44px}}

/* Faded oxblood surfaces and archive accents. */
.character-dialog{background:radial-gradient(ellipse at 0 0,#6e1e2e29,transparent 62%),linear-gradient(145deg,#191619,#101617);border:1px solid #79515d;box-shadow:0 24px 100px #000b,inset 0 1px #ca899933;color:#d9dcda}
.character-dialog .character-close{background:#251c20;color:#e4b0be;border-color:#85526166;transition:background 180ms ease}
.character-dialog .character-close:hover{background:#542c38}
.personnel-header{border-bottom-color:#9c637575;color:#d6a0b0}
.personnel-header small{color:#a48d95}
.personnel-identity>.micro{color:#ba8a9a}
.personnel-identity h2{color:#e0dedb;text-shadow:0 2px 22px #6e1e2e30}
.personnel-portrait{border:1px solid #96617188;box-shadow:0 10px 28px #0005;filter:grayscale(1) contrast(.96)}
.personnel-status{color:#cba3af}
.personnel-status::before{box-shadow:0 0 0 4px #9c63751c}
.personnel-fields{border-top-color:#96617155;gap:12px;padding-top:20px}
.personnel-fields>div{padding:12px;background:linear-gradient(120deg,#6e1e2e19,transparent);border-left:2px solid #9c63754d}
.personnel-fields dt{color:#bc919f}
.personnel-fields dd{color:#d1ccce}
.personnel-tags li{background:linear-gradient(110deg,#592c3b70,#302129);border-color:#98607266;color:#e0b6c3}
.personnel-sections details{border-top-color:#96617166;transition:background 180ms ease}
.personnel-sections details:last-child{border-bottom-color:#96617166}
.personnel-sections details[open]{background:linear-gradient(90deg,#6e1e2e24,transparent 85%)}
.personnel-sections summary{padding:18px 14px;color:#e4b0be;letter-spacing:.08em;transition:background 180ms ease,color 180ms ease}
.personnel-sections summary:hover{background:linear-gradient(90deg,#71313f30,transparent);color:#f2c8d5}
.personnel-sections summary small{color:#ad949d}
.personnel-section-body{padding:0 28px 24px 40px;color:#c8bec2}
@media(max-width:600px){.personnel-sections summary{display:grid;grid-template-columns:12px 1fr}.personnel-sections summary small{grid-column:2;margin-left:0;text-align:left}.personnel-fields>div{padding:10px}.personnel-section-body{padding-left:34px}}
@media(prefers-reduced-motion:reduce){.personnel-sections summary,.personnel-sections summary::before,.personnel-sections details,.character-dialog .character-close{transition:none}}

/* Live status and balanced dossier header controls. */
.character-dialog .character-close{position:absolute;top:16px;right:16px;float:none;margin:0;width:36px;height:36px;display:grid;place-items:center;line-height:1;font-size:25px}
.personnel-header{padding:8px 44px 24px 0;align-items:center;min-height:48px}
.personnel-status::before{animation:dossier-status-pulse 2.8s ease-in-out infinite}
@keyframes dossier-status-pulse{0%,100%{opacity:.9;box-shadow:0 0 0 3px #9c63751c}50%{opacity:.4;box-shadow:0 0 0 5px #9c637508}}
@media(max-width:600px){.character-dialog .character-close{top:12px;right:12px}.personnel-header{padding-right:40px;gap:8px}.personnel-header small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.personnel-status::before{animation:none}}
