body {
    background-color: #0a0a0a;
    color: #e0e0e0;
    font-family: 'Courier New', monospace;
    line-height: 1.8;
    padding: 40px 20px;
    max-width: 800px;
    margin: 0 auto;
}

h1 {
    text-align: center;
    font-size: 3em;
    font-weight: 100;
    letter-spacing: 0.3em;
    margin-bottom: 0.2em;
    color: #ffffff;
    text-transform: uppercase;
}

h1::-moz-selection {
    color: #0a0a0a;
    background: #ffffff;
}

h1::selection {
    color: #0a0a0a;
    background: #ffffff;
}

h2 {
    text-align: center;
    font-size: 1.5em;
    font-weight: 100;
    letter-spacing: 0.2em;
    margin-bottom: 3em;
    color: #888888;
}

h2::-moz-selection {
    color: #0a0a0a;
    background: #888888;
}

h2::selection {
    color: #0a0a0a;
    background: #888888;
}

.dialogue {
    margin: 1.5em 0;
    font-size: 1.1em;
}

.kira {
    text-align: left;
    color: #ff6b6b;
    margin-left: 0;
}

.kira::-moz-selection {
    color: #4c2020;
    background: #994040;
}

.kira::selection {
    color: #4c2020;
    background: #994040;
}

.you {
    text-align: right;
    color: #4ecdc4;
    margin-left: 0;
    margin-right: 0;
}

.you::-moz-selection {
    color: #173d3a;
    background: #2e7b75;
}

.you::selection {
    color: #173d3a;
    background: #2e7b75;
}

.felix {
    text-align: left;
    color: #ffe66d;
    margin-left: 10%;
}

.felix::-moz-selection {
    color: #4c4520;
    background: #998a41;
}

.felix::selection {
    color: #4c4520;
    background: #998a41;
}

.marcy {
    text-align: left;
    color: #a8e6cf;
    margin-left: 10%;
}

.marcy::-moz-selection {
    color: #32453e;
    background: #648a7c;
}

.marcy::selection {
    color: #32453e;
    background: #648a7c;
}

.chen {
    text-align: left;
    color: #ff8b94;
    margin-left: 10%;
}

.chen::-moz-selection {
    color: #4c292c;
    background: #995358;
}

.chen::selection {
    color: #4c292c;
    background: #995358;
}

.jin {
    text-align: left;
    color: #c7ceea;
    margin-left: 10%;
}

.jin::-moz-selection {
    color: #3b3d46;
    background: #777b8c;
}

.jin::selection {
    color: #3b3d46;
    background: #777b8c;
}

.thought {
    text-align: center;
    font-style: italic;
    color: #666666;
    margin: 2em 15%;
    font-size: 0.95em;
    line-height: 1.6;
}

.thought::-moz-selection {
    color: #999999;
    background: #303030;
}

.thought::selection {
    color: #999999;
    background: #303030;
}

.silence {
    text-align: center;
    color: #333333;
    margin: 3em 0;
    font-size: 0.9em;
    letter-spacing: 0.5em;
}

.silence::-moz-selection {
    color: #cccccc;
    background: #181818;
}

.silence::selection {
    color: #cccccc;
    background: #181818;
}

.sound {
    text-align: center;
    color: #444444;
    margin: 2em 0;
    font-size: 0.85em;
    letter-spacing: 0.3em;
    text-transform: lowercase;
}

.sound::-moz-selection {
    color: #bbbbbb;
    background: #242424;
}

.sound::selection {
    color: #bbbbbb;
    background: #242424;
}

.break {
    text-align: center;
    color: #222222;
    margin: 4em 0;
    font-size: 2em;
    letter-spacing: 1em;
}

.break::-moz-selection {
    color: #dddddd;
    background: #181818;
}

.break::selection {
    color: #dddddd;
    background: #181818;
}

.timestamp {
    text-align: center;
    color: #888888;
    font-size: 0.9em;
    margin: 2em 0;
    letter-spacing: 0.2em;
}

.timestamp::-moz-selection {
    color: #777777;
    background: #505050;
}

.timestamp::selection {
    color: #777777;
    background: #505050;
}

.fade {
    opacity: 0.5;
}

.emphasis {
    color: #ffffff;
    font-weight: bold;
}

/* Radio effect for team communication */
.radio {
    border-left: 2px solid #444444;
    padding-left: 20px;
    margin-left: 5%;
    background: linear-gradient(to right, #111111 0%, transparent 10%);
}

/* Heartbeat effect for tense moments */
@keyframes pulse {
    0% {
        opacity: 0.6;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.6;
    }
}

.pulse {
    animation: pulse 2s infinite;
}