* { box-sizing: border-box; }
body, html { margin: 0; padding: 0; min-height: 100vh; font-family: 'Segoe UI', sans-serif; }
        
body { display: flex; flex-direction: column; background-color: #f4f4f4; color: #333; }

/* HEADER */
header { 
    background: linear-gradient(135deg, #007bff, #4c016e); 
    color: white; 
    padding: 40px 20px; 
    text-align: center; 
}
header h1 { margin: 0; font-size: 2.2rem; }
header p { margin: 10px 0 0; font-size: 1.1rem; opacity: 0.9; }

.bar { background-color: #333; height: 10px; width: 100%; }

/* GŁÓWNY KONTENER */
.main-container {
    display: flex;
    flex-wrap: wrap;
    min-height: 0;
}

/* LEWA KOLUMNA - Teraz stała i węższa */
.lcol {
    flex: 0 0 220px;
    background-color: #faebd7;
    padding: 30px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.lcol img { 
    width: 100%; 
    max-width: 250px; 
    border-radius: 20px; 
    box-shadow: 0 10px 20px rgba(0,0,0,0.1); 
}
.lcol a { 
    margin-top: 20px; 
    padding: 12px 25px; 
    background: #4c016e; 
    color: white; 
    text-decoration: none; 
    border-radius: 25px; 
    font-weight: bold; 
}

/* PRAWA KOLUMNA */
.rcol {
    flex: 1;
    background-color: #f5f5dc;
    padding: 30px;
    color: #4c016e;
}

/* RESPONSYWNOŚĆ DLA TELEFONU */
@media (max-width: 600px) {
    .lcol {
        flex: 1 1 100%;
        padding: 20px;
    }
    .rcol {
        padding: 20px;
    }
}
.rcol pre { 
    background: rgba(255,255,255,0.5); 
    padding: 20px; 
    border-radius: 15px; 
    white-space: pre-wrap; 
    font-family: inherit; 
    font-size: 1.1rem; 
    line-height: 1.6; 
    border-left: 5px solid #4c016e;
}

@media (max-width: 600px) {
    .rcol { padding: 20px; }
    header h1 { font-size: 1.7rem; }
}
