@import url('https://fonts.googleapis.com/css?family=Oxygen:300,400,700');
@import url('https://fonts.googleapis.com/css2?family=Creepster&family=Special+Elite&display=swap');
@import url('https://fonts.googleapis.com/css?family=Poiret+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;1,300&display=swap');

/* Global Styles
================================================== */

html,body {
-webkit-font-smoothing:antialiased;
-webkit-text-size-adjust:100%;


background: #050303; /* Old browsers */
background: -moz-linear-gradient(left, #050303 0%, #161212 50%, #000000 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #050303 0%,#161212 50%,#000000 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #050303 0%,#161212 50%,#000000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#050303', endColorstr='#000000',GradientType=1 ); /* IE6-9 */
color:#fff;
font-size:1.05rem;
font-family:"Ubuntu", HelveticaNeue, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight:300;
letter-spacing:.025rem;
line-height:1.618;
padding:1rem 0;
}


h2,
h3 {
  color: white;
  pointer-events: none;
  text-align: center;
  text-shadow: 2px 2px 4px hsl(0, 100%, 13%);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;  
}

h2 {
  font-size: 4rem;
  font-family: 'Special Elite', monospace, sans-serif;
}


.glow {
    color: #fff;
    animation: glow 10s ease-in-out infinite alternate;
  }
  
  @-webkit-keyframes glow {
    from {
      text-shadow: 0 0 5px #450000, 0 0 10px #450000, 0 0 15px #450000, 0 0 20px #450000;
    }
    
    to {
      text-shadow: 0 0 10px #450000, 0 0 15px #000000, 0 0 20px #000000, 0 0 25px #000000;
    }
}



*,::before,::after {
box-sizing:border-box;
}

* {
-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-tap-highlight-color:transparent;
}


/* Setup
================================================== */

.container { position:relative; margin:0 auto; max-width:800px; width:100%; }
.column { width:inherit; }


/* Links/Text
================================================== */

p { color:#fff; display:block; font-size:.9rem; font-weight:400; margin:0 0 2px; }

a,a:visited { color:#8cc3e6; outline:0; text-decoration:underline; }
a:hover,a:focus { color:#bbdef5; }
p a,p a:visited { line-height:inherit; }


/* Misc.
================================================== */

.add-bottom { margin-bottom:2rem !important; }
.left { float:left; }
.right { float:right; }
.center { text-align:center; }
.hidden { display:none; }

.no-support {
margin:2rem auto;
text-align:center;
width:90%;
}


/* Audio Player
================================================== */

audio {
display:none;
}

#audiowrap,
#plwrap {
margin:0 auto;
}

#tracks {
font-size:0;
position:relative;
text-align:center;
}

#nowPlay {
display:block;
font-size:0;
}

#nowPlay span {
display:inline-block;
font-size:1.05rem;
vertical-align:top;
}

#nowPlay span#npAction {
padding:21px;
width:30%;
}

#nowPlay span#npTitle {
padding:21px;
text-align:right;
width:70%;
}

#plList li {
cursor:pointer;
display:block;
margin:0;
padding:21px 0;
}

#plList li:hover {
background-color:rgba(0,0,0,.1);

}

.plItem {
position:relative;
}

.plTitle {
left:50px;
overflow:hidden;
position:absolute;
right:65px;
text-overflow:ellipsis;
top:0;
white-space:nowrap;
}

.plNum {
padding-left:21px;
width:25px;
}

.plLength {
padding-left:21px;
position:absolute;
right:21px;
top:0;
}

.plSel,
.plSel:hover {
background-color:rgba(0,0,0,.1);
color:#fff;
text-shadow: #FFFF00 0 0 5px;
cursor:default !important;
}

#tracks a {
border-radius:3px;
color:#fff;
cursor:pointer;
display:inline-block;
font-size:2rem;
height:35px;
line-height:.175;
margin:0 5px 30px;
padding:10px;
text-decoration:none;
transition:background .3s ease;
}

#tracks a:last-child {
margin-left:0;
}

#tracks a:hover,
#tracks a:active {
background-color:rgba(0,0,0,.1);
color:#fff;
}

#tracks a::-moz-focus-inner {
border:0;
padding:0;
}


/* Plyr Overrides
================================================== */

.plyr--audio .plyr__controls {
background-color:transparent;
border:none;
color:#fff;
padding:20px 20px 20px 13px;
width:100%;
}

.plyr--audio .plyr__controls button.tab-focus:focus,
.plyr--audio .plyr__controls button:hover,
.plyr__play-large {
background:rgba(0,0,0,.1);
}

.plyr__progress--played,
.plyr__volume--display {
color:rgba(0,0,0,.1);
}

.plyr--audio .plyr__progress--buffer,
.plyr--audio .plyr__volume--display {
background:rgba(0,0,0,.1);
}

.plyr--audio .plyr__progress--buffer {
color:rgba(0,0,0,.1);
}


/* Media Queries
================================================== */

@media only screen and (max-width:600px) {
    #nowPlay span#npAction { display:none; }
    #nowPlay span#npTitle { display:block; text-align:center; width:100%; }
}


/* ==================================================
   X-Files "case file" theme
   ================================================== */

:root {
  --xf-green: #2fbf71;
  --xf-red: #7a1f1f;
  --plyr-color-main: #2fbf71; /* recolour Plyr's default blue */
}

body {
  min-height: 100vh;
  position: relative;
}

/* Vignette + scanline overlays (non-interactive) */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(120% 100% at 50% 28%, transparent 55%, rgba(0, 0, 0, 0.78) 100%);
  pointer-events: none;
  z-index: 0;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0) 0 2px, rgba(0, 0, 0, 0.18) 2px 3px);
  pointer-events: none;
  opacity: 0.5;
  z-index: 1;
}

.container {
  z-index: 2;
}

/* Dossier panel */
#mainwrap {
  position: relative;
  margin: 2rem auto 0;
  padding: 1.4rem clamp(1rem, 4vw, 2rem) 1.5rem;
  background: linear-gradient(180deg, rgba(22, 11, 11, 0.72), rgba(8, 6, 6, 0.82));
  border: 1px solid #3a1414;
  border-top: 2px solid var(--xf-red);
  border-radius: 14px;
  box-shadow: 0 30px 80px -30px #000, inset 0 1px 0 rgba(255, 255, 255, 0.03);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

#mainwrap::before {
  content: "CASE FILE // AUDIO EVIDENCE";
  display: block;
  text-align: center;
  font-family: 'Special Elite', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.35em;
  color: #8a5a5a;
  margin-bottom: 0.35rem;
}

h2.glow {
  letter-spacing: 2px;
  margin-bottom: 0.25rem;
}

/* Now-playing readout */
#nowPlay {
  border-top: 1px solid rgba(122, 31, 31, 0.4);
  border-bottom: 1px solid rgba(122, 31, 31, 0.4);
  margin: 1rem 0;
}

#nowPlay span#npAction {
  font-family: 'Special Elite', monospace;
  color: var(--xf-green);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.85rem;
  text-shadow: 0 0 10px rgba(47, 191, 113, 0.5);
}

#nowPlay span#npTitle {
  font-family: 'Special Elite', monospace;
  color: #e8dede;
}

/* Prev / next as circular buttons */
#tracks a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  line-height: 1 !important;
  font-size: 1.5rem;
  border: 1px solid #4a2a2a;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.25);
  color: #cfc3c3;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

#tracks a::selection { background: transparent; }

#tracks a:hover,
#tracks a:active {
  border-color: var(--xf-green);
  color: var(--xf-green);
  background: rgba(0, 0, 0, 0.25);
  box-shadow: 0 0 16px -4px rgba(47, 191, 113, 0.6);
}

/* Playlist as case-file entries */
#plwrap { margin-top: 0.5rem; }

#plList li {
  padding: 16px 0;
  border-bottom: 1px solid rgba(122, 31, 31, 0.18);
  transition: background 0.2s ease;
}

#plList li:hover {
  background: rgba(122, 31, 31, 0.12);
}

.plNum,
.plLength {
  font-family: 'Special Elite', monospace;
  color: #8a5a5a;
}

/* Now-playing track highlight (overrides the old yellow shadow) */
.plSel,
.plSel:hover {
  background: linear-gradient(90deg, rgba(47, 191, 113, 0.14), transparent);
  box-shadow: inset 3px 0 0 var(--xf-green);
  color: #eafff2;
  text-shadow: 0 0 8px rgba(47, 191, 113, 0.5);
}

.plSel .plNum,
.plSel .plLength {
  color: var(--xf-green);
}

/* Let Plyr's progress/volume use the accent instead of near-invisible dark */
.plyr__progress--played,
.plyr__volume--display {
  color: var(--xf-green);
}

