body { 
    background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('scbackground.gif');
    background-size: cover; background-attachment: fixed; background-position: center;
    background-color: #050505; display: flex; flex-direction: column; align-items: center; 
    margin: 0; padding: 20px; font-family: 'IM Fell DW Pica', serif; color: #ccc; 
    transition: background 0.5s ease;
}
.rank-survivor { border-color: #aaa !important; box-shadow: 0 0 15px rgba(255,255,255,0.2) !important; }
.rank-associate { border-color: #d4af37 !important; box-shadow: 0 0 20px rgba(212, 175, 55, 0.4) !important; }
.rank-legend { border-color: #ff0000 !important; box-shadow: 0 0 30px rgba(255, 0, 0, 0.6) !important; background: rgba(20, 0, 0, 0.95) !important; }

#login-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.95); z-index: 10000;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.login-box {
    background: #080808; border: 2px solid #b00000; padding: 40px;
    text-align: center; box-shadow: 0 0 30px rgba(176, 0, 0, 0.5);
}
.login-box h2 { font-family: 'Metal Mania', cursive; color: #b00000; font-size: 3rem; margin-top: 0; }
.login-box input { 
    background: #000; border: 1px solid #4a0000; color: #b00000; 
    padding: 10px; font-family: 'Special Elite', cursive; width: 250px; text-align: center;
}
.login-box button {
    background: #b00000; color: #fff; border: none; padding: 10px 20px;
    margin-top: 20px; cursor: pointer; font-family: 'Special Elite', cursive;
}

.kill-feed {
    width: 95%; max-width: 900px; height: 100px;
    background: rgba(0, 0, 0, 0.9); border: 1px solid #4a0000;
    margin: 20px auto; padding: 15px;
    font-family: 'Courier New', monospace; font-size: 13px;
    overflow: hidden; position: relative;
    box-shadow: inset 0 0 15px rgba(176, 0, 0, 0.2); 
    display: flex; flex-direction: column-reverse;
    z-index: 100; transition: all 0.5s;
}
.log-entry { color: #888; margin-bottom: 5px; border-left: 3px solid #b00000; padding-left: 10px; animation: bleedIn 0.4s ease-out; }
.log-rank { font-size: 10px; color: #666; margin-right: 5px; text-transform: uppercase; }
@keyframes bleedIn { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }

.frenzy-active { background-color: #600 !important; animation: tremor 0.2s infinite; }
@keyframes tremor { 0% { transform: translate(0,0); } 50% { transform: translate(1px, -1px); } 100% { transform: translate(-1px, 1px); } }

.container { width: 100%; max-width: 1200px; } 
.lights-toggle {
    position: fixed; top: 20px; right: 20px; z-index: 9999;
    background: rgba(0, 0, 0, 0.9); color: #b00000; border: 1px solid #4a0000;
    padding: 10px 15px; font-family: 'Special Elite', cursive; font-size: 11px;
    text-transform: uppercase; cursor: pointer; letter-spacing: 2px;
    box-shadow: 0 0 10px rgba(176, 0, 0, 0.3); transition: all 0.3s;
}
.header-box { text-align: center; margin-bottom: 20px; position: relative; padding-top: 20px; transition: opacity 0.6s; }
.welcome-text {
    display: block; font-family: 'Special Elite', cursive; font-size: 1.8rem;
    text-transform: uppercase; margin-bottom: -5px; letter-spacing: 5px;
    background: linear-gradient(#a67c52, #5c3c1e); -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; filter: drop-shadow(2px 2px 2px #000);
    position: relative; z-index: 3;
}
h1 { font-family: 'Metal Mania', cursive; font-size: 5rem; color: #b00000; margin: 0; position: relative; z-index: 2; letter-spacing: 2px; text-shadow: 2px 2px 4px #000; }
.blood-underneath { display: block; margin: -15px auto 10px auto; width: 500px; height: auto; position: relative; z-index: 1; filter: drop-shadow(0 0 10px #4a0000); opacity: 0.9; }

.sub-header { transition: opacity 0.6s; text-align: center; margin-bottom: 20px; }
.chaos-wrap { width: 400px; margin: 0 auto 20px auto; text-align: center; transition: opacity 0.6s; }
.chaos-meter { width: 100%; background: #000; border: 1px solid #b00000; height: 12px; overflow: hidden; margin-top: 5px; box-shadow: inset 0 0 5px #000; }
#chaos-fill { width: 0%; height: 100%; background: linear-gradient(90deg, #600, #f00); box-shadow: 0 0 15px #f00; transition: width 0.3s ease-out; }
.chaos-label { font-family: 'Special Elite', cursive; font-size: 11px; color: #b00000; letter-spacing: 2px; text-transform: uppercase; }

.cinema-layout { 
    display: flex; flex-direction: row; justify-content: center; gap: 15px; 
    flex-wrap: wrap; margin-top: 20px; position: relative; z-index: 10;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.video-box { 
    flex: 2.5; min-width: 320px; border: 2px solid #4a0000; background: #000; 
    box-shadow: 0 0 15px rgba(176, 0, 0, 0.2); position: relative; padding-top: 42.18%; height: 0;
    transition: all 0.6s ease;
}
.video-box iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.chat-box { flex: 1; min-width: 300px; max-width: 350px; border: 2px solid #4a0000; background: rgba(0,0,0,0.8); display: flex; transition: all 0.6s ease; }

.control-center { 
    width: 95%; max-width: 900px; margin: 40px auto 20px auto; 
    border: 1px solid #4a0000; background: rgba(8, 8, 8, 0.95); padding: 25px; 
    box-shadow: 0 0 20px rgba(0,0,0,0.5); transition: opacity 0.6s, transform 0.6s;
}
.status-line { font-family: 'Special Elite', cursive; color: #b00000; font-size: 14px; margin-bottom: 20px; text-align: center; border-bottom: 1px solid #333; padding-bottom: 10px; letter-spacing: 1px; }

.field-guide { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; font-size: 13px; font-family: 'Special Elite', cursive; color: #777; border: 1px solid #300; padding: 15px; margin-bottom: 20px; background: rgba(15,0,0,0.5); }
.field-guide b { color: #b00000; font-size: 14px; text-decoration: underline; }

.sound-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.sound-btn { 
    background: #000; color: #b00000; border: 1px solid #4a0000; 
    padding: 12px 5px; cursor: pointer; font-family: 'IM Fell DW Pica', serif;
    font-size: 11px; text-transform: uppercase; transition: all 0.1s;
    box-shadow: 0 4px 0 #300;
}
.sound-btn:hover:not(:disabled) {
    background: #0a0a0a; border-color: #b00000;
    box-shadow: 0 4px 10px rgba(176, 0, 0, 0.4), 0 4px 0 #300;
    transform: translateY(-1px);
}
.sound-btn:active:not(:disabled) { transform: translateY(3px); box-shadow: 0 1px 0 #300; background: #b00000; color: #000; }
.sound-btn:disabled { opacity: 0.2; cursor: not-allowed; }

.tts-zone { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #333; }
input#tts-input { background: #000; color: #b00000; border: 1px solid #4a0000; padding: 10px; width: 70%; font-family: 'Courier New', monospace; }
#tts-btn { background: #4a0000; color: #fff; border: none; padding: 0 20px; cursor: pointer; font-weight: bold; }
#unlock-btn { background: #b00000; color: #fff; border: none; padding: 10px 40px; cursor: pointer; font-family: 'IM Fell DW Pica', serif; font-size: 1.2rem; letter-spacing: 2px; }

.disclaimer-box {
    font-family: 'Arial', sans-serif; color: #555; background: transparent; padding: 15px;
    font-size: 10px; text-align: center; line-height: 1.4; margin-top: 10px;
    max-width: 700px; opacity: 0.7; transition: opacity 0.6s;
}

#slasher-stim {
    position: fixed;
    top: 250px;
    left: 20px;
    z-index: 10001;
    background: #080808;
    border: 2px solid #4a0000;
    width: 150px;
    height: 130px;
    box-shadow: 0 0 20px rgba(176, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#stim-handle {
    background: #4a0000;
    color: #fff;
    font-family: 'Special Elite', cursive;
    font-size: 10px;
    padding: 5px;
    text-align: center;
    cursor: grab;
    user-select: none;
    border-bottom: 1px solid #b00000;
}

#stim-hit-zone {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Metal Mania', cursive;
    font-size: 14px;
    color: #b00000;
    cursor: crosshair;
    position: relative;
    background: radial-gradient(circle, #1a0000 0%, #000 100%);
}

.slash-mark {
    position: absolute;
    width: 60px;
    height: 4px;
    background: #ff0000;
    box-shadow: 0 0 10px #ff0000;
    pointer-events: none;
    transform-origin: center;
    animation: slash-fade 0.4s ease-out forwards;
}

@keyframes slash-fade {
    0% { transform: scaleX(0) rotate(-45deg); opacity: 1; }
    50% { transform: scaleX(1.2) rotate(-45deg); opacity: 0.8; }
    100% { transform: scaleX(1.5) rotate(-45deg); opacity: 0; filter: blur(2px); }
}
.dimmed .header-box > *:not(.cinema-layout), .dimmed .disclaimer-box, .dimmed .sub-header, .dimmed .chaos-wrap, .dimmed .kill-feed { opacity: 0.05; pointer-events: none; }
.dimmed .control-center { opacity: 0.2; transform: translateY(20px); }
.dimmed .control-center:hover { opacity: 1; transform: translateY(0); }
.dimmed .cinema-layout { transform: scale(1.05); }
.dimmed .video-box, .dimmed .chat-box { border-color: #b00000; box-shadow: 0 10px 50px rgba(0,0,0,1), 0 0 30px rgba(176, 0, 0, 0.4); }