@font-face {
    font-family: oxygen mono;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/oxygen-mono-v7-latin-ext_latin-regular.eot);
    src: local('Oxygen Mono'),local('OxygenMono-Regular'),url(../fonts/oxygen-mono-v7-latin-ext_latin-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/oxygen-mono-v7-latin-ext_latin-regular.woff2) format('woff2'),url(../fonts/oxygen-mono-v7-latin-ext_latin-regular.woff) format('woff'),url(../fonts/oxygen-mono-v7-latin-ext_latin-regular.ttf) format('truetype'),url(../fonts/oxygen-mono-v7-latin-ext_latin-regular.svg#OxygenMono) format('svg')
}

button,hr,input {
    overflow: visible
}

audio,canvas,progress,video {
    display: inline-block
}

progress,sub,sup {
    vertical-align: baseline
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

menu,article,aside,details,footer,header,nav,section {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

figcaption,figure,main {
    display: block
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

code,kbd,pre,samp {
    font-family: monospace,monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:active,a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

audio:not([controls]) {
    display: none;
    height: 0
}

img {
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

button,input,optgroup,select,textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,select {
    text-transform: none
}

[type=submit],[type=reset],button,html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring {
    outline: ButtonText dotted 1px
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

[type=checkbox],[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

[hidden],template {
    display: none
}

@keyframes scan {
    0% {
        background-position: 0 -100vh
    }

    35%,100% {
        background-position: 0 100vh
    }
}

@keyframes cursor-blink {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

html,body {
    min-height: 100vh
}

body {
    box-sizing: border-box;
    height: 100vh;
    background-color: #000;
    background-image: radial-gradient(#11581E,#041607);
    background-repeat: no-repeat;
    background-size: cover;
    font-family: oxygen mono,monospace;
    font-size: 15px;
    color: rgba(128,255,128,.8);
    text-shadow: 0 0 1ex #3f3,0 0 2px rgba(255,255,255,.8)
}

.noise {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(../img/static.gif);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
    opacity: .015
}

.overlay {
    pointer-events: none;
    position: absolute;
    width: 100vw;
    height: 100vh;
    background: repeating-linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.5) 50%,rgba(0,0,0,0) 100%);
    background-size: auto 4px;
    z-index: 1
}

.overlay::before {
    content: "";
    pointer-events: none;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background-image: linear-gradient(0deg,transparent 0%,rgba(32,128,32,.2) 2%,rgba(32,128,32,.8) 3%,rgba(32,128,32,.2) 3%,transparent 100%);
    background-repeat: no-repeat;
    animation: scan 7.5s linear 0s infinite
}

.terminal {
    box-sizing: inherit;
    position: absolute;
    width: 100vw;
    height: 100vh;
    padding: 2rem;
    text-transform: uppercase
}

.output {
    white-space: pre;
    margin: .85rem 0;
    color: rgba(128,255,128,.8);
    text-shadow: 0 0 1px rgba(51,255,51,.4),0 0 2px rgba(255,255,255,.8)
}

.output::before {
    content: "> ";
    opacity: .5
}

.output:first-of-type {
    margin-top: 0
}

a {
    color: rgba(255,255,255,.6);
    text-decoration: none
}

a:hover {
    color: #fff
}

a::before {
    content: "["
}

a::after {
    content: "]"
}

.terminal>.output:last-child:after {
    display: inline-block;
    vertical-align: -.15em;
    width: .75em;
    height: 1em;
    margin-left: 5px;
    background: #80ff80;
    box-shadow: 1px 1px 1px rgba(128,255,128,.8),-1px -1px 1px rgba(128,255,128,.8),1px -1px 1px rgba(128,255,128,.8),-1px 1px 1px rgba(128,255,128,.8);
    animation: cursor-blink 1.2s steps(1) infinite;
    content: ''
}

.terminal>.output:last-child:empty:after {
    margin-left: 2px
}

.terminal.typing>.output:last-child:after {
    animation: none
}

::selection {
    background: #0b5016
}

::-moz-selection {
    background: #0b5016
}
