/* REQUIEM layer — the archive's final tone: mourning, quiet, documentary.
   Loaded last. Keeps the campaign (Call of Duty) language — chapters, intel HUD,
   case files — but removes the adrenaline: no RGB glitches, no flashes, slow light. */
:root{
 --rq-bg:#080808;--rq-ash:#cfc9bd;--rq-ash-2:#8f8a80;--rq-ash-3:#5b5852;--rq-line:#ffffff1a;
 --rq-ember:#d0652c;--rq-ember-dim:#7d3b1c;--rq-blood:#7a2620;
 --rq-serif:'Amiri','EB Garamond',serif;--rq-mono:'IBM Plex Mono',Consolas,'Courier New',monospace;
 --bo-red:#8a2a22;--bo-red-dim:#4d1914;--bo-amber:#c8652f;
 --orange:#d0652c;--gold:#d0652c;
}
body.rq{background:var(--rq-bg)}

/* ---------- 1. calm the adrenaline ---------- */
.bo-header-scan,.bo-wipe{display:none!important}
.bo-crt:after{animation-duration:2.4s!important;opacity:.035!important}
@keyframes bo-jitter{from,to{transform:none;text-shadow:none}}
@keyframes bo-hover-glitch{from,to{transform:none;filter:none}}
@keyframes bo-static{0%{filter:grayscale(1) brightness(.2)}100%{filter:none}}
@keyframes bo-flicker{0%{opacity:0}100%{opacity:1}}
@keyframes ops-g1{from,to{transform:none;opacity:0}}
@keyframes ops-g2{from,to{transform:none;opacity:0}}
@keyframes ops-flick{from,to{opacity:1}}
@keyframes bwx-g1{from,to{transform:none;opacity:0}}
@keyframes bwx-g2{from,to{transform:none;opacity:0}}
@keyframes rq-ink{0%{opacity:0;filter:blur(14px);letter-spacing:.06em;transform:translateY(10px)}60%{opacity:.85;filter:blur(1px)}100%{opacity:1;filter:none;letter-spacing:normal;transform:none}}
@keyframes rq-rise{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:none}}
@keyframes rq-fade{0%{opacity:0}100%{opacity:1}}
.bo-glitch-in,.bo-person-in .person-content h2,.bo-file-in h2,.bo-tape-cut h2{animation:rq-ink 1.7s cubic-bezier(.2,.7,.2,1) both!important;text-shadow:none!important;clip-path:none!important}
.bo-glitch-in:before,.bo-glitch-in:after{display:none!important}
body.rq [class*=glitch]:before,body.rq [class*=glitch]:after{text-shadow:none}

/* ---------- 2. mourning colour ---------- */
body.rq .screen img:not([src$=".svg"]),
body.rq .screen video{filter:grayscale(.88) contrast(1.06) brightness(.88);transition:filter 1.6s ease}
body.rq .screen img:not([src$=".svg"]):hover{filter:grayscale(.45) contrast(1.04) brightness(.95)}
body.rq .screen [style*="background-image"]{filter:grayscale(.85) brightness(.85)}
body.rq #blackwater{filter:saturate(.5) brightness(.96)}
body.rq #method .bo-shelf,body.rq #method [class*=book]{filter:saturate(.45)}
body.rq .story-screen .portrait-stage img{filter:grayscale(1) contrast(1.1) brightness(.78)!important}

/* ---------- 3. header: one line, one index ---------- */
body.rq .command-bar>nav{display:none!important}
body.rq .command-bar{gap:18px}
.rq-chapter{display:flex;align-items:center;gap:10px;color:var(--rq-ash-2);font:500 13px/1 var(--font);white-space:nowrap;min-width:0}
.rq-chapter b{font:600 12px/1 var(--rq-mono);letter-spacing:.14em;color:var(--rq-ember)}
.rq-chapter .rq-ch-name{color:var(--rq-ash);font-size:15px;overflow:hidden;text-overflow:ellipsis}
.rq-chapter .rq-ch-act{font:500 11px/1 var(--rq-mono);letter-spacing:.2em;color:var(--rq-ash-3);text-transform:uppercase}
.rq-step{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--rq-line);background:none;color:var(--rq-ash-2);cursor:pointer;transition:.3s}
.rq-step:hover{border-color:var(--rq-ember);color:var(--rq-ash)}
.rq-step svg{width:12px;height:12px}
[dir=rtl] .rq-step svg{transform:scaleX(-1)}
.rq-index-btn{margin-inline-start:auto;display:flex;align-items:center;gap:12px;height:38px;padding:0 16px;background:none;border:1px solid #ffffff2e;color:var(--rq-ash);font:600 13px/1 var(--font);letter-spacing:.04em;cursor:pointer;transition:border-color .4s,background .4s}
.rq-index-btn:hover,.rq-index-btn[aria-expanded=true]{border-color:var(--rq-ember);background:#d0652c12}
.rq-index-btn i{display:grid;gap:4px;width:16px}
.rq-index-btn i:before,.rq-index-btn i:after,.rq-index-btn i b{content:'';display:block;height:1px;background:currentColor}
.rq-index-btn i b{width:60%}
.rq-index-btn small{font:500 10px/1 var(--rq-mono);letter-spacing:.2em;color:var(--rq-ash-3)}
body.rq .vlder-sig{margin-inline-start:0!important}
body.rq .command-bar .language-switch{margin-inline-start:0}

/* ---------- 4. the index (mission select, in mourning) ---------- */
.rq-index{position:fixed;inset:0;z-index:120;background:#050505f5;color:var(--rq-ash);display:grid;grid-template-rows:auto 1fr auto;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s .7s;overflow:hidden}
.rq-index.is-open{opacity:1;visibility:visible;transition:opacity .7s ease}
.rq-index-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.rq-index-bg span{position:absolute;inset:-4%;background:center/cover no-repeat;filter:grayscale(1) brightness(.32) contrast(1.1);opacity:0;transform:scale(1.06);transition:opacity 1.4s ease,transform 9s linear}
.rq-index-bg span.is-on{opacity:1;transform:scale(1)}
.rq-index-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,#050505cc 38%,#05050566 100%),linear-gradient(0deg,#050505 0%,transparent 40%)}
[dir=rtl] .rq-index-bg:after{background:linear-gradient(270deg,#050505 0%,#050505cc 38%,#05050566 100%),linear-gradient(0deg,#050505 0%,transparent 40%)}
.rq-index-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px clamp(20px,5vw,72px);border-bottom:1px solid var(--rq-line)}
.rq-index-top p{margin:0;font:500 11px/1.4 var(--rq-mono);letter-spacing:.28em;color:var(--rq-ash-3)}
.rq-index-top p b{color:var(--rq-ember);font-weight:600}
.rq-index-close{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--rq-line);color:var(--rq-ash);height:40px;padding:0 16px;font:500 13px var(--font);cursor:pointer}
.rq-index-close:hover{border-color:var(--rq-ash-2)}
.rq-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,48px);padding:clamp(28px,5vh,64px) clamp(20px,5vw,72px);align-content:center;overflow:auto}
.rq-act{opacity:0;transform:translateY(24px)}
.rq-index.is-open .rq-act{animation:rq-rise 1s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.15s + var(--a) * .14s)}
.rq-act header{display:flex;align-items:baseline;gap:14px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--rq-line);position:relative}
.rq-act header:after{content:'';position:absolute;inset-inline-start:0;bottom:-1px;height:1px;width:0;background:var(--rq-ember);transition:width 1.6s cubic-bezier(.2,.7,.2,1) .4s}
.rq-index.is-open .rq-act header:after{width:48px}
.rq-act header em{font:400 46px/1 var(--rq-serif);font-style:normal;color:var(--rq-ash-3)}
.rq-act header strong{font:600 22px/1.2 var(--font);color:var(--rq-ash)}
.rq-act header small{display:block;font:500 10px/1 var(--rq-mono);letter-spacing:.3em;color:var(--rq-ash-3);margin-top:6px}
.rq-entry{display:grid;grid-template-columns:44px 1fr;gap:4px 14px;padding:16px 10px;margin:0 -10px;color:inherit;text-decoration:none;border-bottom:1px solid #ffffff0d;position:relative;transition:background .5s}
.rq-entry b{grid-row:1/3;font:500 13px/1.6 var(--rq-mono);letter-spacing:.12em;color:var(--rq-ash-3);transition:color .5s}
.rq-entry span{font:600 19px/1.3 var(--font);color:var(--rq-ash);transition:color .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.rq-entry small{font:400 13px/1.6 var(--font);color:var(--rq-ash-3);transition:color .5s}
.rq-entry:before{content:'';position:absolute;inset-inline-start:-1px;top:16px;bottom:16px;width:2px;background:var(--rq-ember);transform:scaleY(0);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.rq-entry:hover,.rq-entry:focus-visible{background:#ffffff06;outline:none}
.rq-entry:hover:before,.rq-entry:focus-visible:before,.rq-entry.active:before{transform:none}
.rq-entry:hover span,.rq-entry:focus-visible span{transform:translateX(-6px)}
[dir=ltr] .rq-entry:hover span,[dir=ltr] .rq-entry:focus-visible span{transform:translateX(6px)}
.rq-entry:hover b,.rq-entry.active b{color:var(--rq-ember)}
.rq-entry:hover small{color:var(--rq-ash-2)}
.rq-entry.active small:after{content:attr(data-here);margin-inline-start:10px;font:500 10px var(--rq-mono);letter-spacing:.2em;color:var(--rq-ember)}
.rq-index-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:22px clamp(20px,5vw,72px) 28px;border-top:1px solid var(--rq-line)}
.rq-index-foot p{margin:0;max-width:720px;font:400 15px/1.8 var(--rq-serif);color:var(--rq-ash-2)}
.rq-index-foot .rq-tools{display:flex;gap:10px;flex-shrink:0}
.rq-index-foot .rq-tools button{height:36px;padding:0 14px;background:none;border:1px solid var(--rq-line);color:var(--rq-ash-2);font:500 12px var(--font);cursor:pointer}
html.rq-lock{overflow:hidden}

/* ---------- 5. chapter card (the "mission load", in silence) ---------- */
.rq-card{position:fixed;inset:0;z-index:110;background:#050505;display:grid;place-items:center;text-align:center;opacity:0;visibility:hidden;pointer-events:none}
.rq-card.is-on{visibility:visible;pointer-events:auto;animation:rq-card 2.3s ease both}
@keyframes rq-card{0%{opacity:0}14%{opacity:1}74%{opacity:1}100%{opacity:0}}
.rq-card-in{display:grid;gap:14px;justify-items:center;padding:0 24px}
.rq-card small{font:500 11px/1 var(--rq-mono);letter-spacing:.34em;color:var(--rq-ash-3)}
.rq-card h2{margin:0;font:600 clamp(40px,7vw,92px)/1 var(--font);color:var(--rq-ash);letter-spacing:-.01em}
[lang=en] .rq-card h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em}
.rq-card p{margin:0;font:400 clamp(17px,1.8vw,22px)/1.6 var(--rq-serif);color:var(--rq-ash-2);max-width:620px}
.rq-card.is-on h2{animation:rq-ink 1.6s .15s cubic-bezier(.2,.7,.2,1) both}
.rq-card.is-on p{animation:rq-fade 1.2s .55s both}
.rq-card i{display:block;width:120px;height:1px;background:#ffffff1f;position:relative;overflow:hidden;margin-top:10px}
.rq-card i:after{content:'';position:absolute;inset:0;background:var(--rq-ember);transform:scaleX(0);transform-origin:right}
[dir=ltr] .rq-card i:after{transform-origin:left}
.rq-card.is-on i:after{animation:rq-bar 1.5s .3s cubic-bezier(.6,0,.3,1) both}
@keyframes rq-bar{to{transform:none}}
.rq-card-meta{position:absolute;bottom:34px;inset-inline:0;display:flex;justify-content:center;gap:28px;font:500 11px/1 var(--rq-mono);letter-spacing:.26em;color:var(--rq-ash-3)}

/* ---------- 6. ash ---------- */
.rq-ash{position:fixed;inset:0;z-index:58;pointer-events:none;opacity:.85}
body.motion-paused .rq-ash{display:none}

/* ---------- 7. chapter footer: every chapter leads to the next ---------- */
.rq-next{position:relative;margin:clamp(48px,8vh,96px) auto 0;padding:0 clamp(20px,5vw,72px) 40px;max-width:1440px;color:var(--rq-ash)}
.rq-next-row{display:grid;grid-template-columns:1fr 1.6fr;border-top:1px solid var(--rq-line)}
.rq-next a{display:grid;gap:8px;padding:30px 0;color:inherit;text-decoration:none;position:relative}
.rq-next a+a{padding-inline-start:32px;border-inline-start:1px solid var(--rq-line)}
.rq-next a small{font:500 11px/1 var(--rq-mono);letter-spacing:.28em;color:var(--rq-ash-3)}
.rq-next a strong{font:600 clamp(22px,2.6vw,36px)/1.15 var(--font);color:var(--rq-ash);transition:color .5s}
.rq-next a span{font:400 15px/1.7 var(--rq-serif);color:var(--rq-ash-2)}
.rq-next a.is-next strong:after{content:' ←';color:var(--rq-ember);display:inline-block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
[dir=ltr] .rq-next a.is-next strong:after{content:' →'}
.rq-next a.is-next:hover strong:after{transform:translateX(-10px)}
[dir=ltr] .rq-next a.is-next:hover strong:after{transform:translateX(10px)}
.rq-next a:hover strong{color:#fff}
.rq-next a.is-prev strong{font-size:clamp(17px,1.6vw,22px);color:var(--rq-ash-2)}
.rq-colophon{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;padding-top:22px;border-top:1px solid #ffffff10;font:400 12px/1.7 var(--font);color:var(--rq-ash-3)}
.rq-colophon b{font-weight:500;color:var(--rq-ash-2)}

/* ---------- 8. focus + motion ---------- */
body.rq :focus-visible{outline:2px solid var(--rq-ember);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.rq-card,.rq-ash{display:none!important}.rq-act{opacity:1;transform:none;animation:none!important}}

/* ---------- 9. small screens ---------- */
@media(max-width:1100px){.rq-chapter .rq-ch-act{display:none}}
@media(max-width:760px){
 body.rq .command-bar{display:flex!important;flex-wrap:wrap;row-gap:10px}
 body.rq .command-bar .motion-control{display:none}
 .rq-chapter{order:5;flex:1 0 100%;justify-content:space-between;border-top:1px solid var(--rq-line);padding-top:10px}
 .rq-chapter .rq-ch-name{flex:1;font-size:14px}
 .rq-index-btn{padding:0 10px;height:34px}
 .rq-index-btn span,.rq-index-btn small{display:none}
 .rq-acts{grid-template-columns:1fr;align-content:start;gap:28px}
 .rq-entry{padding:12px 10px}
 .rq-entry span{font-size:17px}
 .rq-act header em{font-size:34px}
 .rq-index-top{padding:18px 20px}
 .rq-index-top p span{display:none}
 .rq-index-foot{flex-direction:column;align-items:stretch;padding:16px 20px 22px}
 .rq-index-foot p{font-size:14px}
 .rq-next-row{grid-template-columns:1fr}
 .rq-next a+a{padding-inline-start:0;border-inline-start:0;border-top:1px solid var(--rq-line)}
 .rq-next a.is-prev{order:2}
 .rq-card-meta{flex-direction:column;gap:10px;align-items:center}
}

/* ---------- 10. fixes ---------- */
body.rq [tabindex="-1"]:focus{outline:none}
body.rq .person-portrait>img,body.rq .photo-mount img{filter:grayscale(1) contrast(1.1) brightness(.86)!important}
body.rq .photo-mount:hover img{filter:grayscale(.4) contrast(1.05)!important}
.ops-glitch:before,.ops-glitch:after{display:none!important}
body.rq #map canvas{filter:saturate(.4) brightness(.95)}
@media(max-width:760px){.rq-index-foot p{display:none}.rq-index-foot{padding:12px 20px 16px}}
/* incident pages share the mourning tone */
.detail-page img:not([src$=".svg"]),.detail-page video{filter:grayscale(.85) contrast(1.06) brightness(.88)}
.detail-page [style*="background-image"]{filter:grayscale(.85) brightness(.85)}
.detail-page .chapter-image,body.rq .chapter-image{filter:grayscale(.85) brightness(.85)!important}
body.rq .bo-spine,body.rq .bo-book-cover,body.rq .bo-book-board{filter:saturate(.35) brightness(.85)}
