/* IDS: Galactic Racer authored character files (Hibi Esuufa, Darius Pax). */
body.grf-character{--grf-line:#4b6a80;--grf-ink:#f7f9fe;--grf-accent:#ff839c;background:#05080e;color:#f5f7fa}
body.grf-character .gc-hero{border-color:#587086;background:#0b1521}
body.grf-hibi .gc-hero{background:radial-gradient(circle at 78% 26%,#1c4b50 0,#0b1820 58%,#080c14 100%)}
body.grf-darius .gc-hero{background:radial-gradient(circle at 81% 24%,#303957 0,#101621 65%,#070c16 100%)}
body.grf-character .gc-hero-image{overflow:hidden}
body.grf-character .gc-hero-image img{width:100%;height:100%;min-height:490px;object-fit:cover;object-position:52% center}
body.grf-character .gc-hero-image:after{pointer-events:none}
body.grf-character .gc-hero-copy{z-index:2;align-self:center}
body.grf-character .gc-hero h1{max-width:13ch;overflow-wrap:normal;font-size:clamp(3rem,5.8vw,6.1rem)}
body.grf-character .gc-hero-subtitle{color:#ff8a9e!important}
body.grf-character .gc-hero-image figcaption{background:#0b1626d6;color:#e6f1fc;padding:8px 14px;font-size:.72rem}
body.grf-character .gc-story>section{scroll-margin-top:92px}
body.grf-character .gc-story a:not(.gc-toc a){text-underline-offset:4px}
body.grf-character .gc-connection a{color:#ffb9c4;font-weight:800}
body.grf-character .grf-special{position:relative;overflow:hidden;border:1px solid #58778c;border-top:5px solid #ea7489;padding:clamp(22px,3.3vw,38px);background:radial-gradient(circle at 96% 8%,#204552 0,#101e30 42%,#0b1421 100%);margin:32px 0}
body.grf-darius .grf-special{background:radial-gradient(circle at 95% 2%,#322949 0,#152235 47%,#0c1523 100%)}
body.grf-character .grf-special:before{content:"ENGINEERING / GOVERNANCE FILE";display:block;color:#9eafc0;font-weight:900;letter-spacing:.17em;font-size:.62rem;margin-bottom:12px}
body.grf-character .grf-special h2{font-size:clamp(2rem,3.7vw,3.8rem);line-height:1.03;max-width:15ch;color:#fff}
body.grf-character .grf-special>p:not(.gc-mark){color:#d7e5f3;font-size:1rem;line-height:1.7;max-width:68ch}
body.grf-character .grf-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:28px 0 14px}
body.grf-character .grf-controls button{border:1px solid #597487;border-radius:3px;background:#10263a;padding:13px 9px;min-height:54px;color:#ebf4fb;font-weight:900;font-size:.88rem;line-height:1.2;cursor:pointer;white-space:normal;transition:background .16s,border-color .16s}
body.grf-character .grf-controls button:hover{background:#24475e;border-color:#ffc1c9}
body.grf-character .grf-controls button[aria-pressed="true"]{background:#a93b51;color:white;border-color:#ffb4c2}
body.grf-character .grf-controls button:focus-visible{outline:3px solid #e5d5ff;outline-offset:3px}
body.grf-character .grf-report{padding:clamp(19px,3vw,28px);min-height:190px;background:linear-gradient(135deg,#1e3245,#132133);border-left:4px solid #ee7b8e;color:#ecf6fd}
body.grf-character .grf-report small{display:block;font-weight:900;letter-spacing:.12em;color:#ffb4c3;font-size:.67rem}
body.grf-character .grf-report h3{font-size:clamp(1.35rem,2.5vw,2.15rem);line-height:1.16;color:#fff;margin:8px 0 13px}
body.grf-character .grf-report p{color:#ecf4f9;line-height:1.62}
body.grf-character .grf-report .grf-note{color:#ffc8d3;font-weight:850;border-top:1px solid #526b80;padding-top:11px;margin-top:18px}
body.grf-character .gc-toc{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:950px){body.grf-character .grf-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){
 body.grf-character .gc-hero{display:flex;flex-direction:column-reverse;min-height:0}
 body.grf-character .gc-hero-image{width:100%;min-height:0;aspect-ratio:1.55;flex-shrink:0}
 body.grf-character .gc-hero-image img{min-height:0;max-height:430px;height:100%;object-position:center 28%}
 body.grf-character .gc-hero-copy{width:100%;padding:24px 22px 30px}
 body.grf-character .gc-hero h1{font-size:clamp(2.7rem,11vw,4.5rem);line-height:.99}
 body.grf-character .gc-hero-subtitle{font-size:1.45rem!important;margin:2px 0 18px!important}
 body.grf-character .grf-special{margin:24px 0;padding:19px}
 body.grf-character .grf-special h2{font-size:2.15rem}
}
@media(max-width:430px){
 body.grf-character .grf-controls{gap:7px}
 body.grf-character .grf-controls button{font-size:.77rem;padding:10px 6px}
 body.grf-character .gc-toc{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){body.grf-character .grf-controls button{transition:none}}
