html, body {
    min-height: 100%;
    height: auto;
}

html {
    color: #000;
    font: 16px Helvetica, Arial, sans-serif;
    line-height: 1.2;
    background: #FFF;
}

.body--block {
    margin: 20px;
}

.body--flex {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 100vh;
}

.user-select-none {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.user-select-all {
    -webkit-touch-callout: all;
    -webkit-user-select: all;
    -moz-user-select: all;
    -ms-user-select: all;
    user-select: all;
}

main {
    background: none;
    display: block;
    padding: 0;
    margin: 0;
    border: 0;
    width: 470px;
}

.body--block main {
    margin: 0 auto;
}

@media (min-width: 768px) {
    body {
        background: #3498db;
        background: linear-gradient(to bottom, #3498db 0%, #8e44ad 100%);
        background-attachment: fixed;
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3498db", endColorstr="#8e44ad", GradientType=0);
    }

    main {
        padding: 20px;
    }
}

.main--stack {
    width: 100%;
    max-width: 900px;
}

.hr {
    display: block;
    height: 1px;
    color: transparent;
    background: transparent;
    margin-bottom: -1px;
}

.hr>span {
    opacity: 0;
    line-height: 0;
}

.main--stack hr:last-of-type {
    margin-bottom: 0;
}

.title {
    font-weight: 700;
    margin-bottom: 5px;
}

.title--scream {
    font-size: 2.25em;
    margin-bottom: 0;
}

.title--scream span {
    font-size: 0.667em;
    font-weight: 400;
}

.title--scream span::before {
    white-space: pre;
    content: "\A";
}

.hide {
    width: 0;
    height: 0;
    opacity: 0;
}

.title>.hide {
    display: block;
    float: left;
}

.content code,
.pre {
    padding: 1px 4px;
    background-color: hsl(192, 15.2%, 93.5%);
    border: 1px solid hsl(204, 8.2%, 76.1%);
    font-size: 0.9em;
    font-family: "Fira Code Retina", "Operator Mono", Inconsolata, Consolas,
        monospace, sans-serif;
    line-height: 1;
}

.pre {
    overflow: auto;
    word-wrap: break-word;
    white-space: pre-line;
    display: block;
    margin: 0;
    padding: 10px;
    border: 1px solid hsl(192, 15%, 84%);
    word-break: break-all;
}

.pre.pre--stack-entry {
    border: 0;
    color: #ecf0f1;
    background: hsl(210, 29%, 24%);
    line-height: normal;
}

.pre.pre--stack-entry.entry--even {
    background: hsl(210, 29%, 29%);
}

main>div {
    padding: 20px;
    background: #fff;
}

main>div,
main>div>* {
    word-break: break-word;
    white-space: normal;
}

@media (min-width: 768px) {
    main>div {
        box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.09);
        border-radius: 0.2857em;
    }
}

main>div> :first-child {
    margin-top: 0;
}

main>div> :last-child {
    margin-bottom: 0;
}

.note {
    margin: 1em 0;
}

.backtrace {
    min-height: 3.375em;
    max-height: -webkit-max-content;
    max-height: -moz-max-content;
    max-height: max-content;
    resize: vertical;
    overflow: auto;
}

.backtrace .hr:last-child {
    display: none;
}
