body {
    background-color: #0a0c14;
    color: #cbd5e1;
    font-family: 'Consolas', 'Courier New', monospace;
    margin: 0;
    padding: 20px;
}

.screen {
    max-width: 1200px;
    margin: 0 auto;
    animation: fadeIn 0.4s ease-in-out;
}
.hidden { display: none !important; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.info-content {
    max-width: 700px;
    margin: 60px auto;
    background: #111524;
    padding: 40px;
    border-radius: 12px;
    border: 1px solid #1e293b;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}
h1 { color: #00ff88; text-align: center; font-size: 2.2rem; letter-spacing: 2px; }
.subtitle { text-align: center; color: #94a3b8; font-style: italic; }
.rules { background: #0f1220; padding: 20px; border-left: 4px solid #00ff88; margin: 30px 0; border-radius: 4px; }
.rules h3 { margin-top: 0; color: #fff; }
.rules ul { padding-left: 20px; }
.rules li { margin-bottom: 10px; }

.feedback-form-box {
    margin-top: 25px;
    margin-bottom: 25px;
    background: #0f1220;
    padding: 20px;
    border: 1px dashed #334155;
    border-radius: 6px;
}
.feedback-form-box h4 { margin: 0 0 12px 0; color: #fff; text-align: left; font-size: 0.95rem; }
.feedback-row { display: flex; gap: 10px; margin-bottom: 12px; }
.feedback-row select { background: #1e293b; color: #fff; border: 1px solid #334155; padding: 8px; border-radius: 4px; font-family: inherit; font-size: 0.9rem; outline: none; }
.feedback-row input { flex: 1; background: #000; border: 1px solid #1e293b; color: #fff; padding: 8px 12px; border-radius: 4px; font-family: inherit; font-size: 0.9rem; }
.feedback-form-box button { padding: 8px 16px; font-size: 0.85rem; background: #1e293b; color: #00ff88; border-color: #00ff88; border-radius: 4px; font-weight: bold; width: auto; margin: 0 auto; display: block; }
.feedback-form-box button:hover { background: #00ff88; color: #000; }

button {
    background: #1e293b;
    color: #fff;
    border: 1px solid #334155;
    padding: 12px 24px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 6px;
    font-family: inherit;
    transition: all 0.2s;
}
button:hover { background: #00ff88; color: #000; border-color: #00ff88; }
#start-btn { width: 100%; font-size: 1.2rem; background: #00ff88; color: #0a0c14; border: none; }
#start-btn:hover { background: #00cc6e; }

.header-container { text-align: center; margin-bottom: 40px; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 25px; }
.bot-card { background: #111524; padding: 25px; border-radius: 8px; border: 1px solid #1e293b; text-align: center; display: flex; flex-direction: column; justify-content: space-between; height: 220px; }
.bot-card.hacked { border-color: #00ff88; background: #0b1a14; }
.role-desc { font-size: 0.85rem; color: #94a3b8; min-height: 40px; }

.diff-indicator { font-size: 0.8rem; font-weight: bold; padding: 3px 8px; border-radius: 4px; display: inline-block; margin: 5px auto; }
.diff-indicator.easy { background: #052e16; color: #4ade80; }
.diff-indicator.medium { background: #451a03; color: #fb923c; }
.diff-indicator.hard { background: #4c0519; color: #f43f5e; }
.diff-indicator.very, .diff-indicator.hell, .diff-indicator.abyss { background: #3b0764; color: #c084fc; border: 1px dashed #c084fc; }

.status-badge { font-size: 0.8rem; display: block; margin: 10px 0; color: #64748b; }
.bot-card.hacked .status-badge { color: #00ff88; font-weight: bold; }
.select-bot-btn { width: 100%; }

.back-btn { margin-bottom: 20px; }
.game-container { display: flex; gap: 30px; height: 600px; }
.chat-box { flex: 3; background: #111524; border-radius: 8px; border: 1px solid #1e293b; display: flex; flex-direction: column; overflow: hidden; }
.chat-header { background: #0f1220; padding: 15px 20px; border-bottom: 1px solid #1e293b; display: flex; justify-content: space-between; align-items: center; }
.messages-area { flex: 1; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 15px; background: #090b11; }

.input-area { 
    display: flex; 
    flex-direction: column; 
    background: #0f1220; 
    border-top: 1px solid #1e293b; 
    padding: 15px;         
    gap: 12px;              
}

.input-area textarea { 
    width: 100%;            
    height: 70px; 
    background: #05070f; 
    border: 1px solid #1e293b; 
    border-radius: 6px;
    color: #fff; 
    padding: 12px; 
    font-family: inherit; 
    font-size: 1rem; 
    resize: none; 
    line-height: 1.4; 
    outline: none; 
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.input-area textarea:focus {
    border-color: #00ff88;
}

.input-area button { 
    display: block;
    width: auto;        
    min-width: 160px;     
    margin: 0 auto; 
    background: #1e293b;
    color: #00ff88;
    border: 1px solid #00ff88;
    padding: 12px 24px;  
    border-radius: 6px;     
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s;
}

.input-area button:hover {
    background: #00ff88;
    color: #000;
}

.message { padding: 12px 16px; border-radius: 8px; max-width: 75%; line-height: 1.4; word-wrap: break-word; }
.user-msg { background: #1e293b; align-self: flex-end; border-bottom-right-radius: 0; border: 1px solid #334155; }
.bot-msg { background: #161b33; align-self: flex-start; border-bottom-left-radius: 0; border: 1px solid #232a50; }


.system-msg { 
    background: #022c22; 
    color: #00ff88; 
    align-self: center; 
    text-align: center; 
    font-size: 0.9rem; 
    max-width: 90%; 
    border: 1px solid #065f46; 
    margin: 10px auto; 
}

.verification-box { flex: 2; background: #141111; border: 1px solid #ef4444; padding: 25px; border-radius: 8px; display: flex; flex-direction: column; }
.verification-box input { width: calc(100% - 22px); padding: 12px; background: #000; border: 1px solid #dc2626; color: #ef4444; font-size: 1.1rem; text-align: center; letter-spacing: 2px; margin-bottom: 15px; border-radius: 4px; }
.verification-box button { width: 100%; background: #dc2626; border: none; margin-bottom: 20px; font-size: 1rem; }
.verification-box button:hover { background: #ef4444; color: #000; }

.success-box { 
    background: #064e3b; 
    border: 1px solid #059669; 
    padding: 15px; 
    border-radius: 6px; 
    color: #a7f3d0; 
    animation: fadeIn 0.3s;
    text-align: center;    
    max-width: 100%;    
    margin: 15px auto !important; 
    display: block;      
}
.success-box h4 { margin-top: 0; color: #10b981; text-align: center !important; }


.error-box { 
    background: #4c0519; 
    border: 1px solid #e11d48; 
    padding: 15px; 
    border-radius: 6px; 
    color: #fecdd3; 
    animation: fadeIn 0.3s;
    text-align: center;    
    max-width: 100%; 
    margin: 15px auto !important; 
    display: block;
}
.error-box h4 { margin-top: 0; color: #f43f5e; text-align: center !important; }

.poster-placeholder {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin: 30px auto 30px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
.poster-placeholder img {
    width: 100%;
    height: auto; 
    object-fit: normal;
    border-radius: 8px;
    display: block;
}

.bot-poster { margin-top: 50px; margin-bottom: 30px; }
.header-back { margin-bottom: 20px; display: inline-block; }

#matrix-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
}

.screen {
    background: rgba(10, 10, 18, 0.85) !important;
    backdrop-filter: blur(5px);
    border-radius: 12px;
    padding: 30px;
}


@media (max-width: 768px) {
  
    .screen {
        width: 100% !important;
        max-width: 100vw !important;
        padding: 10px !important;
        box-sizing: border-box;
    }

    .game-container {
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important; 
    }

    .chat-box, .verification-box {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .input-area {
        padding: 12px;
        gap: 10px;
    }

    .input-area textarea {
        width: 100% !important;
        height: 95px !important; 
        background: #000 !important;
        border: 1px solid #1e293b !important;
        border-radius: 6px !important;
        padding: 12px !important;
        box-sizing: border-box;
        font-size: 16px !important; 
        color: #00ff88 !important;
    }
    
    .input-area textarea:focus {
        border-color: #00ff88 !important;
    }

    .input-area button {
        width: auto !important; 
        min-width: 160px !important;
        margin: 0 auto !important;
        padding: 14px 28px !important;
        border-radius: 6px !important;
    }
    
    .feedback-row {
        flex-direction: column;
    }

    .poster-placeholder img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
    }
}